Skip Ribbon Commands
Skip to main content

Ondrej Sevecek's Blog

:

Engineering and troubleshooting by Directory Master!
Ondrej Sevecek's Blog > Posts > Fakt musíte mít offline root CA?
červen 21
Fakt musíte mít offline root CA?

Nebojte se PKI! Proč byste instalovali zbytečnou hierarchii certifikačních autorit? Pojďte do toho a prostě si dejte jen jednu. Fakt to není nebezpečné!

No prostě se pořád setkávám s tím, že v čistě doménovém prostředí Active Directory, má zákazník celkem dvě certifikační autority (CA). Kořenovou autoritu (RootCA) a druhou vydávající uživatelské a aplikační certifikáty (IssuingCA). Na co? Je to snad bezpečnější? Ne. Stačí jedna. Proč teda ve všech návodech je napsáno, že musíte mít offline RootCA? Protože to píšou trotli.

A i když chcete mít víc autorit, tak udělejte všechny jako kořenové!

Jo, a abych vás ještě trošku podpořil, tak doporučuju, abyste jim dali alespoň 20 let platnost! Tvrdě na to!

Důvody pro offline RootCA

Proč se obecně doporučuje mít offline RootCA? Jsou v podstatě dva důvody:

  • vybudování důvěry je drahé - představte si takový Verisign, nebo jinou veřejnou autoritu. Pro ně je velmi nákladné, jak finančně, tak časově, vybudovat si celosvětovou důvěryhodnost. Musí přesvědčit výrobce mnoha různých operačních systémů, prohlížečů, programovacích jazýků a prostředí a aplikací, aby je považovali za důvěryhodné a distribuovali do svých produktů.
    Podobně i v případě třeba banky. Oni vydávají lidem přihlašovací certifikáty a musí těm BFU vysvětlit, jak se jejich autorita nastaví jako důvěryhodná. To platí pro veřejná prostředí, kde já nemám přímou kontrolu nad koncovými zařízeními.
  • zrušení platnosti je ještě dražší - představte si, jak taková autorita bude řešit, když ji někdo kompromituje? Kořenovou autoritu nelze jednoduše zneplatnit. Nelze ji umístit na žádný CRL (certificate revocation list) - ten musí být podepsaný platným certifikátem vydavatele, čím se dostáváme na problém slepice-vejce. Takže co se stane, když by Verisign objevil na své kořenové autoritě například virus, nebo by prostě jen třeba uklízečka omylem prošla do serverovny, ve které nemá co dělat, a tím se porušila fyzická bezpečnost?
    No borci by museli zavolat do Microsoftu a všech dalších výrobců a moooc je poprosit, aby tu jejich autoritu zneplatnili. A stejně by se ještě dalších 10 let objevovaly útoky s podvrženými certifikáty. Víme, jak aktivně lidi aktualizují. Být to nějaká banka, bude o tom ještě pár týdnů v televizi konkurence vysílat reklamy.

Nevýhody offline kořenové autority

Každá, i kořenová autorita musí pravidelně podepisovat a zveřejňovat aktualizovaný seznam neplatných certifikátů, tedy CRL (Certificate Revocation List). Čím méně často to dělá, tím méně bezpečné to je. A když je offline?

Čím častěji to má dělat, tím častěji já musím projít osobní prohlídkou (tělesných dutin), nechat se zrentgenovat, mýt si 20 minut ruce a pak ji ve skafandru vytáhnout z trezoru, zapnout, ručně vygenerovat poloprázdné CRL, nakopírovat si to na prověřené médium, které jsem předtím několik hodin skenoval všemi možnými antiviry (i když jsem ji předem 7x po sobě naformátoval) a odnést to na nějaký web server.

Důvody pro krátší platnost certifikační autority

Pouze bezpečnost. Prostě nechcete šifrovací klíče používat moc dlouho na vytvoření příliš moc velkého množství zašifrovaných (v našem případě spíše lépe řečeno podepsaných) dat. Takže veřejné autority chtějí ukázat jak jsou bezpečné. Čím mají kratší platnost, tím to může působit důvěryhodněji. Stát může taky u kvalifikovaných autorit požadovat nějakou krátkou platnost. Prostě se tím ty autority přinutí skončit po nějaké době a vytvořit nové (tzv. prodloužit nebo obnovit, což je mimochodem termín na pikaču).

Poznámka: kratší platnost má ještě jeden zajímavý dopad - zmenší se velikost jednotlivých CRL (seznamů neplatných certifikátů), ale dnes už máme OCSP (online certificate status protocol), tak to nemusí být taková výhoda.

A teď k čistě doménovému prostředí

Nejprve si uvědomme, co je čistě doménové prostředí? Od podzimu jak vyjde Windows 8, tak už nic jiného ani nebude existovat. Mobil, tablet, pecko, všecko v doméně!

Okej. Takže v doméně máme Group Policy. Jak dlouho trvá její periodická aplikace? 120 minut (slovy sto dvacet minut). Na cca 17 kliků můžete zařídit, že libovolná certifikační autorita je do 120 minut důvěryhodná v celé doméně. Dáte ji prostě do Trusted Root Certification Authorities.

