Čtení veřejných polí certifikátu nikdy nevyžaduje zobrazení soukromého klíče, který k němu patří, a nástroje k tomu jsou součástí každého systému, který ukončuje VPN. Riziko je o krok dřív: soubor, který jste dostali, nemusí být certifikát vůbec. Certifikát PEM, binární blok DER, balík PKCS#12 a profil OpenVPN mohou dorazit pod stejným jménem a obsahovat velmi odlišný materiál, proto nejdřív určete, o jaký kontejner jde.

O tom, který příkaz je bezpečný, rozhodují tři věci: co soubor obsahuje, co z něj potřebujete přečíst a kdo uvidí výstup. Spletete se v jediné z nich a z prohlídky se stane incident.

Který ze tří souborů jste dostali

Certifikát PEM je text s viditelnými značkami BEGIN a END, soubor DER je binární a potřebuje přepínač vstupního formátu a balík je kontejner, který může vedle certifikátu nést klíč. file server.crt oddělí text od binárky za sekundu a pohled na první řádek oddělí holý certifikát od profilu, který jej obsahuje. Právě hádání mění prohlídku v incident.

Pokud je soubor profil a ne certifikát, považujte ho za pověření, dokud se neprokáže opak. Tento předpoklad nic nestojí a brání nejčastější chybě v celém tomto úkolu.

Čtení veřejných polí certifikátu PEM

U certifikátu, který smíte prohlížet, podpříkaz x509 s -noout vypíše jen pole, která zvolíte, a nic jiného. Potlačení těla drží výstup u metadat, a právě proto je bezpečné vložit ho do tiketu. Voliče níže jsou ty veřejné a dokumentace openssl x509 uvádí zbytek.

openssl x509 -in server.crt -noout -subject -issuer -dates -fingerprint -sha256

Na lokálně vytvořeném testovacím certifikátu tento příkaz vypíše řádek subjektu a vydavatele, dvojici notBefore a notAfter a jeden otisk SHA-256. Tato pole identifikují objekt; nezakládají platnou cestu důvěry, což je samostatný úkol ověření s vlastním příkazem a vlastní odpovědí. Soubor řetězce může také vypsat jen první certifikát, pokud souborem sami neprojdete. Porovnání dvou souborů tímto způsobem stojí jeden příkaz a rozhodne, který z nich protistrana skutečně předkládá.

Balíky, které drží klíč vedle certifikátu

Soubor .p12 nebo .pfx může nést soukromý klíč a příkaz pro analýzu jej vypíše, pokud tuto část výstupu nepotlačíte. S -nokeys stejný příkaz stále hlásí strukturu kontejneru včetně zabaleného svazku klíče, aniž by vydal jakýkoli klíčový materiál; vynecháte-li tento přepínač, objeví se blok klíče v terminálu i v historii shellu.

openssl pkcs12 -in bundle.p12 -nokeys -info -passin env:P12PASS

Profil OpenVPN vkládá stejný materiál jako text, takže hranice je viditelná, když víte, kam se dívat. Veřejný materiál leží mezi BEGIN CERTIFICATE a END CERTIFICATE, zatímco vše mezi BEGIN PRIVATE KEY a odpovídajícím řádkem END je klíč a nesmí opustit hostitele. Zkopírování profilu jako celku zveřejní obojí.

Získání referenční hodnoty odjinud

Otisk přečtený ze spojení, které se snažíte ověřit, nic nedokazuje, protože ho dodala strana, které nedůvěřujete. To není argument proti otiskům; je to argument o původu. Porovnejte hodnotu s takovou, kterou získáte kanálem, do kterého protistrana nemůže psát, například s certifikátem zveřejněným v interním úložišti nebo s hashem vytištěným v podepsaném záznamu o změně.

Kde validaci provádí úložiště důvěry, nechte ho, ať ji provede, a čtěte chybu, kterou vyprodukuje, místo abyste ji nahrazovali vlastním porovnáním. Rozhodující rozdíl je, kdo referenci dodal, ne která hashovací funkce byla použita.

Sdílení výsledku a co dělat po přehlédnutí

Pošlete přesnou chybu validace, příslušná data a jen ty údaje o identitě, které příjemce potřebuje. Interní názvy hostitelů a identifikátory účtů zůstávají citlivé, i když žádný klíč není, a veřejná služba pro vkládání je pro cokoli z toho špatné místo. Vkládejte do tiketu, ne do odkládacího bufferu, který sdílí někdo jiný.

Pokud se klíčový materiál přesto objevil na obrazovce nebo v souboru, považujte ho za kompromitovaný a rotujte ho, místo abyste doufali, že se nikdo nedíval. Pak zapište, který soubor byl prohlédnut, který příkaz byl použit a kam výstup šel, protože právě tento záznam mění zděšení v postup. Rotace je levná proti ceně předpokladu, že si nikdo neuložil snímek obrazovky, a stejný záznam řekne dalšímu inženýrovi, kterých souborů se vůbec dotklo. Udělejte obojí, než se tiket zavře.

Související články