Sut i adfer gweinydd VPN heb ddyblygu hunaniaethau
Mae gweinydd VPN wedi’i adfer yn dychwelyd ffeiliau, nid y mynediad cyfredol. Cysylltwch y dirymiadau, allweddi cymheiriaid a’r pwyntiau terfyn cyn i ail gopi ateb ysgwyd llaw.
Gwnaethoch adfer y copi wrth gefn, cychwynnodd y gwasanaeth, a chysylltodd cleient ar yr ymgais gyntaf. Y llwyddiant hwnnw yw’r fagl. Mae adferiad yn dychwelyd y ffeiliau a oedd gan y gweinydd ar adeg y ciplun, nid y cyflwr mynediad sydd wedi newid ers hynny, ac os yw’r hen bwynt terfyn yn dal yn gyrraeddadwy mae gennych nawr ddwy beiriant yn ateb un hunaniaeth. Nid y ateb yw copi gwell; y ateb yw penderfynu beth y caniateir i’r gwesteiwr adferedig fod cyn iddo ateb un ysgwyd llaw.
Mae copi wrth gefn yn dychwelyd ffeiliau, nid awdurdod
Mae’r ciplun yn dal cyfluniad y gweinydd, y allweddi preifat, yr awdurdod tystysgrifau, y rhestr cymheiriaid a’r rheolau mur rhyw fel yr oeddent pan redodd y copi. Ni all ddal yr hyn a newidiodd wedyn: y ddyfais a ddirymwyd gennych, yr allwedd a ailosodwyd gennych, y cymheir a dynnwyd gennych pan werthwyd gliniadur, y is-rwydwaith a symudwyd gennych. Mae adfer yn ail-gyfeirio’r ffeiliau i’r munud hwnnw. Nid yw’n ail-gyfeirio’r penderfyniadau a wnaed gan bobl ers hynny.
O’r bwlch hwnnw y daw’r niwed. Mae gliniadur wedi’i ddwyn a ddirymwyd bythefnos ar ôl y copi yn cyflwyno tystysgrif sy’n dal i ddilysu yn erbyn yr CRL hŷn yn y goeden adferedig, ac mae’r gweinydd yn derbyn dyfais a ymddeolwyd gennych. Mae WireGuard yn fwy blaen: mae cymheir yn cael ei awdurdodi drwy gael ei restru, felly mae cymheir a ddilëwyd ar ôl y ciplun yn syml yn bresennol eto. Ni chymeradwyodd neb y mynediad hwnnw eto. Gwnaeth yr hen ffeil.
Mae hunaniaeth y gweinydd a hunaniaeth y cleient yn methu mewn ffyrdd gwahanol
Ar WireGuard hunaniaeth y gweinydd yw’r allwedd breifat yn wg0.conf, felly mae copïo’r ffeil honno i ail westeiwr cyrraeddadwy yn creu dau weinydd â’r un hunaniaeth heb wybod am ei gilydd. Mae pob un yn cadw ei restr cymheiriaid ei hun. Tynnwch gymheir ar y gwesteiwr newydd ac mae’r hen un yn dal i’w dderbyn; gwiriwch wg show ar un ac fe welwch hanner y gwir. Nid yw cleientiaid yn cymryd drosodd eu hunain chwaith: mae proffil yn cario un Endpoint, felly mae dyfais yn parhau i siarad â’r cyfeiriad y cafodd ei ffurfweddu ag ef, a allai fod y gwesteiwr y bwriedid ei ymddeol.
OpenVPN yn dyblygu ar yr un haen gyda thystysgrif gweinydd, ei allwedd breifat a’r allwedd statig tls-auth neu tls-crypt. Copïwch y tri ac ni all cleient wahaniaethu’r achosion; os yw’r ddau yn gyrraeddadwy gall ailgysylltiad lanio ar y naill neu’r llall, ac mae pob ffeil log yn adrodd stori rannol. Yr awdurdod tystysgrifau yw’r copi dyfnach. Mae coeden easy-rsa adferedig yn ail ffynhonnell wir sy’n gallu cyhoeddi tystysgrif ddilys ar gyfer unrhyw enw a roddwch iddi.
Mae cleientiaid yn cael eu dyblygu hefyd, fel arfer yn ystod y mudo ei hun. Mae copïo proffil i ddyfais sbâr «dim ond i brofi» yn cynhyrchu ail ddyfais â’r un allwedd a’r un enw cyffredin. Gyda duplicate-cn gall y ddau sesiwn aros i fyny ar unwaith, a gall aseiniad cyfeiriad statig yn ccd neu ifconfig-pool-persist wrthdaro â’r ddyfais wreiddiol. Mae hynny’n ddwy beiriant yn gwisgo un hunaniaeth, ac nid oes dim yng nghyfluniad y gweinydd yn eu gwahaniaethu.
Dewiswch un o dri chyflwr ar gyfer yr hen bwynt terfyn
Nid yw adferiad yn ddiogel nes penderfynir tynged yr hen bwynt terfyn. Ymddeolwch ef: rhaid i’r hen wasanaeth roi’r gorau i dderbyn porth VPN cyn i’r gwesteiwr newydd gychwyn, ac os na allwch gyrraedd y peiriant, blocïwch y porth hwnnw ar ymyl y rhwydwaith ar gyfer popeth ac eithrio eich ffynhonnell weinyddol. Trwsiwch yr un gwesteiwr: mae ailddefnyddio’r hunaniaeth yn iawn oherwydd un peiriant sy’n ei dal, ond dinistriwch y copi disg neu giplun VM o’r hen allwedd wedyn fel na all ddychwelyd. Adeiladwch bâr argaeledd: mae angen hunaniaethau gwesteiwr gwahanol ar ddau westeiwr ynghyd ag un pwynt terfyn a rennir, megis cyfeiriad arnofiol, cydbwyso llwyth, neu DNS y gallwch ei symud. Nid yw copïo’r allwedd breifat yn ddyluniad failover; mae’n ddau weinydd yn hawlio un enw.
Cadarnhewch ym mha gyflwr yr ydych mewn gwirionedd cyn cyffwrdd cleientiaid. Yr hen westeiwr sy’n ateb ar borth VPN yw’r un a fydd yn derbyn y ddyfais ddirymedig, hyd yn oed os yw DNS wedi symud. Gwiriwch y gwrandawyr a’r allwedd gyhoeddus:
ss -lunp | grep -E ':51820|:1194'
wg show wg0
wg pubkey < /etc/wireguard/server.key
Cysylltwch gymheiriaid, dirymiadau a chyfeiriadau yn gyntaf
Rhestrwch yr hyn y mae’r adferiad yn ei honni yn erbyn yr hyn sydd wedi’i awdurdodi ar hyn o bryd. Ar WireGuard mae wg show wg0 yn rhoi allwedd, pwynt terfyn, ysgwyd llaw diweddaraf a chownteri trosglwyddo pob cymheir, sy’n ddigon i sylwi ar ddyfais nad ydych yn berchen arni mwyach. Tynnwch ef yn fyw gyda wg set wg0 peer <key> remove, yna golygwch y cyfluniad hefyd, neu bydd y cymheir yn dychwelyd ar y cychwyn nesaf. Mae wg show wg0 allowed-ips yn datgelu’r ail broblem: dau gymheir ar un cyfeiriad, neu gyfeiriad yr ydych eisoes wedi’i ailddyrannu.
Ar OpenVPN, mae’r rhestr ddirymu yn ffeil â dyddiad, ac mae adferiad yn gallu dod ag un hen yn ôl. Gwiriwch hi cyn i gleientiaid gysylltu:
openssl crl -in /etc/openvpn/crl.pem -noout -lastupdate -nextupdate
grep -E 'crl-verify|reneg-sec' /etc/openvpn/server.conf
Os yw’r diweddariad olaf yn rhagflaenu’r dirymiad, mae’r gweinydd yn dal i anrhydeddu tystysgrif a ddirymwyd gennych. Mae OpenVPN 2.4 a diweddarach yn ail-ddarllen y ffeil CRL ar gyfer pob cysylltiad newydd, felly mae disodli’r ffeil yn atal sesiynau newydd, ond mae twneli sefydledig yn parhau tan ail-gytuno; y rhagosodiad reneg-sec yw 3600 eiliad, a’i ostwng neu ailgychwyn y gwasanaeth sy’n rhoi’r newid i chi nawr. Efallai na fydd adeiladau hŷn yn codi’r ffeil mor ddibynadwy, felly ailgychwynnwch pan na allwch gadarnhau ymddygiad y fersiwn. Mae llawlyfr wg(8) yn ymdrin â dileu cymheir a chystrawen allowed-ips a ddefnyddir uchod.
Cliriwch aseiniadau statig hefyd ar gyfer dyfeisiau nad ydynt yn bodoli mwyach. Mae ailddefnyddio cyfeiriad dyfais ymddeoledig ar gyfer un newydd tra bod yr hen broffil yn dal wedi’i osod yn creu’n union y dyblygiad yr ydych yn ceisio’i osgoi.
Gwiriwch gyda chleient a ddirymwyd gennych
Rhedwch y gwiriadau mewn trefn, o rwydwaith y tu allan i’r twnnel. Yn gyntaf mae dyfais awdurdodedig yn cysylltu, yn datrys DNS drwy’r resolver a wthiwyd ac yn cyrraedd adnodd preifat. Yna rhaid i’r ddyfais ddirymedig fethu, gan ddefnyddio ei phroffil presennol yn hytrach nag un newydd. Yna rhowch gynnig ar yr hen bwynt terfyn o’r tu allan: os yw’r porth VPN yn dal i gwblhau ysgwyd llaw, mae’r hen westeiwr yn fyw ac mae’r dyblygiad yn real, nid yn ddamcaniaethol.
Ailgychwynnwch y gwesteiwr adferedig ac ailadroddwch y gwiriadau awdurdodedig a dirymedig, oherwydd dyna pryd mae’r ffeil gyfluniad yn curo’r hyn a newidiasoch yn ystod rhedeg. Cymharwch allwedd gyhoeddus neu ôl troed tystysgrif y gwesteiwr â’r un a ddefnyddiodd y peiriant ymddeoledig. Mae ôl troed yn cyfateb ar ddwy beiriant byw yn golygu bod yr adferiad wedi clonio’r hunaniaeth; mae ôl troed yn cyfateb ar un peiriant yn iawn. Cofnodwch y fersiynau adferedig, ôl troed yr allweddi a’r rhif cyfresol neu allwedd cymheir a ddirymwyd, yna cymerwch y copi nesaf ar ôl y cysoni hwn, fel ei fod yn cynrychioli’r gwasanaeth fel y mae nawr. Nid y prawf sy’n gweithio yw bod cleient yn cysylltu. Y prawf yw bod y cleient a dynnwyd gennych yn aros allan tra mae’r hen bwynt terfyn yn aros ar gau.