Hlavní navigace

Doména .CZ spouští jako první automatickou správu DNSSEC klíčů

Ondřej Caletka

Velká novinka českého doménového registru CZ.NIC umožňuje automatickou údržbu bezpečné DNSSEC delegace, takže je možné na doméně spustit DNSSEC i vyměnit klíč bez nutnosti komunikace s registrátorem či registrem.

Jaromír Talíř zahájil svou přednášku na IT 17 rekapitulací aktuálního stavu: 51,5 % domén v zóně .CZ už dnes DNSSEC používá. Rádi bychom, aby se procento přiblížilo co nejvíce ke stu. Zjistili jsme například, že 21 156 domén v .CZ je podepsaných, ale nemají otisk klíče v registru. Takové domény se tedy tváří jako nepodepsané. Jedná se o potenciál ke zvýšení počtu podepsaných zón až o další dvě procenta.

Překážkami dalšího rozšiřování DNSSECu je příliš mnoho entit:

  • držitel doménového jména
  • provozovatel DNS
  • registrátor
  • registr

V jednoduchém případě, kdy registrátor zároveň provozuje DNS, je to snadné, neboť komunikaci otisku DNSSEC klíče provede s registrem v případě potřeby sám. Problém je s provozovateli DNS, kteří sami registrátory nejsou. Ti pak mohou komunikovat s registrem jen prostřednictvím držitele domény, který obvykle problematice nerozumí a jen velmi těžko se mu vysvětluje, co má u svého registrátora nastavit. To samo o sobě je velmi komplikované, nehledě na to, že klíče by se měly po čase měnit, takže celý proces je nutné pravidelně opakovat.

V rámci IETF probíhají už několik let pokusy tento proces usnadnit. Prvním je RFC 7344 ze září 2014, které definuje nové typy DNS záznamů: CDS a CDNSKEY. Jsou určeny k tomu, aby je umístil do apexu zóny její provozovatel a signalizoval tak nadřazené zóně, jaký otisk klíče má být v DS  záznamu, zajišťujícím bezpečnou delegaci. Vzhledem k tomu, že registrační systém CZ.NIC používá tzv. keysety, tedy sady klíčů, ze kterých si sám generuje DS záznamy po přiřazení keysetu ke konkrétní doméně, je pro CZ domény relevantní jen záznam typu  CDNSKEY.

Výše uvedené RFC řeší pouze změnu klíčů u zóny, která již DNSSEC má. Dokument RFC 8078 z března 2017 tento způsob rozšiřuje o možnost zavádění DNSSECu na zóně, která jej dosud nemá a také o možnost zrušení bezpečné delegace, pokud se zóna rozhodne DNSSEC vypnout.

V současné době je v procesu IETF návrh, který obrací model pull na model push, kdy místo aby nadřazená zóna pravidelně zkoumala CDS/ CDNSKEY záznamy z podřízené zóny, může provozovatel podřízené zóny potřebná data do registru poslat. Návrh sledujeme, ale protože jsme nechtěli čekat, prozatím jsme implementovali aktuální standardy, komentuje Jaromír Talíř.

Jaromír Talíř
Autor: Jiří Průša, CZ.NIC

Jaromír Talíř

Podpora u klientů

Prvním provozovatelem DNS služby, který uvedené standardy podporuje, je Cloudflare. Jde o globální CDN síť, která nabízí DNSSEC na jediné kliknutí. DNSSEC je tam implementován průkopnicky, používají on-line podepisování a algoritmy s eliptickými křivkami. Nicméně nejsou doménovým registrátorem – veškeré změny týkající se DNSSECu musí dělat prostřednictvím zákazníka a jeho registrátora.

Od 20. června Cloudflare publikuje CDNSKEY záznamy. Už zhruba dva měsíce publikují CDS záznam, s tím ale v registru CZ.NIC nedokážeme pracovat. U Cloudflare jsou provozovány asi čtyři tisíce českých domén, které jsou registrovány u 34 různých registrátorů. Někteří registrátoři dokonce ani DNSSEC nepodporují, takže není možné standardním způsobem keyset do registru vložit.

Podpora CDNSKEY záznamů při hostování DNS na vlastním serveru je zatím slabá. Populární nástroj OpenDNSSEC je zatím nepodporuje, nicméně máme informace, že podpora je na cestovní mapě a měla by se letos objevit. Nejpoužívanější DNS server BIND ve verzi 9.11 záznamy podporuje částečně: Umí automaticky generovat klíče, ale publikaci záznamů je třeba řídit ručně.