Stejnou dobu bude trvat zneplatnění libovolného certifikátu, tedy i libovolné certifikační autority. Dáte její certifikát do kontejneru Untrusted Certificates.

Porovnejme to s publikačním intervalem Verisign kořenové autority, který je tři a půl měsíce. To je přibližně 151 200 minut (slovy sto padesát tisíc minut a nějaký drobný). Tak kdo je tady king, he?

Hodnocení rizik offline kořenové autority

To je taková srandovní představa. Mějme řekněme čistě doménové prostředí. Nějaké větší. V něm máme několik desítek až stovek řadičů domény (domain controller, DC). Všechny jsou online. A jednu offline super-mega-ultra-bezpečnou offline RootCA.

Máte na jediném DC podezření na virus? Nejste si jistí, jestli někdo chvilku neznal administrátorské heslo? Na kolika počítačích používate administrátorské účty k běhu služeb? Jsou všechna DC zamčena v serverovně se striktním přístupem?

Dobře, takže pokud je jediné DC z celého (klidně multidoménového) forestu jakkoliv podezřelé na kompromitaci bezpečnosti, co musíte udělat?

Přeinstalovat celý forest. Všechno do hajzlu a znovu, stanice, servery, data. DC má totální autoritu nad vším co tam máte. Takže jestli nevíte, co se na něm i sekundu dělo, tak víte o zbytku víte co. No dobrá, můžete to všechno obnovit z posledního čistého backupu :-)

Ale naštěstí máte svoji drahocenou RootCA vypnutou a bezpečnou. To je hodně dobrý základ pro rebuild celého forestu :-) Úplně jsem si oddechl.

Závěr pro čistě doménové prostředí

Takže jestli potřebujete certifikační autoritu, tak si ji prostě nainstalujte. Jako kořenovou. S platností na 50 let. A další až bude potřeba později.

Až si ji budete chtít zneplatnit, stane se to do 120 minut. Když se sami svobodně rozhodnete, že její certifikát už toho má dost, tak si prostě vydáte novou. Nic vás k tomu nebude nutit a máte volnost. Neřekl jsem, že ji musíte používat těch 50 let.

Takže do toho!

... a nevěřte každýmu psychotikovi, který vám nabízí tříúrovňovou hierarchii kvůli tomu, abyste si vydávali certifikáty pro vaše dva web servery.

 

Comments

CA

Hodne zajimavy clanek musim rict. Je naprostou pravdou, ze uplne ve vsech manualech a videich (CTB, TrainSignal apod.) vsude rikaji, ze je nutne mit 2-3 urovne CA. A Root CA schovat do trezoru :-))) .... Je se chci zeptat, pokud je kompromitovana Root CA a ja jsem vydal pomoci puvodni Root CA radu certifikatu, jak se to cele potom resi, kdyz to vemu do souvislosti s vasim clankem?  Dekuji
Jakub H. on 14.8.2012 11:04

CA

Beru zpet :-) Je to jedno. I kdyby byla kompromitovana 3rd Issued CA, tak stejne ji musim zrusit a vsechny certifikaty zneplatnit a vydat je znovu :-) .... takze z Offline CA si usetrim jen asi par minut casu? Diky
Jakub H. on 14.8.2012 11:08

Re: Fakt musíte mít offline root CA?


no kompromitace jakékoliv CA znamená, že všechny certifikáty, které vydala, nebo které vydaly její sub-CA se musí zneplatnit. Takže je samozřejmě větší problém kompromitace root-CA, než nějaké jedné sub-CA, pokud jich člověk má víc. A to správně chápete, to je přesně jen další důvod, proč to mnoho lidí zbytečně přehání. Když budu mít jen jednu root-CA a pod ní jedinou sub-CA, tak riziko kompromitace obou je stejné.

Prostě offline-super-bezpečná Root-CA má smysl pouze pro prostředí, kde:

- mám (nebo do budoucna plánuju) více sub-CA, jejichž riziko bude vyšší, budou tedy více otevřené světu
- ve kterém nejsem schopen centrálně spravovat důvěru - tzn. nemám v něm Group Policy a nemůžu si nové autority "jen tak zdůvěryhodnit". Tzn. veřejné autority, certifikáty pro cizí lidi, linuxy, podivné mobily apod.

ondas on 15.8.2012 8:34

Re: Fakt musíte mít offline root CA?

rychlá instalace AD CS na DC zde: https://www.sevecek.com/Lists/Posts/Post.aspx?ID=535
ondass on 8.12.2015 6:55

Add Comment

Title


Pole Title nemusíte vyplňovat, doplní se to samo na stejnou hodnotu jako je nadpis článku.

Author *


Pole Author nesmí být stejné jako pole Title! Mám to tu jako ochranu proti spamu. Roboti to nevyplní dobře :-)

Body *


Type number two as digit *


Semhle vyplňte číslici dvě. Předchozí antispemové pole nefunguje úplně dokonale, zdá se, že jsou i spamery, které pochopily, že je občas potřeba vyplnit autora :-)

Email


Emailová adresa, pokud na ni chcete ode mě dostat odpověď. Nikdo jiný než já vaši emailovou adresu neuvidí.

Attachments