Du gjenoppretta tryggingskopien, tenesta starta, og ein klient kopla til på første forsøk. Den suksessen er fella. Ei gjenoppretting gir tilbake filene serveren hadde i det augneblinken augneblinksbiletet vart teke, ikkje tilgangstilstanden som har endra seg sidan, og dersom det gamle endepunktet framleis er tilgjengeleg har du no to maskinar som svarar på éin identitet. Løysinga er ikkje ein betre tryggingskopi; ho er å avgjere kva den gjenoppretta verten får vere før han svarar på eitt einaste handtrykk.

Ein tryggingskopi gir tilbake filer, ikkje myndigheit

Augneblinksbiletet inneheld serverkonfigurasjonen, dei private nøklane, sertifikatstyresmakta, peer-lista og brannmurreglane slik dei var då tryggingskopien køyrde. Det kan ikkje innehalde det som endra seg etterpå: eininga du tilbakekalla, nøkkelen du gav ut på nytt, peeren du fjerna då ein berbar PC vart seld, subnettet du flytta. Gjenoppretting spolar filene tilbake til det augneblinken. Det spolar ikkje tilbake avgjerdene folk har teke sidan.

Skaden kjem nettopp frå dette gapet. Ein stolen berbar PC som vart tilbakekalla to veker etter tryggingskopien, presenterer eit sertifikat som framleis validerer mot den eldre CRL-en i den gjenoppretta treet, og serveren godtek ei eining du har teke ut av drift. WireGuard er meir direkte: ein peer er autorisert ved å stå på lista, så ein peer som vart sletta etter augneblinksbiletet er rett og slett der att. Ingen godkjende den tilgangen på nytt. Den gamle fila gjorde det.

Serveridentitet og klientidentitet feilar på ulike måtar

På WireGuard er identiteten til serveren den private nøkkelen i wg0.conf, så kopiering av fila til ein andre tilgjengeleg vert skaper to serverar med same identitet og utan kjennskap til kvarandre. Kvar held si eiga peer-liste. Fjern ein peer på den nye verten, og den gamle godtek han framleis; sjekk wg show på éin, og du ser halve sanninga. Klientar svitsjar heller ikkje sjølve: ein profil ber éin Endpoint, så ei eining held fram med å snakke med adressa ho vart konfigurert med, som kan vere verten du ville ta ut av drift.

OpenVPN dupliserast på same lag med eit serversertifikat, den private nøkkelen og den statiske nøkkelen tls-auth eller tls-crypt. Kopier alle tre, og ein klient kan ikkje skilje instansane; dersom begge er tilgjengelege, kan ei gjenoppkopling lande på kven som helst, og kvar loggfil fortel ei delvis historie. Sertifikatstyresmakta er den djupare kopien. Eit gjenoppretta easy-rsa-tre er ei andre sanningkjelde som kan gje ut eit gyldig sertifikat for eitkvart namn du gir det.

Klientar dupliserast òg, vanlegvis under sjølve migreringa. Kopiering av ein profil til ei reserveeining «berre for å teste» gir ei andre eining med same nøkkel og fellesnamn. Med duplicate-cn kan begge sesjonane vere oppe samtidig, og ei statisk adressetildeling i ccd eller ifconfig-pool-persist kan kollidere med den opphavlege eininga. Det er to maskinar med éin identitet, og ingenting i serverkonfigurasjonen skil dei.

Vel éin av tre tilstandar for det gamle endepunktet

Ei gjenoppretting er berre trygg når skjebnen til det gamle endepunktet er avgjort. Ta det ut av drift: den gamle tenesta må slutte å godta VPN-porten før den nye verten startar, og dersom du ikkje når maskinen, blokker den porten ved nettverkskanten for alt utanom di administrative kjelde. Reparer same vert: gjenbruk av identiteten er greitt fordi éin maskin held han, men øydelegg deretter disklokopia eller VM-augneblinksbiletet av den gamle nøkkelen så han ikkje kan kome attende. Bygg eit tilgjengelegheitspar: to vertar treng ulike vertsidentitetar pluss eitt delt endepunkt, til dømes ei flytande adresse, ein lastbalansar eller DNS du kan flytte. Å kopiere den private nøkkelen er ikkje eit failover-design; det er to serverar som krev eitt namn.