Jediným nástrojem, který v tuto chvíli podporuje CDNSKEY záznamy je Knot DNS od verze 2.5, která vyšla 6. června 2017. Stačí jednou nastavit a zapomenout. Tak jednoduché by to mělo být.

Rotace KSK klíče v Knotu funguje na principu dvojího podpisu. Běží v něm kontrola, zda byl DS záznam v nadřazené zóně publikován. V konfiguraci je možné nastavit buď kontrolu proti autoritativním serverům nadřazené zóny, nebo použít nějaké rekurzivní resolvery. K rotaci KSK klíče dojde až v okamžiku, kdy všechny sledované DNS servery mají aktualizovaný DS záznam. Informace se ale nevaliduje, proto je dobré použít DNSSEC-validující resolver.

Ve vývoji je návrh push mechanizmu pomocí REST rozhraní. Také se v Knotu připravuje podpora pro rotaci CSK klíče, tedy jediného klíče, který podepisuje celou zónu. Takové použití je oblíbené u algoritmů používajících eliptické křivky.

Nasazení v registru

Nasazení na straně registru mělo tři možné scénáře.

  1. automatické změny budou prováděny registrátory,
  2. CZ.NIC bude automatickou správu provádět pro speciálně označené keysety,
  3. CZ.NIC bude vše zpracovat místo registrátorů.

Protože podle filozofie distribuovaného registračního modelu jsou keysety ve správě určeného registrátora, zahájil CZ.NIC diskuzi s registrátory, zda jsou ochotní automatickou správu implementovat a pokud ne, zda by jim vadilo, pokud CZ.NIC automatickou správu převezme. Negativní odpověď na obě otázky vedla k realizaci třetího jmenovaného scénáře.

U domén, které dosud nemají žádný keyset, se začne registr ptát na CDNSKEY záznam. K dotazování se použije TCP protokol, aby byla menší šance na podvržení odpovědi. Když bude záznam nalezen, stane se doména kandidátem na automatické zavedení bezpečné delegace. O tom informujeme e-mailem technického správce nssetu. Dále bude registr 7 dnů sledovat, zda se CDNSKEY záznam nebude měnit. Po uplynutí sedmi dnů CZ.NIC zaregistruje nový keyset ve tvaru AUTO-<náhodný řetězec>, přiřadí jej k doméně a informuje e-mailem držitele domény a prostřednictvím zprávy EPP protokolu také registrátora domény.

Pro domény, které už mají přiřazený automatický keyset, je situace jednodušší, neboť informace je autentizována stávajícím DNSSEC podpisem. Odpadá tedy sedmidenní ochranná lhůta a obsah automatického keysetu se upraví podle CDNSKEY záznamu. V případě, že klient publikuje speciální formát záznamu určený ke zrušení delegace, dojde k odstranění keysetu. Pro domény, které mají přiřazený jiný než automatický keyset, dojde při nalezení CDNSKEY záznamu k založení nového keysetu, který ten ručně přiřazený nahradí.

Automatické keysety budou mít jako registrátora i technický kontakt CZ.NIC. Nebude blokována možnost ručního přiřazení automatického keysetu k jiné doméně, ale takové nastavení nejspíše povede dříve či později k nefunkčnosti, varuje Jaromír Talíř.

Pokud uživatel nechce DNSSEC na své doméně používat, měl by požádat svého provozovatele DNS, aby CDNSKEY záznam nepublikoval. Také je možné přiřazení keysetu zablokovat použitím zámku na úrovni registru, například prostřednictvím aplikace doménový prohlížeč. Pokud už ke změně došlo, je možné keyset z domény vymazat prostřednictvím registrátora. Také je možné změnit nsset na nějaký jiný, při této operaci se z domény automaticky odebere keyset. Takové řešení se hodí zejména pro registrátory, kteří správu keysetů vůbec neimplementují.

Už je spuštěno

Systém automatické správy bezpečné delegace spouští CZ.NIC 20. června 2017. Prohledávání domén na CDNSKEY záznamy probíhá jednou denně, zatím jsou prohledávány pouze domény bez DNSSECu. Za týden začnou být prohledávány i domény s automaticky přiřazenými keysety. Někdy zhruba za měsíc začneme prohledávat i domény s ručně spravovanými keysety. Pokud používáte Knot DNS, aktualizujte na nejnovější verzi a automatickou správu klíčů zapněte. Pokud používáte Cloudflare, prosím klikněte v administraci na to jedno tlačítko, o vše ostatní se postaráme my, vyzval na závěr své přednášky Jaromír Talíř.

Jediný krok nutný k zavedení DNSSEC na doméně u Cloudflare.

Čtěte také: Učiňme DNS opět velkým!

Našli jste v článku chybu?