Hlavní navigace

Výměna kořenového klíče se odkládá: operátoři nejsou připraveni

Ondřej Caletka

V říjnu mělo dojít k historicky první výměně klíče kořenové zóny systému DNSSEC. Dosud vše běželo podle plánu, teď však ICANN oznámil, že ohlášený termín se ruší a výměna bude provedena nejdříve v příštím roce.

Systém DNSSEC, který zabezpečuje data protokolu DNS před změnami, měl letos projít velkou zkouškou – výměnou takzvaného pevného bodu důvěry, tedy klíče, který podepisuje kořenovou zónu. Veřejnou část tohoto klíče, případně její otisk, musí mít k dispozici každý validátor DNSSECu, jakým je například rekurzivní resolver.

Čtěte: Klíč kořenové zóny se letos změní: správci serverů by měli dávat pozor

General registry

Neriskujte podvržení falešných www stránek vašim návštěvníkům. Řešení je jednoduché. Pokud provozujete svůj web na .cz doméně a vybrali jste si pro její správu registrátora, který podporuje technologii DNSSEC, máte vyhráno. Například u General Registry (partner tohoto seriálu) aktivujete DNSSEC pro svou doménu jednoduše několika kliknutími.

Všechno běželo podle plánu

Připomeňme, že k podepsání kořenové zóny došlo 15. července 2010, přičemž k jeho výměně mělo podle bodu 6.5 pravidel kořenové zóny dojít nejpozději po pěti letech. Když se čas klíče naplnil, byla sestavena komise odborníků z celého světa, která připravila plán výměny klíče během roku 2017:

Původní harmonogram výměny kořenového klíče

Z posledního bodu však teď sešlo. V prohlášení organizace ICANN z 27. září 2017 můžeme číst, že k odložení došlo kvůli nedávno zjištěným výsledkům testů, podle kterých mnozí operátoři nejsou na změnu připraveni. Výměna klíče by tak znamenala výpadek DNS služeb a mohla by způsobit hromadné vypínání DNSSEC validace. ICANN se proto rozhodl spojit se znovu s komunitou a pokusit se zjednat nápravu ještě před vlastní výměnou. Ta by podle předběžných plánů mohla proběhnout nejdříve v prvním kvartále roku 2018.

Automatická výměna pevného bodu důvěry

Výměna důvěryhodného DNSSEC klíče ve validátorech probíhá postupem podle standardu RFC 5011. Budoucí pevný bod důvěry se vystaví do kořenové zóny a je zde podepsán stávajícím, přesně jak se stalo 11. července 2017. Klient, který provádí validaci DNSSEC, si nový klíč poznamená a sleduje jeho stabilitu. Pokud zůstane stejný klíč vystavený 30 dnů v řadě, přidá se mezi důvěryhodné klíče. Obdobně je také možné později nastavením určitých příznaků původní klíč revokovat.

Základním předpokladem pro úspěšnou automatickou změnu důvěryhodného klíče je, aby byl systém zapnutý alespoň 30 dnů před okamžikem výměny klíčů a především, aby DNS software měl zapisovací oprávnění k uložišti klíčů. Je častá konfigurační chyba, že soubor s důvěryhodným klíčem vytvoří uživatel root a nezmění poté práva tak, aby soubor mohl být zapisován neprivilegovaným účtem, pod kterým běží DNS server.

Pokud je instalován nový DNS validátor jen několik dnů před výměnou klíče, je nezbytné, aby administrátor dohlédl na správné vložení obou kořenových klíčů do úložiště. V Unboundu například byla až na konci srpna opravena chyba, která znemožňovala důvěřovat klíči, který čekal méně než 30 dnů i přesto, že klíč byl vložen administrátorem při prvním startu.

Jak najít rozbité validátory

Velký problém je, že z pozice operátora kořenové zóny není vůbec snadné zjistit, které DNS servery novému klíči důvěřují a které ne. Už v roce 2015 toto téma na svém blogu obsáhle rozebíral Geoff Huston. Zabýval se myšlenkou přidání testovacích záznamů do kořenové zóny, pomocí kterých by se dal zjistit stav úložiště klíčů na dálku. Došel k závěru, že takové testování bohužel není možné.


Autor: Geoff Huston

Jeden z navrhovaných a nefunkčních přístupů – zveřejnit testovací záznam podepsaný jen novým klíčem. Nebude to fungovat, protože i klient důvěřující pouze starému klíči získá důvěru k novému prostřednictvím záznamů DNSKEY v apexu zóny.

