Certificat de client autosignat? El servidor VPN encara el rebutja
Un certificat de client ha d'enllaçar amb l'AC en què confia el servidor, i un d'autosignat mai no ho farà. Aquí tens què pot fer una CSR i què cal demanar.
L'operador envia una adreça i un nom d'usuari, i el client demana un fitxer d'AC, un certificat i una clau. Generar aquests tres localment sembla el següent pas obvi. Es produeix un certificat en què només confia la teva pròpia màquina. La confiança del servidor està ancorada en una AC que no controles, així que l'apretada de mà acaba abans de començar.
La confiança viu al servidor, no al teu perfil
L'autenticació amb certificat és una comparació. El client presenta un certificat; la passarel·la comprova si l'ha signat una de les AC de la seva configuració.
El teu perfil indica el fitxer d'AC que el client ha d'utilitzar per verificar el servidor. No pot indicar una AC que el servidor hagi d'utilitzar per verificar-te. Aquesta meitat de la configuració no és teva.
Un certificat fet per tu falla aquesta comparació fins i tot quan és tècnicament perfecte. Té una signatura vàlida, un subjecte i dates, però l'emissor és una AC de la qual la passarel·la no ha sentit parlar mai. L'error apareix durant l'apretada de mà, després que el servidor ja hagi demanat un certificat. Res del perfil del client no pot canviar la resposta.
Per què un certificat autosignat no pot substituir-lo
Un certificat autosignat està signat amb la seva pròpia clau. La signatura es verifica contra el mateix fitxer, cosa que el fa autoconsistent i inútil com a credencial per a la passarel·la d'un altre.
La passarel·la no pregunta si el certificat és internament coherent. Pregunta si l'ha signat un emissor de confiança.
És per això que els missatges d'error són confusos. El client pot informar d'una fallada de verificació que sona com un problema del servidor, mentre el servidor registra un emissor desconegut. Tots dos descriuen la mateixa discrepància des de costats oposats.
El camí de la CSR conserva la teva clau privada
Encara pots fer la major part de la feina localment. Genera un parell de claus, construeix una sol·licitud de signatura de certificat al voltant de la meitat pública i envia aquesta sol·licitud a l'operador. Només la sol·licitud surt de la teva màquina. La meitat privada es queda on la vas generar.
openssl req -new -newkey rsa:3072 -nodes -keyout client.key -out client.csr -subj "/CN=laptop-01"
L'operador signa la sol·licitud amb la seva AC i retorna un certificat. La teva clau privada no ha viatjat mai, i el resultat enllaça amb l'àncora en què confia la passarel·la.
Els serveis gestionats sovint s'estalvien la CSR i emeten el paquet sencer. És un intercanvi raonable quan el mateix proveïdor ja acaba el túnel i té l'AC. La custòdia de la clau no millora perquè la guardis, perquè el proveïdor podria encunyar-ne una de nova en qualsevol moment.
Els paquets s'importen, no s'instal·len
Els paquets de proveïdors amb noms que sonen a seguretat sovint són perfils d'OpenVPN. Contenen configuració i de vegades certificats, i no instal·len res. Importa el fitxer en un client que parli el protocol, i la connexió queda configurada.
La regla de manipulació es dedueix del contingut. Si el perfil incrusta una clau privada, és una credencial i mereix la mateixa cura que una contrasenya: cap correu, cap repositori, cap carpeta de baixades compartida. Quan l'operador subministra ca.crt, client.crt i client.key per separat, guarda'ls junts amb permisos restrictius i apunta-hi el perfil.
Afegeix les comprovacions que l'operador pot haver omès
Un perfil generat pel router de vegades no té verificació de l'homòleg. remote-cert-tls server exigeix que el certificat de l'homòleg porti la finalitat d'autenticació del servidor, de manera que un certificat de client no es pugui reproduir com a servidor. Aquesta línia és un canvi petit amb una justificació clara.
verify-x509-name va més enllà quan l'operador pot indicar el subjecte o el SAN esperats. Totes dues són addicions petites a un perfil, i totes dues són defensables. Inspecciona què has rebut abans d'importar-ho.
openssl x509 -in client.crt -noout -issuer -subject -dates
openssl verify -CAfile ca.crt client.crt
La configuració de verificació no és una reparació d'una cadena trencada. Si l'emissor és incorrecte, la resposta és un certificat de l'AC correcta, no un indicador que desactivi la comprovació. Desactivar la verificació converteix una fallada d'autenticació en una de no detectada.
Demana un sol paquet: el certificat de l'autoritat en PEM, un certificat de client signat per aquesta autoritat, una clau que hagis generat tu o que hagi arribat per un canal en què confiïs, i el nom exacte del servidor que el certificat ha de presentar. Anota la data de caducitat al mateix missatge, perquè un certificat vençut sembla una fallada de xarxa mesos després.