Hlavní navigace

Mají i dnes smysl otevřené validující resolvery?

Zdeněk Brůna

Již řadu let provozuje CZ.NIC Otevřené DNSSEC Validující Resolvery (ODVR). V dobách, kdy byl DNSSEC v plenkách, jsme měli za to, že je třeba přijít s alternativou DNS resolverů poskytovatelů připojení.

Poskytovatelé připojení totiž zaváděli podporu validace DNSSEC velmi pozvolna. Od té doby tedy nabízíme veřejně dostupnou službu, která umožňuje validace domén používajících zabezpečení DNSSEC i v těch sítích, jejichž výchozí DNS resolvery toto nepodporují.

Podpora technologie DNSSEC postupně roste a stává se standardem. V roce 2008 nebyla takto zabezpečena ani jedna .cz doména, na konci roku 2016 pak již každá druhá. Na straně provozovatelů DNS resolverů, tedy převážně poskytovatelů připojení, je situace obdobná, i když vždy byli o něco „pozadu“. Jak lze vyčíst ze statistik Geoffa Hustona (APNIC), přesahuje dnes podpora DNSSEC na DNS resolverech poskytujících služby pro Českou republiku 40 %.

Toto číslo platí konkrétně pro šifrovací algoritmus RSA, který je předchůdcem modernějšího algoritmu ECDSA, na který se postupně přechází. Jeho podpora je nižší (viz mapka níže), ale i zde je trend podpory rostoucí. Od listopadu 2016 vzrostla podpora validace pomocí ECDSA v ČR o 6 % na dnešních téměř 36 %.

Přesto, že se dostupnost DNSSECu od poskytovatelů připojení zlepšuje, stále platí, že většina uživatelů internetu pomocí DNSSECu nevaliduje. ODVR je tu právě pro ně, dokonce jim umožní využívat i již zmíněné ECDSA.

Validace na našem ODVR je zajištěna rekurzivním DNS serverem Unbound. Provozujeme jej již delší dobu bez zásadnějších změn s doporučeným nastavením. Nejzajímavějšími body naší konfigurace jsou:

  • Unbound drží již expirované podpisy po 10 % doby platnosti podpisu každého záznamu (expiration-inception). Jelikož záznamy mohou být podepsány s dobou trvání několika dnů, týdnu nebo i jednoho měsíce, je definována ještě minimální a maximální doba možného držení expirovaného podpisu. V naší konfiguraci je nastaven minimální čas na 1 hodinu, maximální pak na 24 hodin. Nedávno jsem odpovídal dotaz na „nefunkčnost“ validace pro případ expirace podpisu a musel pro toto vysvětlení zajít až do dokumentace projektu Unbound.
  • Unbound zakazuje překlad těch záznamů, u kterých jsou nastavené privátní IPv4 či IPv6 adresy. Tedy IP adresy z rozsahů 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16, 169.254.0.0/16, fd00::/8 a fe80::/10. Je to z důvodu ochrany proti tzv. útoku DNS Rebinding. Současně také z důvodu, že validátor DNSSEC může tyto záznamy považovat za falešné.
  • ODVR resolvery jsou dostupné na IPv4, tak i na IPv6 adresách. Nejedná se však jen o dva servery. ODVR je provozováno, podobně jako naše autoritativní DNS servery, v rámci DNS anycastu. Jen v České republice je těchto serverů šest, jejichž provoz je znázorněn na níže uvedených grafech. Z nich také vyplývá, jak během 1 roku vzrostlo jejich využití.
  • V současné době uvažujeme, že bychom Unbound nahradili naším Knot Resolverem, který jsme v době spouštění ODVR neměli k dispozici.

ODVR může ale sloužit nejen validaci. Jak jsme dlouhodobě upozorňovali v rámci aktivity Přichází cenzor, DNS resolver si může každý uživatel internetu svobodně změnit a pokud budou zákony přirozenou funkci DNS pro poskytovatele připojení omezovat, bude přirozeně obliba otevřených resolverů růst.

Tak jako roste i obliba a využívání našeho ODVR, které dnes ve špičkách odbavuje přes 6 000 dotazů za sekundu. A jsou okamžiky, kdy je zájem o naše ODVR dokonce výrazně vyšší. Například při loňském výpadku Google, viz následující graf.

(Původně vyšlo na blogu CZ.NIC.)

Našli jste v článku chybu?
19. 5. 2017 11:06

1. ECC je rodina algoritmů, NIST křivky jsou jen jedny z mnoha, viz např. https://safecurves.cr.yp.to/ 2. AFAIK ECC jsou ekvivalentně silné s RSA při výrazně menších velikostech klíčů a podpisů.

19. 5. 2017 12:35
Petr M (neregistrovaný)

Šifra je bezpečná, pokud se nedá lousknout v době, kdy je zpráva platná.

Pokud teď dostanu odpověď na DNS dotaz, která platí 1 hodinu a lousknout podpis trvá týden, je to OK. Pokud teď dostanu podepsanou směnku se splatností 5 let a lousknout podpis trvá rok, je něco hodně blbě.

Není třeba být the best v neprolomitelnosti, stačí jenom být good enough a zvolit kompromis mezi prolomitelností, velikostí a výpočetní náročností.