Hoe't jo in VPN-tsjinner werstelle sûnder identiteiten te duplisearjen
In werstelde VPN-tsjinner bringt bestannen werom, net aktuele tagong. Ferlykje ynlûken, peer-kaaien en einpunten foardat in twadde kopy in hânskud beändert.
Jo hawwe de reservekopy wersteld, de tsjinst starte, en in klant ferbûn by de earste besykjen. Dat sukses is de falstrik. In werstelling bringt de bestannen werom dy't de tsjinner hie op it stuit fan de momentopname, net de tagongstastân dy't sûnt feroare is, en as it âlde einpunt noch berikber is hawwe jo no twa masines dy't op ien identiteit antwurdzje. De oplossing is gjin bettere reservekopy; it is beslute wat de werstelde host wêze mei foardat dy ien hânskud beänderet.
In reservekopy bringt bestannen werom, gjin gesach
De momentopname hâldt de tsjinnerkonfiguraasje, de privee kaaien, de sertifikaatautoriteit, de peer-list en de firewallregels sa't dy wiene doe't de kopy rûn. It kin net hâlde wat dêrnei feroare: it apparaat dat jo ynlutsen, de kaai dy't jo opnij útjûn, de peer dy't jo fuorthellen doe't in laptop ferkocht waard, it subnet dat jo ferpleatsten. Werstellen draait de bestannen werom nei dat stuit. It draait de besluten dy't minsken sûnt nommen hawwe net werom.
De skea komt krekt út dat gat. In stellen laptop dy't twa wiken nei de kopy ynlutsen waard, jout in sertifikaat dat noch ferifiearret tsjin de âldere CRL yn 'e werstelde beam, en de tsjinner akseptearret in apparaat dat jo ôftanke hawwe. WireGuard is rjochter: in peer is autorisearre troch der te stean, dat in peer dy't nei de momentopname wiske is, is gewoan wer oanwêzich. Nimmen hat dy tagong opnij goedkard. It âlde bestân die it.
Tsjinneridentiteit en klantidentiteit mislearje op ferskillende manieren
By WireGuard is de identiteit fan de tsjinner de priveekaai yn wg0.conf, dus it kopiearjen fan dat bestân nei in twadde berikbere host makket twa tsjinners mei deselde identiteit en sûnder kennis fan elkoar. Elkenien hâldt syn eigen peer-list. Helje in peer fuort op de nije host en de âlde akseptearret him noch; kontrolearje wg show op ien en jo sjogge de helte fan de wierheid. Klanten wikselje ek net fansels: in profyl draacht ien Endpoint, dus in apparaat bliuwt prate mei it adres dêr't it foar konfigurearre is, wat de host wêze kin dy't jo ôftankje woenen.
OpenVPN duplisearret op deselde laach mei in tsjinnersertifikaat, syn priveekaai en de statyske kaai tls-auth of tls-crypt. Kopiearje alle trije en in klant kin de eksimplaren net ûnderskiede; as beide berikber binne, kin in werferbining op ien fan beide lânje, en elk logbestân fertelt in heal ferhaal. De sertifikaatautoriteit is de djippere kopy. In werstelde easy-rsa-beam is in twadde boarne fan wierheid dy't in jildich sertifikaat ôfjaan kin foar elke namme dy't jo him jouwe.
Klanten wurde ek duplisearre, meastentiids by de migraasje sels. It kopiearjen fan in profyl nei in reserve-apparaat «krekt om te testen» produsearret in twadde apparaat mei deselde kaai en deselde mienskiplike namme. Mei duplicate-cn kinne beide sesjes tagelyk oan bliuwe, en in statyske adrestawizing yn ccd of ifconfig-pool-persist kin botsen mei it orizjinele apparaat. Dat binne twa masines mei ien identiteit, en neat yn 'e tsjinnerkonfiguraasje ûnderskiedt se.
Kies ien fan trije tastannen foar it âlde einpunt
In werstelling is pas feilich as it lot fan it âlde einpunt besletten is. Tankje it ôf: de âlde tsjinst moat ophâlde de VPN-poarte te akseptearjen foardat de nije host start, en as jo de masine net berikke kinne, blokkearje dy poarte oan 'e râne fan it netwurk foar alles behalve jo bestjoerlike boarne. Reparearje deselde host: de identiteit wer brûke is goed om't ien masine him hâldt, mar ferneatigje dêrnei de skiifkopy of VM-momentopname fan 'e âlde kaai sadat dy net weromkomme kin. Bou in beskikberheidspaar: twa hosts hawwe ferskillende hostidentiteiten nedich plus ien dielde einpunt, lykas in driuwend adres, in load balancer of DNS dat jo ferpleatse kinne. It kopiearjen fan de priveekaai is gjin failover-ûntwerp; it binne twa tsjinners dy't ien namme opeaskje.
Befêstigje yn hokker tastân jo echt binne foardat jo klanten oanreitsje. De âlde host dy't op 'e VPN-poarte antwurdet is dejinge dy't it ynlutsen apparaat akseptearje sil, sels as DNS ferhuze is. Kontrolearje lústerers en de iepenbiere kaai:
ss -lunp | grep -E ':51820|:1194'
wg show wg0
wg pubkey < /etc/wireguard/server.key
Ferlykje earst peers, ynlûken en adressen
Lis op wat de werstelling beweart tsjin wat no autorisearre is. By WireGuard jout wg show wg0 de kaai, it einpunt, it lêste hânskud en de oerdrachtstellers fan elke peer, genôch om in apparaat te fernimmen dat jo net mear hawwe. Helje it live fuort mei wg set wg0 peer <key> remove, bewurkje dan ek de konfiguraasje, oars komt de peer by de folgjende start werom. wg show wg0 allowed-ips iepenet it twadde probleem: twa peers op ien adres, of in adres dat jo al wer tawiisd hawwe.
By OpenVPN is de ynlûklist in bestân mei in datum, en in werstelling kin in âlde werombringe. Kontrolearje it foardat klanten ferbine:
openssl crl -in /etc/openvpn/crl.pem -noout -lastupdate -nextupdate
grep -E 'crl-verify|reneg-sec' /etc/openvpn/server.conf
As de lêste fernijing foar it ynlûken leit, earet de tsjinner noch in sertifikaat dat jo ynlutsen hawwe. OpenVPN 2.4 en letter lêze it CRL-bestân opnij foar elke nije ferbining, dus it ferfangen fan it bestân stopet nije sesjes, mar oprjochte tunnels bliuwe oant werûnderhanneling; de standert fan reneg-sec is 3600 sekonden, en it ferleegjen dêrfan of it werstarten fan de tsjinst jout jo de feroaring no. Aldere builds pakke it bestân miskien net sa betrouber, dus start opnij as jo it gedrach fan 'e ferzje net befêstigje kinne. It wg(8)-hânboek behannelet it fuortheljen fan peers en de allowed-ips-syntaksis dy't hjirboppe brûkt is.
Skjinje ek statyske tawizings op foar apparaten dy't net mear bestean. It wer brûken fan it adres fan in ôftanke apparaat foar in nij wylst it âlde profyl noch ynstallearre is, makket krekt de duplikaat dy't jo besykje te foarkommen.
Ferifiearje mei in klant dy't jo ynlutsen hawwe
Fier de kontrôles yn oarder út, fan in netwurk bûten de tunnel. Earst ferbynt in autorisearre apparaat, lost DNS op fia de pushte resolver en berikt in privee boarne. Dan moat it ynlutsen apparaat mislearje, mei syn besteande profyl ynstee fan in nij. Besykje dan it âlde einpunt fan bûten: as de VPN-poarte noch in hânskud foltôget, is de âlde host libben en is de duplikaasje echt, net teoretysk.
Start de werstelde host opnij en werhelje de autorisearre- en ynlutsen-kontrôles, want dan wint it konfiguraasjebestân fan wat jo by it draaien feroare hawwe. Ferlykje de iepenbiere kaai of sertifikaatfingerôfdruk fan 'e host mei dy't de ôftanke masine brûkte. Oerienkommende fingerôfdrukken op twa libbene masines betsjutte dat de werstelling de identiteit kloond hat; oerienkommende fingerôfdrukken op ien masine binne goed. Skriuw de werstelde ferzjes, kaai-fingerôfdrukken en it ynlutsen searjenûmer of peer-kaai op, en nim dan de folgjende reservekopy nei dit ferlykjen, sadat dy de tsjinst fertsjintwurdiget sa't dy no is. De wurkjende test is net dat in klant ferbynt. It is dat de klant dy't jo fuortholden bûten bliuwt wylst it âlde einpunt ticht bliuwt.