Neko je opozvao sertifikat u CA konzoli i sada se korisnik ne može povezati. Prva pomisao je pronaći poništenje, a u većini PKI sistema ga nema: opoziv je izrečena činjenica o serijskom broju, a podržani put nazad je novi sertifikat, a ne obrnuti zapis. Prođite kroz provere ispod redom, jer dozvoljena popravka zavisi od koda razloga i od toga da li je ključ ikada bio izložen.

Identifikujte sertifikat, ne osobu

Uobičajena imena se ponavljaju. Korisnik koji se ponovo upisao prošlog kvartala može imati dva sertifikata s istim CN i različitim serijskim brojevima, a opoziv jednog ostavlja drugi u funkciji. Najpre utvrdite tačan objekat:

openssl x509 -in client.crt -noout -serial -issuer -subject -dates
openssl crl -in ca.crl -noout -text | head -40

Zapišite serijski broj, izdavaoca, datum opoziva i razlog zabeležen u CRL-u. Zatim potvrdite koji uređaji predstavljaju taj serijski broj, jer opozvani sertifikat može još biti instaliran na laptopu, telefonu i rezervnom ruteru, a zamena koja stiže samo do jednog od njih stvara drugi incident.

Brza provera ponašanja potvrđuje stanje bez ikakve promene:

openssl verify -crl_check -CAfile ca.crt -CRLfile ca.crl client.crt

Ako prijavi sertifikat kao opozvan, CRL i klijent se slažu; ako se čisto verifikuje, klijent koji držite nije opozvani i potraga se nastavlja.

Proverite da li je CA koristio zadržavanje ili trajni opoziv

RFC 5280 definiše certificateHold kao privremeno stanje, a removeFromCRL kao signal koji ga oslobađa. Taj životni ciklus je stvaran, ali nije univerzalno dugme za poništenje. Čitanje koda razloga kaže vam da li je izdavalac ikada nameravao da podrži oslobađanje.

Zamka je pretpostavka da privremena namera znači privremeni zapis. Ako zapis u CA nosi keyCompromise ili cessationOfOperation, sertifikat je trajno opozvan bez obzira na to šta je osoba koja je pritisnula dugme nameravala. Obrnuto, zapis označen certificateHold na CA koji ne implementira oslobađanje zadržavanja trajan je u praksi, jer ništa nikada neće objaviti oslobađanje.

CA zasnovani na OpenSSL-u ilustruju ograničenje. Komanda ca prihvata vrednosti -crl_reason, uključujući certificateHold i removeFromCRL, ali ne generiše delta CRL-ove — dokumentacija OpenSSL CA navodi to ograničenje za svoj CRL izlaz. Pun CRL koji jednostavno izostavlja serijski broj drugačiji je model objavljivanja od delte koja kaže "ovaj zapis je oslobođen", pa lepljenje removeFromCRL u VPN CA zasnovan na OpenSSL-u ne proizvodi standardima definisano oslobađanje.

Ako je ključ možda bio izložen, zamenite ga

Opozvani sertifikat je izjava da se ovom ključu više ne može verovati. Ako je opoziv bio suštinski ispravan — laptop izgubljen, ključ kopiran na deljeni disk, privatni ključ zalepljen u tiket — vraćanje istog sertifikata obrće sigurnosnu odluku koja je radila kako treba.

Izdajte novi par ključeva kroz proces upisa, distribuirajte novi profil i ostavite stari serijski broj opozvanim za ceo njegov vek. Ažurirajte sve što pinuje identitet po serijskom broju ili otisku, uključujući liste odobrenja, inventare uređaja i monitoring koji očekuje određeni sertifikat.

Argument pogodnosti za vraćanje starog je stvaran, ali na njega treba odgovoriti izričito, a ne tiho. "Korisniku treba pristup danas" razlog je da se ubrza izdavanje, a ne razlog da se povuče opoziv ključa za koji ne možete da odgovarate.

Ako je bila administrativna greška, zamenite pod kontrolom

Kada je opoziv jednostavno bio pogrešan i ključ nikada nije bio izložen, popravka je i dalje kontrolisana zamena, a ne uređivanje. Koristite podržani proces izdavaoca, zadržite serijski broj i istoriju izdavanja i izbegavajte dve primamljive prečice: preokretanje statusnog znaka u index.txt iz R natrag u V i brisanje reda izdavanja kako bi novi sertifikat mogao ponovo da koristi serijski broj.

Na OpenSSL CA baza je razdvojena tabulatorima i lako se pogrešno pročita, što ručno uređivanje čini primamljivim:

awk -F'\t' '$1=="R" {print $4, $3, $6}' index.txt

Čitajte je, ne pišite je. Uređivanje datoteke menja sledeći CRL bez ikakvog revizijskog traga, a svaka druga CA instanca ili sigurnosna kopija koja još drži originalni red kasnije će se s njom razilaziti.

Nakon izdavanja zamene, objavite svež CRL kroz uobičajeni mehanizam i pustite klijente da ga preuzmu. Uklanjanje CRL-a, skraćivanje njegovog veka na ništa ili onemogućavanje provere opoziva u profilu klijenta popravlja jednog korisnika slabeći svaki drugi opoziv koji je CA ikada objavio.

Potvrdite sveže odobrenje i sačuvajte zapis

Testirajte novom vezom, a ne sesijom koja je već bila otvorena. Živi tunel možda neće ponovo pokrenuti provere odobrenja koje izvodi sveži handshake, a CRL keševi znače da se klijent može nastaviti povezivati dok se ne osveži. Prekinite, ponovo se povežite i u serverskom dnevniku potvrdite koji je serijski broj odobren.

Zabeležite šta se dogodilo dok je još sveže: koji je serijski broj opozvan, od koga, s kojim razlogom, koja je zamena izdata i kada je CRL ponovo objavljen. Taj zapis omogućava sledeći pregled opoziva i ujedno je dokaz da je greška rešena, a ne skrivena.

Za kratke suspenzije ubuduće koristite mehanizam pauze odobrenja ako ga implementacija ima — nalog deaktiviran na sloju identiteta, uklonjeno članstvo u grupi, zadržan profil klijenta. To drži privremenu odluku o politici odvojenom od pitanja da li je izdati sertifikat još pouzdan, a upravo se ta razlika prvi put izgubila.

Povezani članci