Din klient ansluter fortfarande den dag då avvecklingsärendet öppnas. En profil ligger i appen, den förhandlar och tunneln kommer upp som om ingenting hade ändrats. Det är ögonblicket att arbeta i motsatt riktning mot hur du byggde tjänsten: börja vid klientlistan, gå utåt till lyssnaren, sedan till brandväggen och avsluta med de uppgifter som överlever dem alla. Att stänga av VM:en är det sista steget, inte det första. Den här genomgången förutsätter att du har konsolåtkomst till värden och befogenhet att redigera klientposter och DNS.

Gå igenom klientlistan först

Öppna vad som än distribuerar dina profiler och läs listan innan du rör servern. Varje post är en enhet som tror sig ha åtkomst: telefoner, bärbara datorer, en filialrouter, en container som synkar varje natt. Exportera listan till ärendet, för när värden är borta finns ingen wg show som talar om vem som var ansluten.

Sortera varje enhet som ersättningsslutpunkt, inte längre behövd eller okänd. Det är högen med okända som betyder något, eftersom det är de profilerna som någon hittar i en låda om några månader och provar. Skicka meddelandet i samma kanal som du använder för åtkomstförfrågningar och sätt ett datum i det för när den gamla slutpunkten slutar svara.

Återkalla identiteten, inte bara filen

Två olika åtgärder kallas båda återkallelse. I WireGuard auktoriseras en peer bara genom att dess publika nyckel visas i ett peer-avsnitt med en AllowedIPs-post, så att radera konfigurationsfilen från laptopen ändrar ingenting på servern. Ta bort peer-blocket och tillämpa filen igen utan att släppa de peers du behåller, så somwg(8) beskriver:

wg show
wg set wg0 peer <CLIENT_PUBLIC_KEY> remove
wg syncconf wg0 <(wg-quick strip wg0)

wg syncconf är den del som sparar ett underhållsfönster. Det bygger om gränssnittet från filen på plats, så att ta bort en peer river inte tunneln som alla andra använder. Om du avvecklar hela värden i stället för en peer spelar ordningen fortfarande roll, eftersom nycklarna kan vara betrodda någon annanstans.

Med en X.509-uppsättning är återkallelsesteget certifikatet, inte filen: openssl ca -revoke client.crt och sedan openssl ca -gencrl -out crl.pem. Det har bara effekt där verifieraren läser det, vilket innebärOpenVPN server med crl-verify konfigurerat och omstartat efteråt. Om den här gatewayen är den enda konsumenten av den CA:n slutar CRL spela roll den dag den dör; om samma CA signerar för en andra gateway fortsätter ett certifikat du aldrig återkallade att fungera där.

Konton är det tredje fallet och det som oftast hoppas över. När gatewayen autentiserade mot RADIUS, LDAP eller en driftad identitetsleverantör lever kontot utanför VPN:en. Inaktivera det i katalogen. Att radera en användarsektion på servern lämnar en giltig uppgift som ersättningsslutpunkten accepterar i samma stund som den pekar på samma katalog.

Stäng lyssnarna och vägarna till dem

Stoppa tjänsten så att det överlever en omstart och bekräfta sedan med en socketlistning i stället för enhetens tillstånd. systemctl disable --now wg-quick@wg0 stoppar gränssnittet och tar bort de rutter och regler som wg-quick lade till; systemctl disable --now openvpn-server@server gör samma sak för en mallbaserad OpenVPN-instans. Följ någon av dem med ss -lunp och ss -ltnp. Ett tomt resultat för den gamla porten är det enda bevis som räknas.

Det wg-quick lade till tar wg-quick bort. Det du lade till för hand stannar: en beständig NAT-regel, ett brandväggstillstånd, en portvidarebefordran i routern, en ingress-regel i en molnsäkerhetsgrupp, en lastbalanserarlyssnare. De kräver uttrycklig borttagning, och det gör även DNS-posten, det vill säga A, AAAA och varje CNAME som pekar på namnet. Ett namn som löses upp till en död värd misslyckas annorlunda än ett namn som inte löses upp alls, och den skillnaden kostar någon en eftermiddag.

Kopian du glömmer är klonen. En ögonblicksbild eller en VM som återställts från säkerhetskopia håller fortfarande värdnycklarna och den gamla peer-listan, och om något för tillbaka den på samma adress återansluter klienterna till en tjänst du tror är avvecklad. Märk säkerhetskopiesatsen som tillhörande en avvecklad tjänst och håll den utanför automatiska återställningsvägar.

Jaga det som fortfarande pekar på den gamla slutpunkten

Cachade profiler överlever DNS. En sparad konfiguration med numerisk adress fortsätter ringa efter att posten är borta, och en klient som alltid är på försöker igen vid varje nätverksbyte. Det är brus, inte åtkomst, eftersom lyssnaren är stängd, men att veta vilket av dem du tittar på avgör hur du svarar på ärendet.

Sopa sedan igenom beroendena som ingen bokför under VPN: uptime-kontroller som sondar porten, säkerhetskopiejobb som hämtade konfigurationer från värden, automatiseringsuppgifter som användes för att skicka peer-poster, återställningskonton skapade enbart för den här slutpunkten. Var och en är en åtkomstväg med egen livstid och egen ägare, så var och en får ett beslut i stället för en tyst borttagning.

Verifiera och skriv sedan ned det

Avvecklingen är klar när ett test utifrån misslyckas precis som du förväntar dig. Från ett nätverk du inte kontrollerar ansluter du till den gamla adressen och porten. Ett filtrerat eller avvisat resultat är framgångsfallet. I klientappen bekräftar du att profilen togs bort och inte bara stängdes av, och att ingen hanteringsprofil tyst lägger tillbaka den.

Skriv sedan ned vad du gjorde: slutpunkt, datum, återkallade nycklar och certifikat, inaktiverade konton, var säkerhetskopiorna finns. Den som nästa gång hittar en gammal konfiguration måste kunna svara på om den återkallades eller bara raderades, utan att gissa, och en kort tabell i ärendet gör det.

Innan ärendet stängs:

  • klientprofiler borttagna eller ersatta, okända enheter utredda
  • peers borttagna och konfigurationen tillämpad igen, eller certifikat återkallade och CRL publicerad
  • katalogkonton inaktiverade, inte bara lokala filer raderade
  • tjänsten inaktiverad, ingen lyssnare kvar på den gamla porten
  • brandvägg, portvidarebefordran, säkerhetsgrupp och DNS-poster borttagna
  • säkerhetskopior märkta, ögonblicksbild utesluten från återställningsvägar
  • övervaknings- och automatiseringsuppgifter avvecklade

Verifiera ersättningen separat, från en klient som aldrig hade den gamla profilen. Det enda testet säger om du avvecklade en tjänst eller bara bytte namn på problemet.

Relaterade artiklar