Страчаны кліенцкі сертыфікат? Адклікайце па серыйным нумары, а не па імені
Адсутны файл сертыфіката — не адсутны запіс. Адкліканне працуе па серыйным нумары, які падпісаў CA, таму спачатку знойдзіце гэты аб'ект, а потым выдавайце замену.
Файл сертыфіката вашага кліента знік, і першая рэакцыя — адклікаць імя і выдаць новы. Гэтая рэакцыя пакідае арыгінальны сертыфікат сапраўдным, бо адкліканне працуе па серыйным нумары, а не па пазнацы. CA амаль напэўна ўсё яшчэ трымае копію таго, што выдала, і знайсці гэтую копію — уся задача.
Страціць файл — не страціць запіс CA
PKI Easy-RSA захоўвае публічныя сертыфікаты, якія выдала, а сучасныя выпускі таксама архівуюць копіі па серыі ў каталогу 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 дакументуе падтрыманыя каманды для ўсталяванага выпуску, і гэта адзіны інтэрфейс, якому варта ісці.