Význam bezpečnosti DNS pro stabilitu internetu
Domain Name System (DNS) představuje základní pilíř internetu, převádějící doménová jména na IP adresy a jiné síťové zdroje. Původní architektura DNS však neobsahuje mechanismy pro ověřování integrity a autenticity dat, což z něj činí zranitelný systém vůči útokům, jako jsou spoofing či cache poisoning. Zavedení DNS Security Extensions (DNSSEC) přináší řešení v podobě kryptografického podepisování DNS dat a vytvoření důvěryhodného řetězce, který zabezpečuje ověřování pravosti odpovědí. Kompletní ochrana DNS vyžaduje kombinaci DNSSEC s dalšími bezpečnostními opatřeními, jako je randomizace, DNS cookies, omezení fragmentace paketů, Response Rate Limiting (RRL), a šifrované přenosové protokoly DoT/DoH, současně s důslednou provozní politikou.
Hrozby při využívání DNS
DNS spoofing a cache poisoning
- DNS spoofing: podvržení DNS odpovědí, aby resolver přijal falešná data, například upravené A nebo AAAA záznamy, směrující uživatele na škodlivé servery.
- Cache poisoning: vkládání nepravdivých záznamů do cache rekurzivního resolveru, což vede k dlouhodobému přesměrování dotazů uživatelů na nesprávné cíle.
Další typy útoků na DNS
- Off-path útoky: využívají předvídatelnost ID transakce, portů komunikace a fragmentace paketů, aby bez přístupu k provozu mohly injektovat škodlivé odpovědi.
- On-path útoky (MITM): zasahují do toku dat během přenosu, umožňují modifikaci odpovědí např. v nezabezpečených nebo veřejných sítích.
- Amplifikační a DoS útoky: zneužívají otevřené recursorové servery a rozsáhlé DNS odpovědi (např. s DNSSEC nebo ANY dotazy) k zahlcení cílových systémů.
- NXNS a relaying: zneužívání delegace na mnoho jmenných serverů k vyčerpání zdrojů resolveru.
- DNS rebinding: technika obcházení bezpečnostních pravidel prohlížečů pomocí dynamické změny DNS odpovědí.
Základní principy fungování DNS a důvěryhodnost dat
DNS je hierarchický a distribuovaný systém, kde autoritativní servery spravují konkrétní zóny domén, zatímco rekurzivní resolvery vyhledávají odpovědi a ukládají je do cache. Bez kryptografického ověřování je důvěra v DNS založena na nechráněných přenosech a implicitní důvěře v síť, což v současném globálním prostředí nepředstavuje dostatečnou ochranu. DNSSEC tuto mezeru vyplňuje přidáním digitálních podpisů ke každému Resource Record setu (RRset) a zavedením řetězce důvěry vedoucího od kořenové domény přes TLD až do jednotlivých zón.
DNSSEC – principy, datové záznamy a budování důvěry
- Podpisy RRSIG: každý RRset, například skupina A nebo AAAA záznamů, obsahuje digitální podpis RRSIG generovaný soukromým klíčem zóny, který umožňuje ověření integrity a autenticity dat.
- DNSKEY: veřejné klíče, rozdělené na Key Signing Key (KSK) a Zone Signing Key (ZSK), publikované v DNS pro ověření podpisů.
- DS záznam: propojuje veřejný klíč KSK zóny s nadřazenou zónou (např. TLD), čímž vytváří řetězec důvěry parent → child.
- NSEC a NSEC3: poskytují kryptografické důkazy neexistence jména či typu. NSEC3 s parametry salt a opt-out omezuje možnost enumerace zóny.
- CDS a CDNSKEY: automatizují publikaci a rotaci DS záznamů u registrů, usnadňují správu řetězce důvěry.
Výběr algoritmů a velikostí klíčů v DNSSEC
- RSA (RSASHA256, alg. 8): tradičně široce používaný algoritmus, avšak s většími podpisy; doporučuje se délka klíče 2048 bitů pro ZSK a 2048–3072 bitů pro KSK pro dostatečnou bezpečnost.
- Moderní křivky (ECDSA P-256 a Ed25519): poskytují kratší podpisy, rychlejší validaci a snižují fragmentaci DNS odpovědí; jejich použití je ideální pro efektivní a bezpečné nasazení.
- Pro optimalizaci šířky pásma a snížení rizik fragmentace doporučujeme preferovat ECDSA a Ed25519.
Mechanismus podepisování zón a správa klíčů
- Role KSK a ZSK: ZSK slouží k podepisování běžných RRsetů v zóně, zatímco KSK podepisuje sadu DNSKEY, čímž potvrzuje jejich platnost v rámci zóny.
- Rotace klíčů: pravidelná výměna klíčů je nezbytná pro zachování bezpečnosti – doporučená periodicita je 6–12 měsíců u ZSK a 1–2 roky u KSK; přechod mezi starými a novými klíči je řízen pomocí kroků prepublikace, podpisu, aktualizace DS a odstranění starých klíčů.
- Bezpečnostní úschova klíčů: privátní klíče by měly být bezpečně uloženy v hardwarových bezpečnostních modulech (HSM) s omezeným přístupem a auditními protokoly.
- Automatizace: realizujte automatizovanou rotaci DS pomocí CDS/CDNSKEY záznamů a zajišťujte bezvýpadkové aktualizace u registrátorů.
Validující DNS resolvery a jejich nastavení
- Trust anchor (kořenový klíč): validující resolver musí pravidelně aktualizovat root KSK, který tvoří základ řetězce důvěry, a udržovat jej aktuální.
- Stavy validace odpovědí: odpovědi jsou klasifikovány jako Secure (platné), Insecure (nezabezpečené), Bogus (neplatné) nebo Indeterminate (neurčité); Bogus odpovědi by měly být vždy odmítnuty.
- Optimalizace s NSEC: validátory mohou aktivně syntetizovat negativní odpovědi z NSEC/NSEC3 záznamů, čímž snižují zatížení autoritativních serverů a zlepšují odezvu.
Ochranná opatření mimo DNSSEC proti spoofingu
- Randomizace ID a portu: zvýšení entropie v dotazech (16bit ID + náhodný 16bit port) snižuje pravděpodobnost úspěšných útoků typu off-path injection.
- 0x20 case randomization: zachování náhodné kombinace velikosti písmen v dotazu přidává dodatečnou vrstvu entropie, je-li vhodná a bezpečná.
- DNS Cookies: transakční cookies dle RFC 7873 a 9018 umožňují odlišit legitimní klientské dotazy od útoků a pomáhají v mitigaci spoofingu.
- QNAME minimization: strategické omezování informací v DNS dotazech zvyšuje soukromí a zároveň snižuje možnost zneužití systému.
- NXDOMAIN cut a serve-stale: zlepšují zacházení s negativní cache a udržují dostupnost DNS služeb během výpadků nebo nestabilit.
EDNS(0), velikost DNS odpovědí a fragmentace paketů
Vzhledem k rozšíření DNSSEC rostou velikosti DNS odpovědí obsahujících RRSIG a DNSKEY, což zvyšuje riziko IP fragmentace a zranitelnosti vůči injekčním útokům. Doporučená opatření zahrnují:
- Omezení velikosti EDNS bufferu například na 1232 bajtů a preferenci TCP spojení v případě velkých odpovědí.
- Preferovat algoritmy generující kratší podpisy, jako jsou ECDSA a Ed25519, aby se minimalizovalo riziko fragmentace.
- Zapnout minimalizaci odpovědí a vyhýbat se dotazům typu ANY, které mohou vést ke zbytečně velkým přenosům.
Správná konfigurace a publikace autoritativních zón
- Signování zóny: aplikujte kontinuální inline signing, pečlivě spravujte expiraci RRSIG s vhodnými hodnotami TTL a jitterem pro spolehlivost.
- Publikace DS záznamů: po nasazení nebo rotaci KSK zajistěte včasné a správné nahrání DS u registru, aby byl řetězec důvěry neporušený.
- NSEC versus NSEC3: pro veřejné a velké zóny se obvykle doporučuje NSEC3 s parametry salt pro ochranu před enumerací, zatímco menší nebo neveřejné zóny mohou využívat jednodušší NSEC.
- Anycast: distribuujte autoritativní DNS servery pomocí anycastu ke zvýšení odolnosti vůči DoS útokům a ke snížení latence pro uživatele.
- Bezpečnost aktualizací: využívejte TSIG pro zabezpečení přenosů AXFR/IXFR a dynamických aktualizací, aplikujte přístupové seznamy (ACL) a techniky split-horizon, pokud jsou vyžadovány.
Bezpečné nasazení rekurzivních resolverů
- Omezení otevřené rekursivity: rekurze by měla být omezena na interní IP adresy a neměla by být veřejně dostupná, aby se zabránilo zneužití pro amplifikační a cache poisoning útoky.
- Zapojte bezpečnostní prvky jako DNSSEC validaci, QNAME minimization, DNS Cookies a Response Rate Limiting (RRL), nastavte přiměřené limity současných dotazů pro stabilitu provozu.
- Optimalizujte TTL hodnoty a negativní cache podle RFC 2308, vyvarujte se příliš dlouhých TTL, které by mohly ztížit rychlé reakce na změny a rotaci klíčů.
- Implementujte monitoring metrik jako je míra výskytu Bogus odpovědí, četnost velkých DNS odpovědí, chybovost a latence komunikace s TLD a root servery.
Efektivní nasazení DNSSEC vyžaduje nejen technickou správnost konfigurace, ale i kontinuální monitoring a údržbu systému. Pouze tak lze zajistit dlouhodobou integritu a důvěryhodnost DNS infrastruktury, minimalizovat bezpečnostní rizika a ochránit uživatele před spoofingem či jinými útoky.
Při zavádění DNSSEC by organizace měly také dbát na školení pracovníků a pravidelnou revizi bezpečnostních postupů, aby reagovaly na nové hrozby a technologie v oblasti kybernetické bezpečnosti.