Tilbagekaldte du det forkerte VPN-certifikat? Gendannelsesmuligheder og grænser
Identificér udstederen, serienummeret og årsagskoden, før du rører CA'en. Permanent tilbagekaldelse, certifikatspærring og en adgangspause er tre reparationer.
Nogen har tilbagekaldt et certifikat i CA-konsollen, og nu kan en bruger ikke oprette forbindelse. Den første indskydelse er at finde fortryd-knappen, og for de fleste PKI'er findes den ikke: tilbagekaldelse er et erklæret faktum om et serienummer, og den understøttede vej tilbage er et nyt certifikat, ikke en omvendt post. Gå gennem kontrollerne nedenfor i rækkefølge, fordi det afhænger af årsagskoden og af, om nøglen nogensinde blev afsløret, hvilken reparation du må bruge.
Identificér certifikatet, ikke personen
Almindelige navne gentages. En bruger, der blev tilmeldt igen i sidste kvartal, kan have to certifikater med samme CN og forskellige serienumre, og tilbagekaldelse af det ene lader det andet virke. Fastslå først det præcise objekt:
openssl x509 -in client.crt -noout -serial -issuer -subject -dates
openssl crl -in ca.crl -noout -text | head -40
Skriv serienummeret, udstederen, tilbagekaldelsesdatoen og årsagen, der er registreret i CRL'en, ned. Bekræft derefter, hvilke enheder der præsenterer det serienummer, fordi et tilbagekaldt certifikat stadig kan være installeret på en bærbar computer, en telefon og en ekstra router, og en erstatning, der kun når en af dem, giver en ny hændelse.
En hurtig adfærdskontrol bekræfter tilstanden uden at ændre noget:
openssl verify -crl_check -CAfile ca.crt -CRLfile ca.crl client.crt
Hvis den rapporterer certifikatet som tilbagekaldt, er CRL'en og klienten enige; hvis den verificerer rent, er den klient, du holder, ikke den tilbagekaldte, og søgningen fortsætter.
Kontrollér, om CA'en brugte spærring eller permanent tilbagekaldelse
RFC 5280 definerer certificateHold som en midlertidig tilstand og removeFromCRL som signalet, der frigiver den. Den livscyklus er reel, men den er ikke en generel fortryd-knap. Læsning af årsagskoden fortæller dig, om udstederen nogensinde havde til hensigt at understøtte frigivelse.
Fælden er at antage, at en midlertidig hensigt betyder en midlertidig post. Hvis CA-posten bærer keyCompromise eller cessationOfOperation, er certifikatet permanent tilbagekaldt, uanset hvad personen, der klikkede på knappen, mente. Omvendt er en post markeret certificateHold på en CA, der ikke implementerer spærringsfrigivelse, i praksis permanent, fordi intet nogensinde vil offentliggøre frigivelsen.
OpenSSL-baserede CA'er illustrerer grænsen. Kommandoen ca accepterer -crl_reason-værdier, herunder certificateHold og removeFromCRL, men den genererer ikke delta-CRL'er — OpenSSL CA-dokumentationen angiver den begrænsning for sit CRL-output. En fuld CRL, der blot udelader serienummeret, er en anden offentliggørelsesmodel end en delta, der siger "denne post er frigivet", så indsættelse af removeFromCRL i en OpenSSL-baseret VPN-CA giver ikke den standarddefinerede frigivelse.
Hvis nøglen kan være blevet afsløret, skal den udskiftes
Et tilbagekaldt certifikat er en erklæring om, at denne nøgle muligvis ikke længere kan betros. Hvis tilbagekaldelsen var sagligt korrekt — bærbar computer tabt, nøgle kopieret til en delt drev, privat nøgle indsat i en sag — vender gendannelsen af det samme certifikat en sikkerhedsbeslutning, der fungerede efter hensigten.
Udsted et nyt nøglepar gennem tilmeldingsprocessen, distribuer det nye profil og lad det gamle serienummer være tilbagekaldt i hele dets levetid. Opdatér alt, der fastgør identitet via serienummer eller fingeraftryk, herunder adgangslister, enhedsoversigter og overvågning, der forventer et bestemt certifikat.
Bekvemmelighedsargumentet for at gendanne det gamle er reelt, men det bør besvares udtrykkeligt og ikke stille. "Brugeren har brug for adgang i dag" er en grund til at fremskynde udstedelsen, ikke en grund til at ophæve tilbagekaldelsen af en nøgle, du ikke kan redegøre for.
Hvis det var en administrativ fejl, skal du udskifte under kontrol
Når tilbagekaldelsen simpelthen var forkert, og nøglen aldrig blev afsløret, er reparationen stadig en kontrolleret udskiftning og ikke en redigering. Brug udstederens understøttede proces, hold serienummeret og udstedelseshistorikken intakt, og undgå de to fristende genveje: at vende statustegnet i index.txt fra R tilbage til V og at slette udstedelsesrækken, så et nyt certifikat kan genbruge serienummeret.
På en OpenSSL-CA er databasen tabulatoradskilt og let at læse forkert, hvilket gør manuel redigering tillokkende:
awk -F'\t' '$1=="R" {print $4, $3, $6}' index.txt
Læs den, skriv ikke i den. Redigering af filen ændrer den næste CRL uden noget revisionsspor, og enhver anden CA-instans eller sikkerhedskopi, der stadig har den oprindelige række, vil senere være uenig med den.
Når du har udstedt erstatningen, skal du offentliggøre en frisk CRL gennem den normale mekanisme og lade klienterne hente den. At fjerne en CRL, forkorte dens levetid til ingenting eller deaktivere tilbagekaldelseskontrol i klientprofilen retter én bruger ved at svække enhver anden tilbagekaldelse, som CA'en nogensinde har offentliggjort.
Bekræft en frisk adgang, og gem posten
Test med en ny forbindelse, ikke den session, der allerede var åben. En levende tunnel kører muligvis ikke de adgangskontroller igen, som et frisk håndtryk udfører, og CRL-cache betyder, at en klient kan fortsætte med at forbinde, indtil den opdateres. Afbryd, genopret forbindelsen, og bekræft i serverloggen, hvilket serienummer der blev tilladt.
Registrér, hvad der skete, mens det stadig er frisk: hvilket serienummer der blev tilbagekaldt, af hvem, med hvilken årsag, hvilken erstatning der blev udstedt, og hvornår CRL'en blev genoffentliggjort. Den registrering er det, der gør den næste tilbagekaldelsesgennemgang mulig, og den er også beviset for, at fejlen blev håndteret i stedet for skjult.
Brug en adgangspausemekanisme til korte suspenderinger i fremtiden, hvis udrulningen har en — en konto deaktiveret i identitetslaget, et fjernet gruppemedlemskab, en tilbageholdt klientprofil. Det holder en midlertidig politikbeslutning adskilt fra spørgsmålet om, hvorvidt et udstedt certifikat stadig er troværdigt, og det er præcis den sondring, der gik tabt første gang.