Com retirar un servidor VPN sense deixar accés enrere
Aneu cap enfora des de l’aplicació del client: revoqueu claus i comptes, tanqueu l’oient i, després, demostreu que cap perfil, registre DNS ni còpia de seguretat encara hi pot arribar.
El vostre client encara es connecta el dia que s’obre el tiquet de retirada. Un perfil seu a l’aplicació, negocia, i el túnel puja com si res no hagués canviat. Aquest és el moment de treballar en la direcció oposada a com vau construir el servei: comenceu per la llista de clients, aneu cap enfora fins a l’oient, després fins al tallafoc, i acabeu amb les credencials que sobreviuen a tot això. Apagar la VM és l’últim pas, no el primer. Aquest recorregut assumeix que teniu accés de consola a l’amfitrió i l’autoritat per editar registres de clients i DNS.
Primer passeu per la llista de clients
Obriu qualsevol cosa que distribueixi els vostres perfils i llegiu la llista abans de tocar el servidor. Cada entrada és un dispositiu que creu que té accés: telèfons, portàtils, un encaminador de branca, un contenidor que se sincronitza cada nit. Exporteu aquesta llista al tiquet, perquè un cop l’amfitrió desapareixi no hi ha cap wg show que us digui qui estava connectat.
Classifiqueu cada dispositiu com a punt final de substitució, ja no cal, o desconegut. El calaix dels desconeguts és el que importa, ja que són els perfils que algú trobarà en un calaix d’aquí a mesos i provarà. Envieu l’avís pel mateix canal que feu servir per a les sol·licituds d’accés i hi poseu una data per a quan el punt final antic deixi de respondre.
Revogueu la identitat, no només el fitxer
Dues accions diferents reben totes dues el nom de revocació. A WireGuard, un parell només s’autoritza per la seva clau pública que apareix en una secció de parell amb una entrada AllowedIPs, així que esborrar el fitxer de configuració del portàtil no canvia res al servidor. Traieu el bloc del parell i torneu a aplicar el fitxer sense deixar caure els parells que conserveu, tal com descriu el manual de wg(8):
wg show
wg set wg0 peer <CLIENT_PUBLIC_KEY> remove
wg syncconf wg0 <(wg-quick strip wg0)wg syncconf és la part que us estalvia una finestra de manteniment. Reconstrueix la interfície a partir del fitxer al mateix lloc, així que treure un parell no enderroca el túnel que tothom més utilitza. Si retireu l’amfitrió sencer en lloc d’un parell, l’ordre encara importa, perquè aquestes claus poden ser de confiança en un altre lloc.
Amb una configuració X.509 el pas de revocació és el certificat, no el fitxer: openssl ca -revoke client.crt i després openssl ca -gencrl -out crl.pem. Això només té efecte allà on el verificador el llegeix, cosa que significa OpenVPN servidor amb crl-verify configurat i recarregat després. Si aquesta passarel·la és l’únic consumidor d’aquella CA, la CRL deixa de tenir importància el dia que mor; si la mateixa CA signa per a una segona passarel·la, un certificat que mai no vau revocar continua funcionant allà.
Els comptes són el tercer cas i el que més sovint es passa per alt. Quan la passarel·la s’autenticava contra RADIUS, LDAP o un proveïdor d’identitat allotjat, el compte viu fora de la VPN. Desactiveu-lo al directori. Esborrar una estrofa d’usuari al servidor deixa una credencial vàlida que el punt final de substitució acceptarà en el moment que apunti al mateix directori.
Tanqueu els oients i els camins fins a ells
Atureu el servei d’una manera que sobrevisqui a un reinici i, després, confirmeu-ho amb un llistat de sockets en lloc de l’estat de la unitat. systemctl disable --now wg-quick@wg0 atura la interfície i elimina les rutes i regles que wg-quick va afegir; systemctl disable --now openvpn-server@server fa el mateix per a una instància OpenVPN amb plantilla. Seguiu qualsevol de les dues amb ss -lunp i ss -ltnp. Un resultat buit per al port antic és l’única prova que compta.
El que wg-quick va afegir, wg-quick ho treu. El que vau afegir a mà es queda: una regla NAT persistent, un permís de tallafoc, un reenviament de port del router, una regla d’entrada d’un grup de seguretat del núvol, un oient d’equilibrador de càrrega. Tots necessiten una retirada explícita, i també el registre DNS, és a dir l’A, l’AAAA i qualsevol CNAME que apunti al nom. Un nom que resol a un amfitrió mort falla d’una manera diferent d’un nom que no resol, i aquesta diferència costarà una tarda a algú.
La còpia que oblideu és el clon. Una instantània o una VM restaurada d’una còpia de seguretat encara guarda les claus de l’amfitrió i l’antiga llista de parells, i si alguna cosa la torna a portar a la mateixa adreça, els clients es reconnecten a un servei que creieu retirat. Etiqueteu el conjunt de còpies com a pertanyent a un servei desmantellat i manteniu-lo fora dels camins de restauració automàtica.
Perseguiu què encara apunta al punt final antic
Els perfils en memòria cau sobreviuen al DNS. Una configuració desada amb una adreça numèrica continua marcant després que el registre hagi desaparegut, i un client sempre actiu reintenta a cada canvi de xarxa. És soroll i no accés, perquè l’oient és tancat, però saber a quin dels dos mireu decideix com responeu al tiquet.
Després escombreu les dependències que ningú no arxiva sota VPN: comprovacions de disponibilitat que sondegen el port, tasques de còpia que estiraven configuracions de l’amfitrió, credencials d’automatització usades per empènyer entrades de parells, comptes de recuperació creats només per a aquest punt final. Cadascuna és un camí d’accés amb la seva pròpia vida i el seu propi propietari, així que cadascuna rep una decisió en lloc d’una eliminació silenciosa.
Verifiqueu, després escriviu-ho
La retirada s’acaba quan una prova des de fora falla tal com espereu. Des d’una xarxa que no controleu, connecteu-vos a l’adreça i el port antics. Un resultat filtrat o refusat és el cas d’èxit. A l’aplicació del client, confirmeu que el perfil s’ha eliminat i no simplement desactivat, i que cap perfil de gestió no el torna a afegir en silenci.
Després registreu què heu fet: punt final, data, claus i certificats revocats, comptes desactivats, on viuen les còpies de seguretat. Qui trobi una configuració antiga després ha de poder respondre si es va revocar o només es va esborrar, sense endevinar, i una taula curta al tiquet ho fa.
Abans de tancar el tiquet:
- perfils de client eliminats o substituïts, dispositius desconeguts resolts
- parells eliminats i la configuració tornada a aplicar, o certificats revocats i la CRL publicada
- comptes del directori desactivats, no només fitxers locals esborrats
- servei desactivat, cap oient quedat al port antic
- tallafoc, reenviament de port, grup de seguretat i entrades DNS eliminats
- còpies de seguretat etiquetades, instantània exclosa dels camins de restauració
- credencials de monitoratge i automatització retirades
Verifiqueu la substitució per separat, des d’un client que mai no va tenir el perfil antic. Aquesta única prova us diu si heu retirat un servei o només heu canviat el nom del problema.