Reemiterea unui certificat de laptop sub același nume comun pare o înlocuire, și toată lumea presupune că cel vechi este mort. Nu este. Predecesorul rămâne un certificat valid semnat de aceeași autoritate, iar orice control care admite clienți după nume îl va admite în continuare. Ceea ce separă o verificare de identitate de o verificare de acreditare este numărul de serie, și acolo trebuie să fie remedierea.

Începeți cu politica de denumire pe care o folosește serverul

Două controale sunt confundate: admiterea unui client pentru că susține că este cineva, și scoaterea din serviciu a unui certificat anume. Primul este o verificare a numelui, al doilea este o verificare a revocării. Răspund la întrebări diferite, iar o implementare poate avea unul fără celălalt.

Citiți configurația serverului și notați ce sursă de identitate este în joc. username-as-common-name face din numele de utilizator autentificat numele efectiv pentru căutările specifice clientului. Fără el, se folosește numele comun al subiectului din certificat. Orice ar fi răspunsul, notați-l înainte de a atinge vreo listă de permisiuni.

Cele două căi produc un set diferit de nume permise pentru același certificat. A ghici aici înseamnă a edita fișierul greșit și a concluziona că controlul nu funcționează.

Verificați ce admite de fapt un client

Un client-config-dir cu un fișier potrivit furnizează opțiuni specifice clientului; singur nu este o regulă de admitere. Admiterea după nume necesită ccd-exclusive, care refuză clienții fără fișier potrivit. Activarea acestuia într-o implementare activă deconectează pe toți cei al căror nume nu are fișier, așa că numărați fișierele înainte de a schimba ceva.

grep -nE 'ccd-exclusive|client-config-dir|username-as-common-name' /etc/openvpn/server/server.conf
ls -1 /etc/openvpn/ccd/

Numărul este verificarea: comparați listarea directorului cu identitățile care vă așteptați să se conecteze.

Apoi confirmați că fiecare nume de fișier corespunde exact identității efective, inclusiv majusculele și spațiile. Un fișier pentru office-laptop nu face nimic unui certificat al cărui subiect se citește Office-Laptop. Spațiile de la final se ascund și ele de o listare simplă, și astfel un fișier care pare prezent rămâne necitit.

Verificați CRL-ul pe care îl încarcă gateway-ul

O CRL numește certificatele revocate după emitent și număr de serie, iar aceasta este granularitatea care lipsește verificării numelui. Două certificate pot împărtăși un nume comun și diferi prin numărul de serie, iar doar o listă la nivel de număr de serie le separă.

Confirmați calea configurată, data emiterii și câmpul următoarei actualizări înainte de a avea încredere în fișier.

openssl crl -in /etc/openvpn/crl.pem -noout -lastupdate -nextupdate
openssl x509 -in office-laptop.crt -noout -serial -subject

Comparați numărul de serie din CRL cu numărul de serie de pe certificatul pe care intenționați să îl păstrați. Acea comparație este întregul test, iar a o face o dată cu ochii valorează mai mult decât a avea încredere într-un script pe care nimeni nu l-a citit. Distribuiți CRL-ul actualizat pe calea pe care gateway-ul o citește deja. Un CRL aflat în directorul greșit nu impune nimic, și niciun jurnal de client nu îl va menționa.

Înlocuiți, apoi dovediți ambele rezultate

Emiteți înlocuitorul sub același nume comun, înregistrați ambele numere de serie și abia apoi revocați-l pe cel vechi. Această ordine păstrează o identitate funcțională disponibilă cât timp pregătiți schimbarea.

Testați mai întâi înlocuitorul: ar trebui să se autentifice și să ajungă la tot ce îi dă dreptul numele. Apoi testați certificatul vechi și confirmați că este refuzat, pentru că o înlocuire reușită nu spune nimic despre revocare. Dacă ambele se conectează în continuare, intrarea de revocare nu este citită sau numărul de serie vechi nu a fost niciodată listat. Dacă niciunul nu se conectează, ați stricat regula de admitere, nu acreditarea.

Sesiunile deja stabilite sunt o chestiune separată, pentru că revocarea se aplică autentificărilor noi dacă gateway-ul nu este configurat și să închidă conexiunile active. Decideți dacă eliminarea imediată este necesară înainte de a promite asta cuiva.

Ce nu poate face niciodată o verificare a numelui

O listă de permisiuni răspunde dacă această identitate se poate conecta. Nu poate spune ce certificat a folosit acea identitate și va admite o acreditare mai veche atât timp cât acreditarea rămâne validă și nerevocată. Această lacună apare în timpul unui incident, când înlocuitorul a fost emis cu luni în urmă, iar predecesorul încă funcționează.

Acolo unde este necesar control la nivel de certificat, folosiți un mecanism care numește certificatul: intrări CRL sau un cârlig de verificare care controlează o amprentă întreținută de operator. Ambele costă mentenanță și ambele sunt sincere cu privire la obiectul pe care îl examinează. manualul OpenVPN 2.6 documentează crl-verify și admiterea specifică clientului ca opțiuni separate, exact din acest motiv.

Notați ce control face ce sarcină, apoi testați cazul negativ. O revocare pe care nu ați văzut-o niciodată refuzând o conexiune este o configurație pe care sperați că funcționează.

Articole similare