Kuidas taastada VPN-serverit identiteete dubleerimata
Taastatud VPN-server toob tagasi failid, mitte praeguse juurdepääsu. Ühendage tühistamised, peer-võtmed ja lõpp-punktid enne, kui teine koopia kätlusele vastab.
Taastasite varunduse, teenus käivitus ja klient ühendus esimesel katsel. See edu on lõks. Taastamine toob tagasi failid, mis serveril hetkvõtte ajal olid, mitte juurdepääsuseisundi, mis on vahepeal muutunud, ja kui vana lõpp-punkt on veel kättesaadav, on teil nüüd kaks masinat, mis vastavad ühele identiteedile. Lahendus ei ole parem varundus; lahendus on otsustada, mis taastatud host tohib olla, enne kui see vastab ühelegi kätlusele.
Varundus toob tagasi failid, mitte volituse
Hetkvõte sisaldab serveri konfiguratsiooni, privaatvõtmeid, sertifitseerimisasutust, peer-nimekirja ja tulemüürireegleid sellistena, nagu need varunduse ajal olid. See ei saa sisaldada seda, mis muutus hiljem: seadet, mille tühistasite, võtit, mille uuesti väljastasite, peeri, mille eemaldasite sülearvuti müügil, alamvõrku, mille teisaldasite. Taastamine kerib failid sellesse hetke tagasi. See ei keri tagasi otsuseid, mille inimesed vahepeal tegid.
Kahju tuleb just sellest lõhest. Varundusest kaks nädalat hiljem tühistatud varastatud sülearvuti esitab sertifikaadi, mis veel valideerub taastatud puus oleva vanema CRL-i vastu, ja server võtab vastu seadme, mille te kasutusest kõrvaldasite. WireGuard on otsesem: peer on volitatud sellega, et ta on nimekirjas, seega pärast hetkvõtet kustutatud peer on lihtsalt jälle olemas. Keegi ei kinnitanud seda juurdepääsu uuesti. Vana fail tegi seda.
Serveri identiteet ja kliendi identiteet ebaõnnestuvad erineval viisil
WireGuardis on serveri identiteet privaatvõti failis wg0.conf, seega selle faili kopeerimine teisele kättesaadavale hostile loob kaks sama identiteediga serverit, kes üksteisest ei tea. Kumbki hoiab oma peer-nimekirja. Eemaldage peer uuel hostil ja vana võtab selle ikka vastu; kontrollige wg show ühel ja näete pool tõde. Kliendid ei lülitu ka ise ümber: profiil kannab ühte Endpointi, seega seade räägib edasi aadressiga, mille jaoks see konfigureeriti, mis võib olla host, mille kavatsesite kasutusest kõrvaldada.
OpenVPN dubleerib samal kihil serverisertifikaadi, selle privaatvõtme ja tls-auth või tls-crypt staatilise võtmega. Kopeerige kõik kolm ja klient ei suuda eksemplare eristada; kui mõlemad on kättesaadavad, võib taasühendus maanduda kummalegi, ja iga logifail räägib osalise loo. Sertifitseerimisasutus on sügavam koopia. Taastatud easy-rsa puu on teine tõeallikas, mis suudab väljastada kehtiva sertifikaadi ükskõik millisele nimele, mille te sellele annate.
Ka kliente dubleeritakse, tavaliselt migreerimise ajal. Profiili kopeerimine varuseadmesse «lihtsalt testimiseks» loob teise seadme sama võtme ja üldnimega. duplicate-cn korral võivad mõlemad sessioonid korraga püsti olla, ja staatiline aadressi määramine failis ccd või ifconfig-pool-persist võib algse seadmega kokku põrkuda. See on kaks masinat ühes identiteedis ja miski serveri konfiguratsioonis ei erista neid.
Valige vanale lõpp-punktile üks kolmest seisundist
Taastamine on ohutu alles siis, kui vana lõpp-punkti saatus on otsustatud. Kõrvaldage see: vana teenus peab lõpetama VPN-pordi vastuvõtu enne, kui uus host käivitub, ja kui te masinat ei taba, blokeerige see port võrgu servas kõige muu jaoks peale teie haldusallika. Parandage sama host: identiteedi taaskasutus on korras, sest üks masin hoiab seda, kuid hävitage seejärel vana võtme kettakoopia või VM-i hetkvõte, et see ei saaks naasta. Ehitage kättesaadavuspaar: kahele hostile on vaja erinevaid hosti identiteete pluss üks jagatud lõpp-punkt, näiteks ujuv aadress, koormusjaotur või DNS, mida saate liigutada. Privaatvõtme kopeerimine ei ole failover-kavand; see on kaks serverit, mis nõuavad ühte nime.
Kinnitage, millises seisundis te tegelikult olete, enne kui kliente puudutate. Vana host, mis VPN-pordil vastab, on see, kes tühistatud seadme vastu võtab, isegi kui DNS on liikunud. Kontrollige kuulajaid ja avalikku võtit:
ss -lunp | grep -E ':51820|:1194'
wg show wg0
wg pubkey < /etc/wireguard/server.key
Kõigepealt ühendage peerid, tühistamised ja aadressid
Loetlege, mida taastamine väidab, selle vastu, mis on praegu volitatud. WireGuardis annab wg show wg0 iga peeri võtme, lõpp-punkti, viimase kätluse ja ülekandeloendurid, millest piisab, et märgata seadet, mida te enam ei oma. Eemaldage see tööajal wg set wg0 peer <key> remove abil, seejärel muutke ka konfiguratsiooni, muidu naaseb peer järgmisel käivitusel. wg show wg0 allowed-ips paljastab teise probleemi: kaks peeri ühel aadressil või aadress, mille olete juba ümber määranud.
OpenVPNis on tühistamisnimekiri fail, millel on kuupäev, ja taastamine võib tuua tagasi vana. Kontrollige seda enne, kui kliendid ühenduvad:
openssl crl -in /etc/openvpn/crl.pem -noout -lastupdate -nextupdate
grep -E 'crl-verify|reneg-sec' /etc/openvpn/server.conf
Kui viimane uuendus on tühistamisest varasem, austab server endiselt sertifikaati, mille te tühistasite. OpenVPN 2.4 ja hilisemad loevad CRL-faili iga uue ühenduse jaoks uuesti, seega faili asendamine peatab uued sessioonid, kuid loodud tunnelid püsivad kuni uuesti läbirääkimiseni; reneg-sec vaikeväärtus on 3600 sekundit, ja just selle vähendamine või teenuse taaskäivitamine annab muudatuse kohe. Vanemad versioonid ei pruugi faili nii usaldusväärselt üles võtta, seega taaskäivitage, kui ei saa versiooni käitumist kinnitada. wg(8) käsiraamat katab ülal kasutatud peeri eemaldamise ja allowed-ips süntaksi.
Puhastage ka staatilised määramised seadmetele, mida enam ei ole. Kasutusest kõrvaldatud seadme aadressi taaskasutamine uue jaoks, kui vana profiil on veel paigaldatud, loob täpselt selle duplikaadi, mida püüate vältida.
Kontrollige kliendiga, mille te tühistasite
Tehke kontrollid järjest, väljaspool tunnelit olevast võrgust. Kõigepealt ühendub volitatud seade, lahendab DNS-i läbi lükatud resolveri ja jõuab privaatsele ressursile. Seejärel peab tühistatud seade ebaõnnestuma, kasutades oma olemasolevat profiili, mitte uut. Seejärel proovige vana lõpp-punkti väljastpoolt: kui VPN-port lõpetab endiselt kätluse, on vana host elus ja dubleerimine on tõeline, mitte teoreetiline.
Taaskäivitage taastatud host ja korrake volitatud ja tühistatud seadme kontrolle, sest just siis võidab konfiguratsioonifail selle, mida te tööajal muutsite. Võrrelge hosti avalikku võtit või sertifikaadi sõrmejälge sellega, mida kasutas kasutusest kõrvaldatud masin. Kattuvad sõrmejäljed kahel elaval masinal tähendavad, et taastamine kloonis identiteedi; kattuvad sõrmejäljed ühel masinal on korras. Kirjutage üles taastatud versioonid, võtmete sõrmejäljed ja tühistatud seerianumber või peer-võti, seejärel tehke pärast seda ühendamist järgmine varundus, et see esindaks teenust sellisena, nagu see praegu on. Toimiv test ei ole see, et klient ühendub. See on see, et eemaldatud klient jääb välja, samal ajal kui vana lõpp-punkt jääb suletuks.