Neko je opozvao certifikat u CA konzoli i sada se korisnik ne može povezati. Prvi instinkt je pronaći poništenje, a u većini PKI sustava ga nema: opoziv je izrečena činjenica o serijskom broju, a podržani put natrag je novi certifikat, a ne obrnuti zapis. Prođite kroz provjere ispod redom, jer koja vam je popravka dopuštena zavisi od koda razloga i od toga da li je ključ ikada bio izložen.

Identificirajte certifikat, ne osobu

Uobičajena imena se ponavljaju. Korisnik koji se ponovo upisao prošlog kvartala može imati dva certifikata s istim CN i različitim serijskim brojevima, a opoziv jednog ostavlja drugi funkcionalnim. Prvo 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 zabilježen u CRL-u. Zatim potvrdite koji uređaji predstavljaju taj serijski broj, jer opozvani certifikat može još biti instaliran na laptopu, telefonu i rezervnom ruteru, a zamjena koja stigne samo do jednog od njih stvara drugi incident.

Brza provjera ponašanja potvrđuje stanje bez ikakve promjene:

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

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

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

RFC 5280 definira 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 govori vam da li je izdavalac ikada namjeravao podržati oslobađanje.

Zamka je pretpostavka da privremena namjera znači privremeni zapis. Ako zapis u CA nosi keyCompromise ili cessationOfOperation, certifikat je trajno opozvan bez obzira na to šta je osoba koja je pritisnula dugme namjeravala. 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 ilustriraju ograničenje. Komanda ca prihvata vrijednosti -crl_reason, uključujući certificateHold i removeFromCRL, ali ne generira delta CRL-ove — OpenSSL CA dokumentacija 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 lijepljenje removeFromCRL u VPN CA zasnovan na OpenSSL-u ne proizvodi standardima definisano oslobađanje.

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

Opozvani certifikat je izjava da se ovom ključu više ne može vjerovati. Ako je opoziv bio suštinski ispravan — laptop izgubljen, ključ kopiran na dijeljeni disk, privatni ključ zalijepljen u tiket — vraćanje istog certifikata 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 cijeli njegov vijek. 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 certifikat.

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 odgovarati.

Ako je bila administrativna greška, zamijenite pod kontrolom

Kada je opoziv jednostavno bio pogrešan i ključ nikada nije bio izložen, popravka je i dalje kontrolirana zamjena, a ne uređivanje. Koristite podržani proces izdavaoca, zadržite serijski broj i historiju izdavanja i izbjegavajte dvije primamljive prečice: preokretanje statusnog znaka u index.txt iz R natrag u V i brisanje reda izdavanja kako bi novi certifikat mogao ponovo koristiti 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 mijenja sljedeć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 razići.

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

Potvrdite svjež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 provjere odobrenja koje izvodi svježi handshake, a CRL keševi znače da se klijent može nastaviti povezivati dok se ne osvježi. Prekinite, ponovo se povežite i potvrdite u serverskom dnevniku koji je serijski broj odobren.

Zabilježite šta se dogodilo dok je još svježe: koji je serijski broj opozvan, od koga, s kojim razlogom, koja je zamjena izdana i kada je CRL ponovo objavljen. Taj zapis omogućava sljedeći pregled opoziva i ujedno je dokaz da je greška riješena, a ne sakrivena.

Za kratke suspenzije u budućnosti koristite mehanizam pauze odobrenja ako ga implementacija ima — račun deaktiviran na sloju identiteta, uklonjeno članstvo u grupi, zadržan profil klijenta. To drži privremenu političku odluku odvojenom od pitanja da li je izdani certifikat još pouzdan, a upravo se ta razlika prvi put izgubila.

Povezani članci