Retirar PPTP/MS-CHAPv2: guia d’execució per a una VPN antiga
Una contrasenya més llarga no millora PPTP amb MS-CHAPv2. Feu els passos d’inventari, migració, verificació i neteja de credencials en ordre.
Les contrasenyes de vint caràcters, rotades cada mes i guardades en una caixa forta, no converteixen un servidor PPTP amb MS-CHAPv2 en una VPN moderna. La contrasenya és una entrada a un intercanvi la debilitat del qual viu dins del mateix intercanvi. Aquesta guia és per a qui ha heretat aquest servidor i ha de moure els usuaris fora d’ell sense tallar el lloc que en depèn. Feu els passos en ordre, perquè cadascun deixa un registre que voldreu tenir quan algú pregunti per què l’accés va canviar de cop.
Escriviu la pila abans de tocar res
Tres capes s’ajunten en la paraula PPTP, i cadascuna falla a la seva manera. El túnel és el mateix PPTP, GRE més TCP 1723. L’autenticació és el mètode PPP que ofereixi el servidor, aquí MS-CHAPv2. La protecció de l’enllaç és MPPE, les claus del qual es deriven d’aquest intercanvi d’autenticació. Anomenar-les totes tres evita que una correcció posterior caigui a la capa equivocada.
Llegiu la configuració viva en lloc de confiar en una pàgina de wiki, i anoteu el fitxer, l’oient i les últimes sessions que s’han autenticat.
grep -RniE 'mschap|mppe|require-mppe' /etc/ppp/options.pptpd /etc/pptpd.conf
ss -lntp 'sport = :1723'
journalctl -u pptpd -n 40 --no-pager
En un rol d’accés remot de Windows el mateix inventari surt de dues ordres, i la segona importa perquè un rol pot anunciar diversos mètodes alhora mentre els clients del camp només negocien mai el més feble.
Get-VpnAuthProtocol
netstat -ano | findstr :1723
Decidiu què transporta realment avui el túnel
Enumereu els consumidors abans de triar un reemplaçament: portàtils en itinerància, un encaminador de sucursal, un terminal de pagament, un conjunt de tauletes de camp. Un consumidor que només ha d’arribar a un amfitrió intern és fàcil de moure. Un consumidor incrustat en maquinari que no podeu reflashejar pot necessitar una passarel·la intermèdia en lloc d’una actualització del client, i aquesta decisió pertany al pla, no al mig de la migració.
Després pregunteu què obtindria un atacant que pugui observar o influir en l’intercanvi d’inici de sessió. Amb MS-CHAPv2 la resposta inclou material que permet recuperar fora de línia la contrasenya de l’usuari, i és precisament per això que la longitud i la rotació no reparen el disseny: el secret recuperat és vàlid a tots els sistemes on l’usuari el va reutilitzar.
MPPE hereta la mateixa debilitat, ja que les seves claus vénen d’aquest intercanvi, i no us dona la integritat per paquet ni el comportament de repetició d’un xifratge AEAD modern. Una sessió que s’autentica netament ha demostrat compatibilitat amb les comprovacions configurades i res més.
Ni una pausa curta per dinar ni un nombre petit d’usuaris converteixen una propietat criptogràfica en una de política.
Feu la migració dins d’una única finestra de manteniment
Aixegueu el reemplaçament, proveu-lo amb un grup pilot, i després atureu l’oient antic en lloc de deixar-lo com un recanvi silenciós. Un recanvi a què tothom encara pot arribar no és una migració, i manté l’intercanvi feble disponible justament per als usuaris que mai no s’hi molesten a canviar.
sudo systemctl disable --now pptpd
sudo ss -lntp | grep -E ':(1723|1194|51820)\b'
sudo nft list ruleset | grep -i gre
Tanqueu el camí del tallafoc a la mateixa finestra. GRE no té cap port a recordar, així que una regla que permet el protocol 47 pel número és fàcil de passar per alt i deixa el servei abastable fins i tot quan el dimoni ja no hi és. Anoteu la regla que heu eliminat, la seva posició anterior i el motiu, perquè una revisió de canvis posterior no la restauri per accident.
Gestioneu les credencials per separat de la configuració. Eliminar un perfil de client no és una revocació, i un compte que encara s’autentica en un altre lloc no s’ha retirat.
Verifiqueu que el reemplaçament fa la feina que feia PPTP
La llista de comprovació no és “es connecta”. És si l’autenticació, l’assignació d’adreces, la resolució DNS, la selecció de ruta, el comportament en reconnectar i la verificació de l’igual encara es mantenen sota el reemplaçament. Proveu cada punt en un dispositiu pilot, en aquest ordre, i escriviu el resultat observat al costat de l’esperança.
ip -4 addr show tun0
ip route get 198.51.100.23
resolvectl query intranet.example.net
Una adreça a la interfície demostra que la negociació s’ha completat. No demostra que el costat remot hagi autoritzat la ruta que espereu, i la consulta anterior només respon per a aquest amfitrió, no per a una LAN reenviada. Una resposta del resolutor demostra abastabilitat d’un resolutor, no que la política de DNS dividit hi enviï els noms correctes.
Reconnecteu al final, perquè és aquí on la majoria de reemplaçaments regredeixen: suspendreu un portàtil, canvieu de xarxa i confirmeu que el túnel es restableix sense deixar rutes obsoletes.
Revertir, revocar i el registre que deixeu
Revertir restaura el servei; no restaura la seguretat, i la diferència s’ha de dir en veu alta abans que s’obri la finestra. Si el camí nou falla, torneu els usuaris per un segon punt final modern o una passarel·la temporal, no reactivant PPTP per a tothom. Mantenir un camí d’emergència en el protocol vell amplia l’exposició que acabeu de documentar.
Després de la migració, revoqueu els comptes que s’han autenticat per PPTP, deixeu caducar els seus perfils emmagatzemats i confirmeu que la regla GRE ha desaparegut de cada dispositiu de vora, inclosa la còpia de recuperació de desastres que ningú no recorda.
Deixeu un registre breu: els protocols que heu trobat, la data en què cada oient es va aturar, les versions de client que admet el reemplaçament i el propietari que pot reobrir la decisió. La higiene de contrasenyes encara importa després, però com a higiene en un protocol que se la mereix, no com a argument per mantenir viu el vell.