Некој откажа сертификат во конзолата на CA и сега корисникот не може да се поврзе. Првиот инстинкт е да се најде враќањето, а во повеќето PKI го нема: откажувањето е изјавен факт за сериски број, а поддржаниот пат назад е нов сертификат, не обратен запис. Поминете ги проверките подолу по ред, бидејќи дозволената поправка зависи од кодот на причината и од тоа дали клучот некогаш бил изложен.

Идентификувајте го сертификатот, не лицето

Заедничките имиња се повторуваат. Корисник кој се запишал повторно минатиот квартал може да има два сертификати со ист CN и различни сериски броеви, а откажувањето на едниот го остава другиот во функција. Прво утврдете го точниот објект:

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

Запишете го серискиот број, издавачот, датумот на откажување и причината запишана во CRL. Потоа потврдете кои уреди го презентираат тој сериски број, бидејќи откажан сертификат може сѐ уште да биде инсталиран на преносен компјутер, телефон и резервен рутер, а замената што стигнува само до еден од нив создава втор инцидент.

Брза проверка на однесувањето ја потврдува состојбата без ништо да се промени:

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

Ако го пријави сертификатот како откажан, CRL и клиентот се согласуваат; ако се верификува чисто, клиентот што го држите не е откажаниот, и пребарувањето продолжува.

Проверете дали CA користел задржување или трајно откажување

RFC 5280 го дефинира certificateHold како привремена состојба, а removeFromCRL како сигналот што ја ослободува. Тој животен циклус е реален, но не е универзално копче за враќање. Читањето на кодот на причината ви кажува дали издавачот некогаш имал намера да поддржи ослободување.

Стапицата е да се претпостави дека привремената намера значи привремен запис. Ако записот во CA носи keyCompromise или cessationOfOperation, сертификатот е трајно откажан, без оглед на тоа што имал намера лицето што го притиснало копчето. Обратно, запис означен certificateHold на CA што не спроведува ослободување на задржување е траен во пракса, бидејќи ништо никогаш нема да го објави ослободувањето.

CA засновани на OpenSSL ја илустрираат границата. Командата ca прифаќа вредности -crl_reason, вклучително certificateHold и removeFromCRL, но не генерира делта CRL — документацијата на OpenSSL CA го наведува тоа ограничување за својот CRL излез. Целосен CRL што едноставно го испушта серискиот број е различен модел на објавување од делта што вели "овој запис е ослободен", па залепувањето на removeFromCRL во VPN CA заснована на OpenSSL не го произведува стандардно дефинираното ослободување.

Ако клучот можел да биде изложен, заменете го

Откажан сертификат е изјава дека на овој клуч повеќе не може да му се верува. Ако откажувањето било суштински точно — изгубен преносен компјутер, клуч копиран на споделен диск, приватен клуч залепен во тикет — враќањето на истиот сертификат ја превртува безбедносната одлука што работела како што треба.

Издадете нов пар клучеви преку процесот на запишување, распоредете го новиот профил и оставете го стариот сериски број откажан за целиот негов век. Ажурирајте сѐ што го прицврстува идентитетот по сериски број или отпечаток, вклучително списоци за прием, инвентари на уреди и мониторинг што очекува конкретен сертификат.

Аргументот за погодност да се врати стариот е реален, но треба да се одговори експлицитно, не тивко. "На корисникот му треба пристап денес" е причина да се забрза издавањето, не причина да се повлече откажувањето на клуч за кој не можете да дадете сметка.

Ако било административна грешка, заменете под контрола

Кога откажувањето едноставно било погрешно и клучот никогаш не бил изложен, поправката е сѐ уште контролирана замена, а не уредување. Користете го поддржаниот процес на издавачот, запазете го серискиот број и историјата на издавање недопрени и избегнувајте ги двата привлечни кратенки: превртување на знакот за состојба во index.txt од R назад во V, и бришење на редот за издавање за да може новиот сертификат повторно да го користи серискиот број.

На CA OpenSSL базата на податоци е одделена со табулатори и лесно се чита погрешно, што рачното уредување го прави привлечно:

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

Читајте ја, не пишувајте ја. Уредувањето на датотеката го менува следниот CRL без никаква ревизорска трага, и секоја втора инстанца на CA или резервна копија што сѐ уште ја држи оригиналната редица подоцна ќе се разидува со неа.

Откако ќе ја издадете замената, објавете свеж CRL преку нормалниот механизам и оставете клиентите да го преземат. Отстранувањето на CRL, скратувањето на неговиот век на ништо или исклучувањето на проверката за откажување во профилот на клиентот поправа еден корисник со слабеење на секое друго откажување што CA некогаш го објавил.

Потврдете свеж прием и зачувајте го записот

Тестирајте со нова врска, не со сесијата што веќе била отворена. Живиот тунел може повторно да не ги изврши проверките за прием што ги прави свежо ракување, а CRL кешовите значат дека клиентот може да продолжи да се поврзува додека не се освежи. Исклучете се, поврзете се повторно и потврдете во дневникот на серверот кој сериски број бил примен.

Запишете што се случило додека е сѐ уште свежо: кој сериски број бил откажан, од кого, со која причина, која замена била издадена и кога CRL бил повторно објавен. Тој запис ја овозможува следната ревизија на откажувањето и е доказ дека грешката била решена, а не скриена.

За идни кратки суспензии користете механизам за пауза на приемот ако распоредот го има — сметка деактивирана на слојот за идентитет, отстрането членство во група, задржан профил на клиент. Тоа ја држи привремената одлука за политика одвоена од прашањето дали издадениот сертификат сѐ уште е доверлив, и токму таа разлика се изгуби првиот пат.

Поврзани статии