Изгубљен клијентски сертификат? Опозовите по серијском броју, не по имену
Недостајућа датотека сертификата није недостајући запис. Опозив ради на серијском броју који је CA потписала, зато пронађите тај објекат пре издавања замене.
Датотека сертификата вашег клијента је нестала, а рефлекс је да се опозове име и изда нови. Тај рефлекс оставља оригинални сертификат важећим, јер опозив ради на серијском броју, а не на ознаци. CA скоро сигурно још држи копију онога што је издала, а проналажење те копије је цео задатак.
Губитак датотеке није губитак записа CA
Easy-RSA PKI чува издате јавне сертификате, а актуелна издања архивирају и копије по серији у директоријуму certs_by_serial унутар PKI-ја. Приватни кључ није потребан за опозив. Важно је тачно онај сертификат који је CA потписала, а CA га већ има.
Радите на резервној копији исправног PKI-ја, са администратором који га поседује. Опозив је операција која се може ревидирати, а не поправка продукцијске базе у поноћ.
Копија клијентовог уграђеног јавног сертификата је такође довољна, ако је примена сачувала једну.
Прво прочитајте издаваоца и серију
Прегледајте обновљени PEM и запишите издаваоца, серијски број, субјекат и период важности. Серијски број је јединствен у оквиру домета једног издаваоца, не међу свим CA у вашем окружењу, па је издавалац део идентитета. Ако више сертификата дели субјекат, управо их серије разликују.
Упоредите вредности са записима CA и са уређајем или особом за коју мислите да држи сертификат.
Уобичајено име се може поново употребити и обично се и користи. Не одлучујте које ћете сертификате повући док серије нису записане.
Зашто опозив новог сертификата не чини ништа
Издавање замене са истим уобичајеним именом ствара други сертификат са различитим серијским бројем. Опозив замене повлачи нови и оставља оригинал важећим до истека. Са становишта CA то су два независна објекта, а CRL наводи серије, а не имена. CA индекс држи један ред по издатом сертификату управо зато.
Иста забуна ствара обрнуту грешку: брисање клијентове датотеке и претпоставку да ју је CA заборавила. Брисање на клијенту није догађај опозива и сертификат наставља да ради за свакога ко има копију.
Обе грешке долазе из третирања имена као идентитета.
Опозовите сертификат који серија именује
Идентификујте објекат пре него што додирнете CA: openssl x509 -in recovered-client.pem -noout -issuer -serial -subject -dates исписује четири вредности у једном пролазу, а серија је оно што упоређујете са архивом CA. Easy-RSA држи ту архиву под pki/certs_by_serial, са једном датотеком по серији. Команда за опозив прима уобичајено име, а не серију, зато копирајте архивирану датотеку у pki/issued/<common-name>.crt и нека име показује на објекат који сте идентификовали. Покрените easyrsa revoke <common-name> из PKI директоријума, затим проверите да ли је одговарајући ред у index.txt прешао на R. Серија је начин на који бирате објекат, а не аргумент који команда прихвата.
openssl x509 -in recovered-client.pem -noout -issuer -serial -subject -dates
cp pki/certs_by_serial/A1B2C3D4.pem pki/issued/client-01.crt
./easyrsa revoke client-01
grep -n client-01 pki/index.txt
./easyrsa gen-crl
Ако index.txt не показује R, зауставите се и прочитајте грешку пре генерисања CRL-а, јер CRL изграђен из записа који је још важећи не повлачи ништа. Тек након што се ред промени покрећете easyrsa gen-crl и прелазите на дистрибуцију датотеке.
Објавите CRL тамо где се стварно примењује
Генеришите нови CRL кроз подржани ток рада PKI-ја, затим га објавите на сваком верификатору који примењује опозиве овог издаваоца.
Ажурирана датотека која стоји на CA не мења ништа, јер VPN завршава одлуку на свом верификатору. Проверите издаваоца CRL-а, период важности и опозване серије, и потврдите да сервис поново учитава датотеку уместо да кешира претходну. Власништво и путања су важни као и садржај: CRL који демон не може да прочита не разликује се од никаквог CRL-а. OpenVPN опција crl-verify именује датотеку коју демон чита, зато проверите ту путању и власништво датотеке у конфигурацији сервера.
Проверите стварним покушајем везе, а не временом датотеке.
Знајте када је CRL погрешан алат
Ако се приватном кључу издаваоца више не верује, повлачење познатих серија не може спречити неовлашћеног држаоца да потписује нове сертификате. То је прелаз поверења у издаваоца, што значи нови CA и план дистрибуције, а не још један унос у CRL. Приступ бившег администратора сам по себи није доказ да је кључ злоупотребљен, зато прикупите чињенице пре поновне изградње поверења.
Ручно уређивање базе издавања да би се преокренуло слово статуса није замена за потписани опозив и оставља CRL неусклађен са записима.
Држите серију, CRL и корак дистрибуције у једној белешци и следећа ревизија постаје читање. Easy-RSA пројекат документује подржане команде за издање које имате инсталирано, а то је једино сучеље које вреди следити.