Com eliminar un certificat VPN obsolet d'un magatzem de confiança
Eliminar un perfil VPN deixa el certificat al sistema operatiu, al navegador o a la botiga d'aplicacions. Coincidiu per empremta, elimineu la còpia més estreta i després verifiqueu la cadena.
El vostre client VPN està desinstal·lat, el perfil ha desaparegut de Configuració i el túnel encara s’aixeca amb les credencials antigues. O l’elimineu, reinicieu i el torneu a trobar l’endemà al matí. Cap de les dues coses no és un botó d’eliminar espatllat. Un perfil és configuració; un certificat és material de clau més una decisió de confiança enregistrada en un magatzem al qual el perfil només apunta. Quin dels dos teniu a les mans decideix què ha de significar 'eliminar'.
Un perfil no és un certificat
Tres objectes diferents s’anomenen 'el certificat' en una configuració VPN. La identitat del client és un certificat fulla amb una clau privada, i la passarel·la l’utilitza per decidir qui sou. La fulla pròpia del servidor i el seu intermediari són el que el vostre client comprova en connectar-se. L’àncora de confiança, normalment un certificat arrel o de CA privada, és el que fa que la cadena sigui verificable de tot. RFC 5280 els anomena àncora de confiança, intermediari i entitat final, i la cadena només valida mentre cada enllaç signa el de sota.
Elimineu la identitat i un dispositiu perd l’accés. Elimineu l’àncora i totes les aplicacions que validen contra aquest magatzem perden la capacitat de comprovar qualsevol cosa emesa sota ella, incloent-hi connexions que no tenen res a veure amb la VPN. Aquesta asimetria és tot el risc aquí: una arrel instal·lada per a una passarel·la sovint és la mateixa arrel que signa un portal intern, un servidor de correu o un mirall de paquets. Recordeu quin dels dos teniu a les mans.
La propietat decideix si l’eliminació es manté eliminada. En un portàtil que posseïu, només vosaltres podeu tornar a posar el certificat. En un dispositiu gestionat, un perfil de configuració o una càrrega MDM el poden reinstal·lar en la propera registració, i per això 'torna' i per això eliminar més fort no ajuda.
Trobeu quin magatzem encara el té
La gent comença a l’aplicació Configuració, que és l’únic lloc on un certificat no s’emmagatzema. Els llocs reals són els magatzems de confiança del sistema operatiu, el magatzem propi del navegador i el magatzem privat de l’aplicació.
| Store | What deleting from it affects |
|---|---|
| Windows CurrentUser\My | your login session only |
| Windows LocalMachine Root | every user and service on the machine |
| macOS login or System keychain | one account, or all of them with sudo |
| Linux ca-certificates bundle | curl, git, Python, anything using the system bundle |
| Firefox cert9.db | Firefox only; it does not read the OS store |
Coincidiu pel número de sèrie o per l’empremta, mai pel nom de visualització. Els noms de visualització els posa qui va emetre el certificat i es reutilitzen: 'Example VPN' poden ser tres certificats amb tres claus diferents, un encara en ús diari.
certutil -user -store My
certutil -store Root
openssl x509 -in vpn-client.pem -noout -subject -issuer -serial -fingerprint -sha256
A macOS l’eina security dona els mateixos fets, i find-identity mostra quins certificats encara tenen una clau privada adjunta:
security find-certificate -a -c "Example VPN" -Z /Library/Keychains/System.keychain
security find-identity -v -p ssl-client
Elimineu l’objecte estret, conserveu l’emissor compartit
Exporteu abans d’eliminar. Sense una còpia de seguretat, l’única recuperació és tornar a emetre, cosa que en una CA privada significa tornar a qui gestiona la PKI. El PFX exportat també és el que lliureu si l’eliminació resulta ser la decisió equivocada.
certutil -user -exportPFX -p backup My <serial> C:\temp\vpn-id.pfx
certutil -user -delstore My <serial>
Remove-Item Cert:\CurrentUser\My<thumbprint>
El -user flag és el que la gent deixa caure per accident. Sense ell, certutil treballa sobre el magatzem de la màquina, cosa que significa un shell elevat, un conjunt diferent de certificats i un radi d’impacte que ara inclou tots els altres comptes de la màquina.
A macOS i Linux la forma és la mateixa: identifiqueu, exporteu i després elimineu del magatzem més estret que expliqui el símptoma. Eliminar el fitxer sota /usr/local/share/ca-certificates i tornar a executar update-ca-certificates n’hi ha prou; --fresh només ajuda quan els enllaços simbòlics a /etc/ssl/certs ja són incoherents. Els sistemes de la família RHEL guarden àncores a /etc/pki/ca-trust/source/anchors, on trust anchor --remove fa la mateixa feina.
sudo security delete-certificate -Z <sha1> /Library/Keychains/System.keychain
sudo rm /usr/local/share/ca-certificates/example-vpn.crt
sudo update-ca-certificates
sudo trust anchor --remove /etc/pki/ca-trust/source/anchors/example-vpn.crt
Abans d’eliminar un certificat de CA, comproveu què més encadena amb ell. Llistar els subjectes dins del paquet és una comprovació de dues línies i respon si aquesta àncora fa altres feines:
openssl crl2pkcs7 -nocrl -certfile /etc/ssl/certs/ca-certificates.crt \
| openssl pkcs7 -print_certs -noout | grep -i example
Eliminar el fitxer no és revocar la identitat
Una eliminació local treu una còpia. La clau privada encara pot ser en un p12 adjunt a un tiquet antic, una carpeta de còpies de seguretat o el segon portàtil configurat alhora. Si això era una identitat de client, la passarel·la continua acceptant qualsevol còpia d’aquesta clau fins que la identitat sigui rebutjada al costat del servidor.
Per a una OpenVPN PKI, això vol dir revocar el certificat i assegurar-se que la CRL a què fa referència crl-verify és vigent; easyrsa revoke després easyrsa gen-crl és la versió curta. Per a una passarel·la lligada a un proveïdor d’identitat, desactiveu l’usuari o traieu el dispositiu allà, perquè el certificat només és una credencial en joc. Eliminar la còpia local mentre el compte segueix actiu sembla neteja i no ho és.
La feina d’incident té un altre ordre: preserveu primer el certificat, el seu número de sèrie i el registre de revocació, i després elimineu i revoqueu. Aquests registres no costen res i no obliguen a deixar una credencial operativa al seu lloc.
Verifiqueu amb una negociació i una segona aplicació
Comproveu la cadena des de fora, no des del llistat del magatzem que acabeu d’editar. El magatzem mostra la vostra edició; la negociació mostra el resultat.
openssl s_client -connect vpn.example.com:443 -servername vpn.example.com \
-CAfile /etc/ssl/certs/ca-certificates.crt -verify_return_error < /dev/null
openssl verify -CAfile /etc/ssl/certs/ca-certificates.crt vpn-gateway.pem
Un codi de retorn 0 vol dir que les àncores restants encara validen la passarel·la. Un error de cadena després d’eliminar l’àncora és el resultat esperat, i confirma que heu tocat l’àncora en ús i no un duplicat en un magatzem que el client no llegeix mai. Si la connexió encara funciona, busqueu una segona còpia, un magatzem incrustat a l’aplicació o un certificat fixat, tots habituals en clients que porten la seva pròpia llista de confiança.
Després proveu una cosa no relacionada: un lloc intern, un client de correu, un mirall de paquets. Això mesura el radi d’impacte de manera barata abans que es tanqui la finestra de canvis.
- Rol identificat com a identitat, intermediari o àncora de confiança
- Número de sèrie i empremta enregistrats, i la còpia exportada a la ubicació aprovada
- Eliminació feta en l’àmbit més estret que explica el símptoma
- Autorització del costat del servidor revocada quan una persona o un dispositiu se n’ha anat
- Negociació explicada, i una aplicació no relacionada tornada a provar
- Càrrega MDM o perfil de gestió actualitzat, o el certificat torna
Si el certificat torna després d’un reinici, la feina no està acabada: alguna cosa en té la propietat i el reinstal·la. Trobeu aquest propietari abans de tornar a eliminar, perquè una tercera eliminació es comportarà exactament com les dues primeres.