Na půdě IETF proto začal proces na dokumentu RFC 8145, který zavádí explicitní signalizaci důvěryhodných klíčů směrem k autoritativnímu serveru. Software, který provádí validaci DNSSEC dat, posílá směrem k autoritativním serverům zóny, která je pro něj důvěryhodná (tedy typicky kořenové zóny) spolu s dotazem na záznam typu DNSKEY také seznam keytagů, tedy šestnáctibitových identifikátorů klíčů, kterým důvěřuje.

Signalizace se provádí dvěma způsoby, jednak jako další volba v rozšíření EDNS0, jednak také periodickými dotazy ve tvaru _ta-<keytag v šestnáckové soustavě>. Tyto informace se na straně autoritativních serverů pouze zaznamenávají; nemají žádný vliv na obsah odpovědí.

V případě aktuálních KSK klíčů s tagy 19036 (starý) a 20326 (nový) bude tedy správně nakonfigurovaný validující resolver pravidelně odesílat dotaz ve tvaru _ta-4a5c-4f66., resolver, který dosud nový klíč neobjevil, bude hlásit pouze  _ta-4a5c.

Máme první data

Signalizace důvěryhodných klíčů byla původně myšlena až pro následné výměny kořenového klíče, neboť se nedá předpokládat, že protokol z dubna 2017 může mít v době plánovaného přechodu na nový klíč dostatečné množství implementací. V tuto chvíli je signalizace podporována u serverů BIND verze 9.10.5b1, 9.11.0b3 a novější a Unbound verze 1.6.4 a novější. V případě Unboundu je však ve výchozím nastavení vypnuta.

Na 27. semináři DNS-OARC představil Duane Wessels výsledky měření signalizace na kořenových serverech provozovaných společností Verisign, tedy serverech s adresami A  a  J. Podle všeho je drtivá většina hlášení právě ze serveru BIND. Žádný software také zřejmě dosud neimplementuje hlášení ve volbě  EDNS0.


Autor: Duane Wessels – Verisign

Přehled hlášení důvěryhodného klíče. Je vidět, že drtivá většina resolverů začala důvěřovat novému klíči 30 dnů po jeho zveřejnění v kořenové zóně.

Podle dat, která uvedl v detailním popisu důvodu odkladu Matt Larson z ICANN a která jsou kombinací dat šesti z celkových třinácti adres kořenových serverů, signalizovalo v průběhu září 2017 důvěryhodný klíč 12000 unikátních IP adres, jejich počet roste každý den o dalších 1400 unikátních adres. Přibližně pět procent resolverů přitom signalizuje důvěru pouze starému klíči. V denních přírůstcích se jedná o šest až osm procent.

Vzhledem k relativně velkému procentu validátorů používajících pouze starý klíč ICANN věří, že je důležité lépe porozumět příčinám těchto problémů, než pokročíme s výměnou klíčů. Brzy zveřejníme seznam resolverů, které novému klíči nedůvěřují a požádáme komunitu provozovatelů DNS o pomoc s identifikací a opravou problémů těchto systémů.

Kde může být chyba


Autor: Duane Wessels – Verisign

Absolutní množství zachycených signálů na serverech Verisign. Je vidět, že zatímco počet signálů roste, množství špatně nakonfigurovaných resolverů spíše stagnuje.

Je jasné, že na internetu nebude nikdy nic fungovat na sto procent. Podle názoru ICANN však je potřeba detailně analyzovat, co může být příčinou. Prověřují se mimo jiné tyto hypotézy:

  • server BIND hlásí explicitně konfigurované důvěryhodné klíče i v případě, že je validace DNSSEC vypnutá. Je to sice neobvyklá konfigurace, ale není vyloučeno, že se bude vyskytovat v zařízeních, kde je BIND interní komponentou
  • může jít o velmi starou konfiguraci BIND, kde je použita volba trusted-keys, namísto volby managed-keys. Tím je znemožněna aktualizace důvěryhodného klíče podle RFC 5011
  • roli mohou hrát DNS resolvery vestavěné v obrazech pro Docker a podobné kontejnerové virtualizace, kde může být při každém znovuvytvoření kontejneru restartována 30denní čekací doba
  • samozřejmě není možné vyloučit ani softwarovou vadu

V každém případě pomůže, pokud už teď zkontrolujete všechny své DNS resolvery, zda plně důvěřují jak starému, tak i novému KSK klíči. Je-li tomu tak, přechod na nový klíč vás nezaskočí, ať už proběhne kdykoli.

Našli jste v článku chybu?