O seu cliente VPN está desinstalado, o perfil desapareceu dos Axustes e o túnel segue levantándose coas credenciais antigas. Ou o elimina, reinicia e atópao de volta á mañá seguinte. Ningunha das dúas cousas é un botón de eliminar avariado. Un perfil é configuración; un certificado é material de clave máis unha decisión de confianza rexistrada nun almacén ao que o perfil só apunta. Cal dos dous ten na man decide que debe significar 'eliminar'.

Un perfil non é un certificado

Tres obxectos distintos chámanse 'o certificado' nunha configuración VPN. A identidade do cliente é un certificado folla cunha clave privada, e a pasarela úsao para decidir quen é vostede. A folla propia do servidor e o seu intermedio son o que o seu cliente comproba ao conectarse. A áncora de confianza, normalmente un certificado raíz ou de CA privada, é o que fai que a cadea sexa verificable de todo. RFC 5280 chámaos áncora de confianza, intermedio e entidade final, e a cadea valida só mentres cada elo asina o de abaixo.

Elimine a identidade e un dispositivo perde o acceso. Elimine a áncora e todas as aplicacións que validan contra ese almacén perden a capacidade de comprobar calquera cousa emitida baixo ela, incluídas conexións que non teñen nada que ver coa VPN. Esa asimetría é todo o risco aquí: unha raíz instalada para unha pasarela adoita ser a mesma raíz que asina un portal interno, un servidor de correo ou un espello de paquetes. Lembre cal das dúas ten na man.

A propiedade decide se a eliminación segue eliminada. Nun portátil que vostede posúe, só vostede pode volver poñer o certificado. Nun dispositivo xestionado, un perfil de configuración ou unha carga útil de MDM poden reinstalalo no seguinte rexistro, e por iso 'volve' e por iso eliminar con máis forza non axuda.

Averigüe que almacén o segue tendo

A xente comeza na aplicación Axustes, que é o único lugar onde un certificado non se garda. As localizacións reais son os almacéns de confianza do sistema operativo, o propio almacén do navegador e o almacén privado da aplicación.

StoreWhat deleting from it affects
Windows CurrentUser\Myyour login session only
Windows LocalMachine Rootevery user and service on the machine
macOS login or System keychainone account, or all of them with sudo
Linux ca-certificates bundlecurl, git, Python, anything using the system bundle
Firefox cert9.dbFirefox only; it does not read the OS store

Coincida polo número de serie ou pola impresión dixital, nunca polo nome visible. Os nomes visibles póndeos quen emitiu o certificado e reutilízanse: 'Example VPN' poden ser tres certificados con tres claves distintas, un aínda en uso diario.

certutil -user -store My
certutil -store Root
openssl x509 -in vpn-client.pem -noout -subject -issuer -serial -fingerprint -sha256

En macOS a ferramenta security dá os mesmos datos, e find-identity amosa que certificados teñen aínda unha clave privada adxunta:

security find-certificate -a -c "Example VPN" -Z /Library/Keychains/System.keychain
security find-identity -v -p ssl-client

Elimine o obxecto estreito, conserve o emisor compartido

Exporte antes de eliminar. Sen copia de seguridade, a única recuperación é volver emitir, o que nunha CA privada significa volver a quen xestiona a PKI. O PFX exportado tamén é o que entrega se a eliminación resulta ser a decisión equivocada.

certutil -user -exportPFX -p backup My <serial> C:\temp\vpn-id.pfx
certutil -user -delstore My <serial>
Remove-Item Cert:\CurrentUser\My<thumbprint>

O -user flag é o que a xente deixa caer por accidente. Sen el, certutil traballa sobre o almacén da máquina, o que significa un shell elevado, un conxunto distinto de certificados e un radio de impacto que agora inclúe todas as demais contas da máquina.

En macOS e Linux a forma é a mesma: identifique, exporte e despois elimine do almacén máis estreito que explique o síntoma. Eliminar o ficheiro baixo /usr/local/share/ca-certificates e volver executar update-ca-certificates é suficiente; --fresh só axuda cando as ligazóns simbólicas en /etc/ssl/certs xa son incoherentes. Os sistemas da familia RHEL gardan áncoras en /etc/pki/ca-trust/source/anchors, onde trust anchor --remove fai o mesmo traballo.

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

Antes de eliminar un certificado de CA, comprobe que máis encadea con el. Listar os suxeitos dentro do paquete é unha comprobación de dúas liñas e responde se esa áncora fai outro traballo:

openssl crl2pkcs7 -nocrl -certfile /etc/ssl/certs/ca-certificates.crt \
  | openssl pkcs7 -print_certs -noout | grep -i example

Eliminar o ficheiro non é revogar a identidade

Unha eliminación local quita unha copia. A clave privada pode seguir nun p12 adxunto a un tícket antigo, un cartafol de copias de seguridade ou o segundo portátil configurado ao mesmo tempo. Se isto era unha identidade de cliente, a pasarela segue aceptando calquera copia desa clave ata que a identidade sexa rexeitada no lado do servidor.

Para unha OpenVPN PKI, iso significa revogar o certificado e asegurarse de que a CRL á que fai referencia crl-verify está vixente; easyrsa revoke despois easyrsa gen-crl é a versión curta. Para unha pasarela ligada a un provedor de identidade, desactive o usuario ou quite o dispositivo alí, porque o certificado é só unha credencial en xogo. Eliminar a copia local mentres a conta segue activa parece limpeza e non o é.

O traballo de incidente ten outra orde: preserve primeiro o certificado, o seu número de serie e o rexistro de revogación, e despois elimine e revogue. Eses rexistros non custan nada e non esixen deixar unha credencial operativa no seu sitio.

Verifique cun aperto de mans e unha segunda aplicación

Comprobe a cadea desde fóra, non desde a listaxe do almacén que acaba de editar. O almacén amosa a súa edición; o aperto de mans amosa o resultado.

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 código de retorno de 0 significa que as áncoras restantes seguen validando a pasarela. Un erro de cadea tras eliminar a áncora é o resultado esperado, e confirma que deu coa áncora en uso e non cun duplicado nun almacén que o cliente nunca le. Se a conexión segue funcionando, busque unha segunda copia, un almacén incrustado na aplicación ou un certificado fixado, todos habituais en clientes que traen a súa propia listaxe de confianza.

Despois probe algo non relacionado: un sitio interno, un cliente de correo, un espello de paquetes. Iso mide o radio de impacto de forma barata antes de que se peche a xanela de cambios.

  • Rol identificado como identidade, intermedio ou áncora de confianza
  • Número de serie e impresión dixital rexistrados, e a copia exportada á localización aprobada
  • Eliminación feita no ámbito máis estreito que explica o síntoma
  • Autorización do lado do servidor revogada cando unha persoa ou un dispositivo se foi
  • Aperto de mans explicado, e unha aplicación non relacionada probada de novo
  • Carga útil de MDM ou perfil de xestión actualizado, ou o certificado volve

Se o certificado volve tras un reinicio, o traballo non rematou: algo o posúe e reinstálao. Atope ese propietario antes de eliminar de novo, porque unha terceira eliminación comportarase exactamente como as dúas primeiras.

Artigos relacionados