Stadfest kva tilstand du faktisk er i før du rører klientar. Den gamle verten som svarar på VPN-porten, er den som vil godta den tilbakekalla eininga, sjølv om DNS har flytta seg. Sjekk lyttarar og den offentlege nøkkelen:

ss -lunp | grep -E ':51820|:1194'
wg show wg0
wg pubkey < /etc/wireguard/server.key

Avstem først peers, tilbakekallingar og adresser

List opp kva gjenopprettinga hevdar mot kva som faktisk er autorisert. På WireGuard gir wg show wg0 nøkkelen, endepunktet, siste handtrykk og overføringsteljarane til kvar peer, nok til å oppdage ei eining du ikkje lenger eig. Fjern ho live med wg set wg0 peer <key> remove, og rediger deretter òg konfigurasjonen, elles kjem peeren attende ved neste start. wg show wg0 allowed-ips avdekkjer det andre problemet: to peers på éi adresse, eller ei adresse du alt har tildelt på nytt.

På OpenVPN er tilbakekallingslista ei fil med ein dato, og ei gjenoppretting kan bringe ei gammal attende. Sjekk ho før klientar koplar til:

openssl crl -in /etc/openvpn/crl.pem -noout -lastupdate -nextupdate
grep -E 'crl-verify|reneg-sec' /etc/openvpn/server.conf

Dersom siste oppdatering er eldre enn tilbakekallinga, ærar serveren framleis eit sertifikat du tilbakekalla. OpenVPN 2.4 og nyare les CRL-fila på nytt for kvar ny tilkopling, så å byte ut fila stoppar nye sesjonar, men etablerte tunnelar varer til reforhandling; standardverdien for reneg-sec er 3600 sekund, og det er senkinga eller omstarten av tenesta som gir deg endringa no. Eldre bygg plukkar kanskje ikkje opp fila like påliteleg, så start på nytt når du ikkje kan stadfeste åtferda til versjonen. wg(8)-handboka dekkjer peer-fjerning og allowed-ips-syntaksen brukt ovanfor.

Rydd òg statiske tildelingar for einingar som ikkje finst lenger. Å gjenbruke adressa til ei pensjonert eining for ei ny medan den gamle profilen framleis er installert, skaper nøyaktig den duplikaten du prøver å unngå.

Verifiser med ein klient du tilbakekalla

Køyr kontrollane i rekkjefølgje, frå eit nettverk utanfor tunnelen. Først koplar ei autorisert eining til, løyser DNS via den pusha resolvaren og når ein privat ressurs. Deretter må den tilbakekalla eininga feile, med sin eksisterande profil i staden for ein ny. Så prøv det gamle endepunktet utanfrå: dersom VPN-porten framleis fullfører eit handtrykk, lever den gamle verten, og dupliseringa er reell, ikkje teoretisk.

Start den gjenoppretta verten på nytt og gjer kontrollane for autorisert og tilbakekalla om att, for det er då konfigurasjonsfila vinn over det du endra under køyring. Samanlikn den offentlege nøkkelen eller sertifikatfingermerket til verten med det den pensjonerte maskinen brukte. Like fingermerke på to levande maskinar betyr at gjenopprettinga klona identiteten; like fingermerke på éin maskin er greitt. Noter dei gjenoppretta versjonane, nøkkelfingermerka og det tilbakekalla serienummeret eller peer-nøkkelen, og ta deretter neste tryggingskopi etter denne avstemminga, slik at han representerer tenesta slik ho er no. Den fungerande testen er ikkje at ein klient koplar til. Han er at klienten du fjerna blir ute medan det gamle endepunktet blir lukka.

Relaterte artiklar