Nekdo je preklical potrdilo v konzoli CA in zdaj se uporabnik ne more povezati. Prvi vzgib je poiskati razveljavitev, in pri večini PKI je ni: preklic je izjavljeno dejstvo o serijski številki, podprta pot nazaj pa je novo potrdilo, ne obrnjen zapis. Pojdite skozi spodnje preglede po vrsti, ker je dovoljeno popravilo odvisno od kode razloga in od tega, ali je bil ključ kdaj izpostavljen.

Prepoznajte potrdilo, ne osebe

Skupna imena se ponavljajo. Uporabnik, ki se je v prejšnjem četrtletju znova vpisal, ima lahko dve potrdili z isto CN in različnima serijskima številkama, preklic enega pa pusti drugo delujoče. Najprej določite natančen objekt:

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

Zapišite serijsko številko, izdajatelja, datum preklica in razlog, zabeležen v CRL. Nato potrdite, katere naprave predstavljajo to serijsko številko, ker je preklicano potrdilo lahko še vedno nameščeno na prenosnemu računalniku, telefonu in rezervnemu usmerjevalniku, zamenjava, ki doseže samo eno od njih, pa ustvari drugi incident.

Hiter vedenjski pregled potrdi stanje, ne da bi karkoli spremenil:

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

Če potrdilo prijavi kot preklicano, se CRL in odjemalec strinjata; če se čisto preveri, odjemalec, ki ga držite, ni preklicani, in iskanje se nadaljuje.

Preverite, ali je CA uporabila zadržanje ali trajni preklic

RFC 5280 opredeljuje certificateHold kot začasno stanje in removeFromCRL kot signal, ki ga sprosti. Ta življenjski cikel je resničen, ni pa splošen gumb za razveljavitev. Branje kode razloga vam pove, ali je izdajatelj kdaj nameraval podpirati sprostitev.

Past je predpostavka, da začasen namen pomeni začasen zapis. Če zapis v CA nosi keyCompromise ali cessationOfOperation, je potrdilo trajno preklicano, ne glede na to, kaj je nameravala oseba, ki je pritisnila gumb. Nasprotno je zapis, označen certificateHold, na CA, ki ne izvaja sprostitve zadržanja, v praksi trajen, ker nič nikoli ne bo objavilo sprostitve.

CA na osnovi OpenSSL ponazarjajo mejo. Ukaz ca sprejema vrednosti -crl_reason, vključno z certificateHold in removeFromCRL, vendar ne ustvarja delta CRL — dokumentacija OpenSSL CA navaja to omejitev za svoj izhod CRL. Poln CRL, ki preprosto izpusti serijsko številko, je drugačen model objavljanja kot delta, ki pravi "ta zapis je sproščen", zato lepljenje removeFromCRL v VPN CA na osnovi OpenSSL ne ustvari s standardi opredeljene sprostitve.

Če je bil ključ morda izpostavljen, ga zamenjajte

Preklicano potrdilo je izjava, da temu ključu morda ni več mogoče zaupati. Če je bil preklic vsebinsko pravilen — prenosni računalnik izgubljen, ključ kopiran na deljeni disk, zasebni ključ prilepljen v zahtevek — vzpostavitev istega potrdila obrne varnostno odločitev, ki je delovala, kot je bilo predvideno.

Izdajte nov par ključev skozi postopek vpisa, razdelite nov profil in pustite staro serijsko številko preklicano za vso njeno življenjsko dobo. Posodobite vse, kar pripenja identiteto na serijsko številko ali prstni odtis, vključno s seznami sprejema, inventarji naprav in spremljanjem, ki pričakuje določeno potrdilo.

Argument udobja za obnovitev starega je resničen, vendar je treba nanj odgovoriti izrecno in ne tiho. "Uporabnik potrebuje dostop danes" je razlog za pospešitev izdaje, ne razlog za preklic preklica ključa, za katerega ne morete odgovarjati.

Če je bila to administrativna napaka, zamenjajte pod nadzorom

Ko je bil preklic preprosto napačen in ključ ni bil nikoli izpostavljen, je popravilo še vedno nadzorovana zamenjava in ne urejanje. Uporabite podprti postopek izdajatelja, ohranite serijsko številko in zgodovino izdaje nedotaknjeni ter se izognite dvema vabljivima bližnjicama: obračanju statusnega znaka v index.txt z R nazaj na V in brisanju vrstice izdaje, da bi novo potrdilo lahko znova uporabilo serijsko številko.

Na CA OpenSSL je zbirka podatkov ločena s tabulatorji in jo je zlahka napačno brati, kar ročno urejanje naredi vabljivo:

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

Berite jo, ne pišite je. Urejanje datoteke spremeni naslednji CRL brez vsake revizijske sledi, vsak drug primerek CA ali varnostna kopija, ki še vedno vsebuje izvirno vrstico, pa se bo z njo pozneje razhajala.

Ko izdate zamenjavo, objavite svež CRL po običajnem mehanizmu in pustite odjemalcem, da ga prevzamejo. Odstranitev CRL, skrajšanje njegove življenjske dobe na nič ali onemogočanje preverjanja preklica v profilu odjemalca popravi enega uporabnika tako, da oslabi vsak drug preklic, ki ga je CA kdaj objavila.

Potrdite svež sprejem in ohranite zapis

Preizkusite z novo povezavo, ne s sejo, ki je bila že odprta. Živ tunel morda ne bo znova izvedel sprejemnih pregledov, ki jih opravi svež rokovanje, predpomnilniki CRL pa pomenijo, da se odjemalec lahko še naprej povezuje, dokler se ne osveži. Prekinite, znova se povežite in v dnevniku strežnika potrdite, katera serijska številka je bila sprejeta.

Zapišite, kaj se je zgodilo, dokler je še sveže: katera serijska številka je bila preklicana, kdo, s katerim razlogom, katera zamenjava je bila izdana in kdaj je bil CRL znova objavljen. Ta zapis omogoča naslednji pregled preklicev in je tudi dokaz, da je bila napaka obravnavana, ne skrita.

Za kratke začasne ustavitve v prihodnosti uporabite mehanizem premora sprejema, če ga uvedba ima — račun, deaktiviran na plasti identitete, odstranjeno članstvo v skupini, zadržan profil odjemalca. To loči začasno politično odločitev od vprašanja, ali je izdano potrdilo še vredno zaupanja, in prav ta razlika se je prvič izgubila.

Sorodni članki