Sådan udfases en VPN-server uden at efterlade adgang
Gå udad fra klientapplikationen: tilbagekald nøgler og konti, luk lytteren, og bevis derefter, at ingen profil, DNS-post eller backup stadig kan nå den.
Din klient forbinder stadig den dag, udfasningsbilletten åbnes. En profil ligger i appen, den forhandler, og tunnelen kommer op, som om intet er ændret. Det er øjeblikket til at arbejde i den modsatte retning af, hvordan du byggede tjenesten: start ved klientlisten, gå udad til lytteren, derefter til firewallen, og slut med de legitimationsoplysninger, der overlever dem alle. Det er det sidste skridt at slukke VM'en, ikke det første. Denne gennemgang forudsætter, at du har konsoladgang til værten og bemyndigelse til at redigere klientposter og DNS.
Gå klientlisten igennem først
Åbn hvad der end distribuerer dine profiler, og læs listen, før du rører serveren. Hver post er en enhed, der tror, den har adgang: telefoner, bærbare computere, en filialrouter, en container, der synkroniserer hver nat. Eksporter den liste ind i billetten, for når værten er væk, er der ingen wg show til at fortælle dig, hvem der var forbundet.
Sortér hver enhed som erstatningsendepunkt, ikke længere nødvendig eller ukendt. Den ukendte spand er den, der betyder noget, da det er de profiler, nogen vil finde i en skuffe om måneder og prøve. Send meddelelsen på samme kanal, som du bruger til adgangsanmodninger, og sæt en dato i den for, hvornår det gamle endepunkt holder op med at svare.
Tilbagekald identiteten, ikke kun filen
To forskellige handlinger kaldes begge tilbagekaldelse. På WireGuard er en peer kun autoriseret ved sin offentlige nøgle, der optræder i en peer-sektion med en AllowedIPs-post, så sletning af konfigurationsfilen fra den bærbare ændrer intet på serveren. Fjern peer-blokken, og anvend filen igen uden at droppe de peers, du beholder, som wg(8)-manualen beskriver:
wg show
wg set wg0 peer <CLIENT_PUBLIC_KEY> remove
wg syncconf wg0 <(wg-quick strip wg0)wg syncconf er den del, der sparer dig et vedligeholdelsesvindue. Den genopbygger grænsefladen fra filen på stedet, så fjernelse af én peer ikke river den tunnel ned, alle andre bruger. Hvis du udfaser hele værten i stedet for én peer, betyder rækkefølgen stadig noget, fordi de nøgler kan være betroet et andet sted.
Med en X.509-opsætning er tilbagekaldelsestrinnet certifikatet, ikke filen: openssl ca -revoke client.crt og derefter openssl ca -gencrl -out crl.pem. Det har kun virkning der, hvor verifikatoren læser det, hvilket betyder OpenVPN server med crl-verify konfigureret og genindlæst bagefter. Hvis denne gateway er den eneste forbruger af den CA, holder CRL op med at betyde noget den dag, den dør; hvis samme CA signerer for en anden gateway, bliver et certifikat, du aldrig tilbagekaldte, ved med at virke der.
Konti er det tredje tilfælde og det, der oftest springes over. Da gatewayen autentificerede mod RADIUS, LDAP eller en hostet identitetsudbyder, lever kontoen uden for VPN'en. Deaktiver den i kataloget. Sletning af en brugerstanza på serveren efterlader en gyldig legitimationsoplysning, som erstatningsendepunktet vil acceptere i det øjeblik, det peger på samme katalog.
Luk lytterne og vejene til dem
Stop tjenesten på en måde, der overlever en genstart, og bekræft derefter med en socket-liste i stedet for enhedstilstanden. systemctl disable --now wg-quick@wg0 stopper grænsefladen og fjerner de ruter og regler, wg-quick tilføjede; systemctl disable --now openvpn-server@server gør det samme for en skabelonbaseret OpenVPN-instans. Følg begge med ss -lunp og ss -ltnp. Et tomt resultat for den gamle port er det eneste bevis, der tæller.
Hvad wg-quick tilføjede, fjerner wg-quick. Hvad du tilføjede manuelt, bliver: en vedvarende NAT-regel, en firewall-tilladelse, en router-portforwarding, en ingress-regel i en cloud-sikkerhedsgruppe, en load-balancer-lytter. De skal fjernes eksplicit, og det skal DNS-posten også, altså A, AAAA og enhver CNAME, der peger på navnet. Et navn, der opløses til en død vært, fejler anderledes end et navn, der ikke opløses, og den forskel vil koste nogen en eftermiddag.
Kopien, du glemmer, er klonen. Et snapshot eller en VM gendannet fra backup holder stadig værtsnøglerne og den gamle peer-liste, og hvis noget bringer den tilbage på samme adresse, genopretter klienter forbindelse til en tjeneste, du tror er udfaset. Mærk backup-sættet som tilhørende en nedlagt tjeneste, og hold det ude af automatiske gendannelsesveje.
Jag det, der stadig peger på det gamle endepunkt
Cachede profiler overlever DNS. En gemt konfiguration med en numerisk adresse bliver ved med at ringe op, efter posten er væk, og en altid-tændt klient prøver igen ved hver netværksændring. Det er støj snarere end adgang, fordi lytteren er lukket, men at vide, hvilken af de to du kigger på, afgør, hvordan du besvarer billetten.
Fej så de afhængigheder, ingen arkiverer under VPN: oppetidskontroller, der probeføler porten, backupjob, der hentede konfigurationer fra værten, automatiseringslegitimationsoplysninger brugt til at skubbe peer-poster, gendannelseskonti oprettet kun til dette endepunkt. Hver er en adgangsvej med sin egen levetid og sin egen ejer, så hver får en beslutning i stedet for en stille sletning.
Bekræft, og skriv det så ned
Udfasningen er færdig, når en test udefra fejler på den måde, du forventer. Fra et netværk, du ikke kontrollerer, opretter du forbindelse til den gamle adresse og port. Et filtreret eller afvist resultat er succesoplevelsen. I klientappen bekræfter du, at profilen blev fjernet og ikke blot slået fra, og at ingen administrationsprofil stille tilføjer den igen.
Skriv derefter ned, hvad du gjorde: endepunkt, dato, tilbagekaldte nøgler og certifikater, deaktiverede konti, hvor backupperne ligger. Den, der næste gang finder en gammel konfiguration, skal kunne svare på, om den blev tilbagekaldt eller bare slettet, uden at gætte, og en kort tabel i billetten gør det.
Før du lukker billetten:
- klientprofiler fjernet eller erstattet, ukendte enheder afklaret
- peers fjernet og konfigurationen anvendt igen, eller certifikater tilbagekaldt og CRL offentliggjort
- katalogkonti deaktiveret, ikke kun lokale filer slettet
- tjeneste deaktiveret, ingen lytter tilbage på den gamle port
- firewall, portforwarding, sikkerhedsgruppe og DNS-poster fjernet
- backupper mærket, snapshot udelukket fra gendannelsesveje
- overvågnings- og automatiseringslegitimationsoplysninger udfaset
Bekræft erstatningen separat, fra en klient, der aldrig har haft den gamle profil. Den ene test fortæller dig, om du udfasede en tjeneste, eller kun omdøbte problemet.