Soubor certifikátu vašeho klienta zmizel a reflex je odvolat jméno a vydat nový. Tento reflex ponechává původní certifikát platný, protože odvolání funguje na sériovém čísle, nikoli na označení. CA téměř jistě stále drží kopii toho, co vydala, a najít tuto kopii je celý úkol.

Ztráta souboru není ztráta záznamu CA

PKI Easy-RSA uchovává veřejné certifikáty, které vydala, a současné verze také archivují kopie podle série v adresáři certs_by_serial uvnitř PKI. Soukromý klíč k odvolání není potřeba. Podstatný je přesný certifikát, který CA podepsala, a ten CA už má.

Pracujte na záložní kopii správné PKI se správcem, který ji vlastní. Odvolání je auditovatelná operace, ne oprava produkční databáze o půlnoci.

Kopie vloženého veřejného certifikátu klienta také poslouží, pokud ji nasazení uchovalo.

Nejprve si přečtěte vydavatele a sérii

Prohlédněte obnovený PEM a zapište vydavatele, sériové číslo, subjekt a dobu platnosti. Sériové číslo je jedinečné v rámci jednoho vydavatele, ne napříč všemi CA ve vašem prostředí, takže vydavatel je součástí identity. Pokud několik certifikátů sdílí subjekt, rozlišují je právě série.

Porovnejte hodnoty se záznamy CA a se zařízením nebo osobou, o které se domníváte, že certifikát má.

Společné jméno lze znovu použít a obvykle se tak děje. Nerozhodujte, které certifikáty odebrat, dokud série nejsou zapsané.

Proč odvolání nového certifikátu nic neudělá

Vydání náhrady se stejným společným jménem vytvoří druhý certifikát s jinou sérií. Odvolání náhrady odebere nový a původní ponechá platný až do vypršení. Z pohledu CA jde o dva nezávislé objekty a CRL uvádí série, nikoli jména. Index CA vede jeden řádek na každý vydaný certifikát právě proto.

Stejný zmatek plodí opačnou chybu: smazání souboru klienta a domněnku, že na něj CA zapomněla. Smazání u klienta není událostí odvolání a certifikát dál funguje pro každého, kdo má kopii.

Obě chyby pramení z toho, že se se jménem zachází jako s identitou.

Odvolejte certifikát, který série pojmenovává

Identifikujte objekt, než se dotknete CA: openssl x509 -in recovered-client.pem -noout -issuer -serial -subject -dates vypíše čtyři hodnoty v jednom průchodu a série je to, co porovnáváte s archivem CA. Easy-RSA uchovává tento archiv pod pki/certs_by_serial, s jedním souborem na každou sérii. Příkaz pro odvolání bere společné jméno, nikoli sérii, takže zkopírujte archivovaný soubor do pki/issued/<common-name>.crt a nechte jméno ukazovat na objekt, který jste identifikovali. Spusťte easyrsa revoke <common-name> z adresáře PKI a poté zkontrolujte, zda odpovídající řádek v index.txt přešel na R. Série je způsob, jak objekt vybrat, ne argument, který příkaz přijímá.

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

Pokud index.txt nezobrazuje R, zastavte se a přečtěte chybu před generováním CRL, protože CRL sestavený ze záznamu, který je stále platný, nic neodebírá. Teprve po změně řádku spustíte easyrsa gen-crl a přejdete k distribuci souboru.

Publikujte CRL tam, kde se skutečně vynucuje

Vygenerujte nový CRL podporovaným postupem PKI a poté jej publikujte na každém ověřovači, který vynucuje odvolání tohoto vydavatele.

Aktualizovaný soubor ležící na CA nic nemění, protože VPN rozhodnutí ukončuje na svém vlastním ověřovači. Zkontrolujte vydavatele CRL, dobu jeho platnosti a odvolané série a potvrďte, že služba soubor znovu načítá, místo aby ukládala do mezipaměti předchozí. Vlastnictví a cesta jsou stejně důležité jako obsah: CRL, který démon nedokáže přečíst, je k nerozeznání od žádného CRL. Volba crl-verify v OpenVPN označuje soubor, který démon čte, takže zkontrolujte tuto cestu a vlastnictví souboru v konfiguraci serveru.

Ověřujte skutečným pokusem o připojení, ne časovým razítkem souboru.

Vězte, kdy je CRL nesprávný nástroj

Pokud soukromému klíči vydavatele už nelze důvěřovat, odvolání známých sérií nezabrání neoprávněnému držiteli podepisovat nové certifikáty. To je přechod důvěry ve vydavatele, tedy nová CA a plán distribuce, ne další záznam v CRL. Přístup bývalého správce sám o sobě není důkazem zneužití klíče, proto nejprve zjistěte fakta, než obnovíte důvěru.

Ruční úprava databáze vydávání za účelem převrácení písmene stavu nenahrazuje podepsané odvolání a ponechává CRL nekonzistentní se záznamy.

Uchovejte sérii, CRL a krok distribuce v jedné poznámce a příští audit se stane čtením. Projekt Easy-RSA dokumentuje podporované příkazy pro verzi, kterou máte nainstalovanou, a to je jediné rozhraní, které stojí za to následovat.

Související články