Niekto zrušil certifikát v konzole CA a používateľ sa teraz nemôže pripojiť. Prvý inštinkt je nájsť vrátenie späť, a pri väčšine PKI žiadne neexistuje: zrušenie je deklarovaný fakt o sériovom čísle a podporovaná cesta späť je nový certifikát, nie obrátený záznam. Prejdite nižšie uvedené kontroly v poradí, pretože povolená oprava závisí od kódu dôvodu a od toho, či bol kľúč niekedy vystavený.

Identifikujte certifikát, nie osobu

Všeobecné názvy sa opakujú. Používateľ, ktorý sa v minulom štvrťroku znovu zapísal, môže mať dva certifikáty s rovnakým CN a rôznymi sériovými číslami, a zrušenie jedného nechá druhý fungovať. Najprv určte presný objekt:

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

Zapíšte sériové číslo, vydavateľa, dátum zrušenia a dôvod zaznamenaný v CRL. Potom potvrďte, ktoré zariadenia predkladajú toto sériové číslo, pretože zrušený certifikát môže byť stále nainštalovaný na notebooku, telefóne a záložnom routeri, a náhrada, ktorá sa dostane len k jednému z nich, vytvorí druhý incident.

Rýchla behaviorálna kontrola potvrdí stav bez toho, aby čokoľvek zmenila:

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

Ak hlási certifikát ako zrušený, CRL a klient sa zhodujú; ak sa overí čisto, klient, ktorého držíte, nie je ten zrušený, a hľadanie pokračuje.

Skontrolujte, či CA použila pozastavenie alebo trvalé zrušenie

RFC 5280 definuje certificateHold ako dočasný stav a removeFromCRL ako signál, ktorý ho uvoľňuje. Tento životný cyklus je skutočný, ale nie je to všeobecné tlačidlo späť. Čítanie kódu dôvodu vám povie, či vydavateľ niekedy zamýšľal podporovať uvoľnenie.

Pasca spočíva v predpoklade, že dočasný zámer znamená dočasný záznam. Ak záznam v CA nesie keyCompromise alebo cessationOfOperation, certifikát je trvalo zrušený bez ohľadu na to, čo zamýšľala osoba, ktorá stlačila tlačidlo. Naopak záznam označený certificateHold na CA, ktorá neuvoľňuje pozastavenie, je v praxi trvalý, pretože nič nikdy neuvoľnenie nezverejní.

CA založené na OpenSSL ilustrujú limit. Príkaz ca prijíma hodnoty -crl_reason, vrátane certificateHold a removeFromCRL, ale negeneruje delta CRL — dokumentácia OpenSSL CA uvádza toto obmedzenie pre svoj výstup CRL. Plný CRL, ktorý sériové číslo jednoducho vynechá, je iný model publikovania než delta, ktorá hovorí "tento záznam je uvoľnený", takže vloženie removeFromCRL do VPN CA založenej na OpenSSL neprodukuje normami definované uvoľnenie.

Ak mohol byť kľúč vystavený, vymeňte ho

Zrušený certifikát je vyhlásenie, že tomuto kľúču už nemožno dôverovať. Ak bolo zrušenie vecne správne — notebook stratený, kľúč skopírovaný na zdieľaný disk, súkromný kľúč vložený do tiketu — obnovenie toho istého certifikátu obracia bezpečnostné rozhodnutie, ktoré fungovalo podľa zámeru.

Vydajte nový pár kľúčov prostredníctvom registračného procesu, rozšírte nový profil a ponechajte staré sériové číslo zrušené po celú dobu jeho životnosti. Aktualizujte všetko, čo pripína identitu k sériovému číslu alebo odtlačku prsta, vrátane zoznamov prijatia, inventárov zariadení a monitorovania, ktoré očakáva konkrétny certifikát.

Argument pohodlnosti pre obnovenie starého je skutočný, ale musí dostať výslovnú odpoveď, nie tichú. "Používateľ potrebuje prístup dnes" je dôvod zrýchliť vydanie, nie dôvod zrušiť zrušenie kľúča, za ktorý nedokážete zodpovedať.

Ak išlo o administratívnu chybu, vymeňte pod kontrolou

Keď bolo zrušenie jednoducho nesprávne a kľúč nikdy nebol vystavený, oprava je stále riadená výmena, nie úprava. Použite podporovaný proces vydavateľa, zachovajte sériové číslo a históriu vydávania a vyhnite sa dvom lákavým skratkám: prevráteniu stavového znaku v index.txt z R späť na V a vymazaniu riadku vydania, aby nový certifikát mohol znova použiť sériové číslo.

Na CA OpenSSL je databáza oddelená tabulátormi a ľahko sa prečíta nesprávne, čo robí ručné úpravy lákavými:

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

Čítajte ju, nepíšte do nej. Úprava súboru zmení nasledujúci CRL bez akejkoľvek audítorskej stopy a akákoľvek druhá inštancia CA alebo záloha, ktorá stále drží pôvodný riadok, sa s ňou neskôr rozíde.

Po vydaní náhrady zverejnite nový CRL obvyklým mechanizmom a nechajte klientov, aby si ho vyzdvihli. Odstránenie CRL, skrátenie jeho životnosti na nulu alebo vypnutie kontroly zrušenia v profile klienta opraví jedného používateľa tým, že oslabí každé ďalšie zrušenie, ktoré CA kedy zverejnila.

Potvrďte nové prijatie a uchovajte záznam

Testujte novým pripojením, nie reláciou, ktorá už bola otvorená. Živý tunel nemusí znova spustiť kontroly prijatia, ktoré vykonáva nový handshake, a vyrovnávacie pamäte CRL znamenajú, že klient sa môže pripájať ďalej, kým sa neobnoví. Odpojte sa, pripojte sa znova a v protokole servera potvrďte, ktoré sériové číslo bolo prijaté.

Zaznamenajte, čo sa stalo, kým je to ešte čerstvé: ktoré sériové číslo bolo zrušené, kým, s akým dôvodom, ktorá náhrada bola vydaná a kedy bol CRL znova zverejnený. Tento záznam umožňuje ďalšiu revíziu zrušenia a je aj dôkazom, že chyba bola riešená, nie skrytá.

Pre krátke pozastavenia v budúcnosti použite mechanizmus pauzy prijatia, ak ho nasadenie má — účet deaktivovaný v identitnej vrstve, odstránené členstvo v skupine, zadržaný profil klienta. To drží dočasné politické rozhodnutie oddelene od otázky, či je vydaný certifikát ešte dôveryhodný, a presne tento rozdiel sa prvýkrát stratil.

Súvisiace články