Has perdut el certificat del client? Revoca’l pel número de sèrie, no pel nom
Un fitxer de certificat absent no és un registre absent. La revocació funciona sobre el número de sèrie que va signar la CA, així que troba aquest objecte abans d’emetre’n un reemplaçament.
El fitxer del certificat del teu client ha desaparegut i el reflex és revocar el nom i emetre’n un de nou. Aquest reflex deixa el certificat original vàlid, perquè la revocació funciona sobre un número de sèrie i no sobre una etiqueta. La CA gairebé segur que encara conserva una còpia del que va emetre, i trobar aquesta còpia és tota la feina.
Perdre un fitxer no és perdre el registre de la CA
Una PKI Easy-RSA conserva els certificats públics que ha emès, i les versions actuals també arxiven còpies per sèrie al directori certs_by_serial de la PKI. La clau privada no cal per revocar res. L’important és el certificat exacte que va signar la CA, que la CA ja té.
Treballa sobre una còpia de seguretat de la PKI correcta, amb l’administrador que la posseeix. La revocació és una operació auditable i no una reparació feta en una base de dades de producció a mitjanit.
Una còpia del certificat públic incrustat del client també serveix, si el desplegament en va conservar una.
Llegeix l’emissor i la sèrie abans que res
Inspecciona el PEM recuperat i anota l’emissor, el número de sèrie, el subjecte i la finestra de validesa. El número de sèrie és únic dins de l’abast d’un emissor, no entre totes les CA del teu entorn, així que l’emissor forma part de la identitat. Si diversos certificats comparteixen un subjecte, són aquestes sèries les que els distingeixen.
Compara els valors amb els registres de la CA i amb el dispositiu o la persona que creus que té el certificat.
Un nom comú es pot reutilitzar, i normalment es fa. No decideixis quins certificats retirar fins que les sèries estiguin anotades.
Per què revocar el certificat nou no fa res
Emetre un reemplaçament amb el mateix nom comú crea un segon certificat amb una sèrie diferent. Revocar el reemplaçament retira el nou i deixa l’original vàlid fins que caduca. Des del punt de vista de la CA són dos objectes independents, i una CRL llista sèries i no noms. L’índex de la CA manté una fila per certificat emès exactament per aquest motiu.
La mateixa confusió produeix l’error invers: esborrar el fitxer del client i suposar que la CA l’ha oblidat. Esborrar al client no és un esdeveniment de revocació, i el certificat continua funcionant per a qualsevol que en tingui una còpia.
Tots dos errors vénen de tractar el nom com la identitat.
Revoca el certificat que la sèrie anomena
Identifica l’objecte abans de tocar la CA: openssl x509 -in recovered-client.pem -noout -issuer -serial -subject -dates imprimeix els quatre valors en una sola passada, i la sèrie és el que compares amb l’arxiu de la CA. Easy-RSA guarda aquest arxiu sota pki/certs_by_serial, amb un fitxer per cada sèrie. L’ordre de revocació accepta un nom comú i no una sèrie, així que copia el fitxer arxivat a pki/issued/<common-name>.crt i deixa que el nom apunti a l’objecte que has identificat. Executa easyrsa revoke <common-name> des del directori de la PKI i després comprova que la fila corresponent a index.txt hagi passat a R. La sèrie és com tries l’objecte, no un argument que l’ordre accepti.
openssl x509 -in recovered-client.pem -noout -issuer -serial -subject -dates
cp pki/certs_by_serial/A1B2C3D4.pem pki/issued/client-01.crt
./easyrsa revoke client-01
grep -n client-01 pki/index.txt
./easyrsa gen-crl
Si index.txt no mostra R, atura’t i llegeix l’error abans de generar una CRL, perquè una CRL construïda a partir d’un registre encara vàlid no retira res. Només després que la fila canviï executes easyrsa gen-crl i passes a distribuir el fitxer.
Publica la CRL on realment s’aplica
Genera una CRL nova mitjançant el flux de treball admès per la PKI i publica-la a cada verificador que aplica les revocacions d’aquest emissor.
Un fitxer actualitzat que reposa a la CA no canvia res, perquè la VPN acaba la decisió al seu propi verificador. Comprova l’emissor de la CRL, el període de validesa i les sèries revocades, i confirma que el servei recarrega el fitxer en lloc d’emmagatzemar en memòria cau l’anterior. La propietat i el camí importen tant com el contingut: una CRL que el dimoni no pot llegir és indistingible de no tenir-ne cap. L’opció crl-verify d’OpenVPN anomena el fitxer que llegeix el dimoni, així que comprova aquest camí i la propietat del fitxer a la configuració del servidor.
Verifica amb un intent de connexió real, no amb la marca temporal del fitxer.
Sàpigues quan una CRL és l’eina equivocada
Si la clau privada de l’emissor ja no és de confiança, retirar sèries conegudes no pot aturar un posseïdor no autoritzat que signi certificats nous. Això és una transició de confiança de l’emissor, és a dir, una CA nova i un pla de distribució, no una altra entrada a la CRL. Que un antic administrador hagués tingut accés no és per si sol prova que la clau s’hagi malusat, així que obtén els fets abans de reconstruir la confiança.
Editar la base de dades d’emissió a mà per girar una lletra d’estat no substitueix una revocació signada, i deixa la CRL inconsistent amb els registres.
Tingues la sèrie, la CRL i el pas de distribució en una sola nota, i la propera auditoria es converteix en una lectura. El projecte Easy-RSA documenta les ordres admeses per a la versió que tens instal·lada, i aquesta és l’única interfície que val la pena seguir.