Onde debe vivir unha clave privada de VPN: ficheiro, CNG ou TPM?
Escolla entre un ficheiro de clave, un almacén de software non exportable e un TPM para unha identidade VPN, e demostre a elección con comandos e un plan de reversión.
Dúas preguntas deciden onde pertence unha clave privada de VPN: se o material da clave pode copiarse fóra do host, e se un proceso pode usala sen ninguén no teclado. A etiqueta de mercadotecnia dun almacén non responde a ningunha das dúas. Un daemon de túnel que debe volver despois dun reinicio necesita uso desatendido, o que exclúe todo o que dependa dun PIN escrito por unha persoa.
Escolla entre copiar e usar
Copiar e usar fallan de forma diferente, así que tráteos como dous requisitos en vez de un. Un atacante que pode ler os bytes da clave leva a identidade a outro host, e a máquina orixinal non se decata. Un atacante que non pode ler os bytes pero pode chegar ao proceso de sinatura segue autenticándose mentres dure ese acceso.
Unha clave en ficheiro é trivialmente copiable, e por iso tamén é a máis doada de apoiar e restaurar. Un almacén de claves de software cambia a API, non a fronteira: o provedor rexeita as súas propias chamadas de exportación, pero o mesmo contexto de administrador que instalou a clave adoita ter outras rutas cara ao material. Non exportable nun provedor de software é unha afirmación sobre operacións admitidas, non unha proba dun muro de hardware. Tráteo como un resalto para a copia casual, non como protección contra alguén que xa ten a súa sesión.
Un TPM ou unha tarxeta intelixente executa a operación de sinatura dentro do hardware e devolve só o resultado. Iso pecha a ruta de copia e deixa aberta a ruta de uso para calquera cousa que poida pedir unha sinatura.
Axuste o almacén ao daemon do túnel
O daemon limita isto máis que a política de seguridade. WireGuard toma unha clave privada base64 dun ficheiro ou da entrada de wg set e non ten ruta cara a un almacén de certificados, polo que unha clave de interface con respaldo TPM non está sobre a mesa. OpenVPN compilado contra OpenSSL 3 pode cargar unha clave mediante un URI de provedor, e strongSwan envía un plugin TPM xunto co soporte de PKCS#11, pero ambos dependen de como se compilou o seu paquete.
Un daemon que non pode chegar ao almacén escollido converte a fronteira de hardware en decoración. Alguén exporta a clave unha vez, déixaa nun ficheiro, e o resto do deseño execútase en silencio sobre esa copia.
A renovación é a outra metade do emparellamento, e é onde fallan a maioría dos deseños. Un almacén que funciona para a primeira inscrición pero esixe un inicio de sesión en consola para cada reemisión eludirase a primeira vez que un certificado caduque nunha hora incómoda. Proba a ruta de reemisión mentres a clave actual aínda ten meses por diante.
Inventarie a clave antes de movela
Rexistre que é a clave antes de cambiar onde vive, porque unha migración que perde os subject alternative names rompe o túnel dun xeito que se le como un fallo de enrutamento. Volque o certificado, confirme que a clave privada é lexible onde o daemon a espera, e comprobe que o par realmente coincide.
openssl x509 -in vpn.crt -noout -subject -ext subjectAltName
openssl pkey -in vpn.key -check -noout
openssl x509 -in vpn.crt -noout -pubkey | openssl sha256
openssl pkey -in vpn.key -pubout | openssl sha256
Os dous últimos resumos deben ser idénticos. Se non o son, o daemon remata a súa configuración e despois falla cada intento cun erro de certificado ou sinatura que non apunta preto da causa real. O equivalente de WireGuard é máis curto, porque a clave pública derívase directamente da privada: wg pubkey < /etc/wireguard/wg0.key ten que imprimir a clave do par que o seu servidor xa ten gardada.
Os permisos pertencen ao mesmo inventario. stat -c '%a %U:%G' /etc/wireguard/wg0.key debería devolver 600 root:root, e calquera cousa lexible por grupo ou polo mundo significa que a clave xa estivo dispoñible para procesos que nunca pretendía.
Comprobe o almacén e a ruta de uso
A verificación ten tres partes, e a terceira é a que se salta. Confirme que a clave existe no almacén escollido, confirme que o daemon cargou esa clave e non unha copia esquecida, e despois confirme que aínda arranca cando o artefacto de exportación xa non está.
certutil -store -user My
certutil -csp "Microsoft Platform Crypto Provider" -key -user
certutil -verifykeys -user My
ipsec listcerts
En Windows o primeiro comando lista o almacén persoal e imprime o provedor de claves xunto a cada entrada, e alí aparece un certificado que parece respaldado por hardware pero está no provedor de software. O segundo lista claves que mantén o provedor criptográfico da plataforma, polo que unha identidade VPN que falta alí mentres o seu certificado está presente significa que a metade privada vive noutro sitio. Nunha pasarela Linux, ipsec listcerts informa do que cargou strongSwan, incluídas as claves que veñen do plugin TPM. Compare impresións dixitais ou hashes de clave pública co inventario en vez de confiar no número de entradas.
A proba negativa é a que demostra o deseño. Mova a clave exportada fóra do directorio de configuración do daemon, reinicie o servizo e lea no rexistro que identidade presenta. Un túnel que aínda sobe está a usar o almacén; un arranque fallido significa que o deseño realmente corría sobre unha copia.
Escriba a renovación e a reversión
A reversión difire moito entre as dúas familias, e esa diferenza pertence á nota de deseño, non a unha chamada de incidente. Unha clave en ficheiro pódese apoiar cifrada e restaurar, polo que unha migración fallida é reversible. Unha clave non exportable non se pode apoiar en absoluto, o que fai da reemisión e a reinscrición a única vía de recuperación cando o dispositivo morre.
Comprobe a caducidade antes de que se converta nunha interrupción: openssl x509 -in vpn.crt -noout -checkend 2592000 remata cun código distinto de cero cando o certificado caduca dentro de trinta días, polo que entra directamente nunha comprobación de monitorización. Unha execución semanal desa liña captura a renovación que ninguén programara.
A eliminación ocorre no servidor: borre o par ou revogue o número de serie, e despois confirme que o túnel falla, xa que un cliente cunha sesión en caché pode agochar unha revogación a medias durante un tempo. A revogación tamén ten que chegar á ruta CRL ou OCSP do concentrador, non só á base de datos da CA. Un certificado é un documento público, e o perfil RFC 5280 cobre como se valida; nada desa validación protexe unha clave privada copiada antes da rotación.
Escriba a decisión nun só lugar: que almacén garda a clave, que proceso pode usala, quen pode reemitila e cal é a reversión. Ese parágrafo é o que piden os auditores, e é o que sobrevive a un cambio de persoal.