Proč DNS tvoří páteř internetu
Systém doménových jmen (Domain Name System, DNS) je distribuovaná, hierarchická a vysoce škálovatelná databáze, která mapuje lidsky čitelné názvy (např. www.example.com) na síťové identifikátory (např. IPv4/IPv6 adresy). DNS umožňuje decentralizovanou správu, vysokou dostupnost i výkon prostřednictvím rekurzivních resolverů, autoritativních serverů, kešování a anycast směrování. Kromě základní translace jmen poskytuje také metadata pro e-mail, kryptografické politiky, směrování služeb a bezpečnostní mechanismy (DNSSEC).
Hierarchie a delegace: root, TLD a zóny
- Kořenová zóna („.“): nejvyšší úroveň obsahující delegace na TLD (např. .com, .cz, .org), spravovaná souborem globálně distribuovaných kořenových serverů s anycastem.
- TLD registry: správa domén nejvyšší úrovně a delegace na druhou úroveň (např. example.com).
- Zóna: administrativní celek s vlastní politikou a autoritou; obsahuje SOA záznam, NS a další zdroje. Delegace probíhá pomocí NS záznamů a případně glue záznamů (A/AAAA), pokud autoritativní servery leží v delegované doméně.
Role resolverů: stub, rekurzivní a forwardery
Koncové systémy používají stub resolver (v operačním systému nebo prohlížeči), který předává dotazy rekurzivnímu resolveru (ISP, podniku, veřejné službě). Rekurzivní resolver provádí iterativní dotazování od kořenových serverů přes autoritativní servery cílové zóny a výsledek ukládá do mezipaměti podle TTL. Forwarder přeposílá dotazy do nadřazeného rekurzivního resolveru, čímž centralizuje keš i politiku filtrování.
Základní typy DNS záznamů
- A / AAAA: mapování jména na IPv4/IPv6 adresu.
- CNAME: alias na jiné jméno; nesmí koexistovat s jinými typy na téže jmenné etiketě.
- NS: autoritativní servery pro zónu (delegace).
- SOA: údaje o zóně (primární server, e-mail správce, sériové číslo, refresh/retry/expire/minimum).
- MX: poštovní směrování (prioritizace podle preference).
- TXT: volné textové údaje; běžně SPF, DKIM a DMARC politiky pro e-mail.
- PTR: reverzní mapování IP na jméno (in-addr.arpa, ip6.arpa).
- SRV: obecné směrování služeb (priorita, váha, port, cíl).
- CAA: omezení certifikačních autorit, které mohou vydat certifikát pro doménu.
- SVCB / HTTPS: moderní záznamy pro popis parametrů služby (např. alpn, doh, dohpath) a výkonově efektivní směrování.
Jak probíhá rozlišení jména krok za krokem
- Stub resolver odešle dotaz (např. A záznam pro www.example.com) rekurzivnímu resolveru.
- Rekurzivní resolver zkontroluje keš; pokud neexistuje platný záznam, dotazuje se kořenových serverů na NS pro .com.
- Od TLD .com získá NS pro example.com (a případné glue A/AAAA záznamy).
- Dotáže se autoritativního serveru example.com na www a obdrží finální odpověď (A/AAAA nebo CNAME řetězec).
- Výsledek uloží do keše dle TTL a vrátí stub resolveru.
Kešování a TTL: výkon vs. čerstvost
TTL (Time To Live) řídí dobu, po kterou může být odpověď držena v keši. Vyšší TTL zvyšuje výkon a snižuje latenci i náklady, ale zpomaluje propagaci změn. Existuje také negativní kešování (NXDOMAIN), řízené hodnotou v SOA (minimum pole) nebo explicitním TTL u odpovědi. Správné plánování TTL je klíčové při migracích a změnách IP adres.
DNS a transportní protokoly: UDP/TCP, EDNS(0) a fragmentace
- UDP port 53 je výchozí pro dotazy a odpovědi; velké odpovědi (nad limit) se přepnou na TCP.
- EDNS(0) rozšiřuje maximální velikost zprávy a umožňuje nové volby (např. DNS Cookies, ECS).
- Fragmentace IP paketů může zvyšovat riziko ztrát; proto je obvyklé omezovat velikosti EDNS a používat TCP pro rozsáhlé odpovědi (např. DNSSEC).
Bezpečnostní rozšíření DNSSEC: autenticita a integrita
DNSSEC přidává kryptografické podpisy (RRSIG) nad záznamy a veřejné klíče (DNSKEY). Delegace důvěry probíhá přes DS záznamy v nadřazené zóně a řetězí se až ke kořeni, jehož klíč je integrován jako trust anchor. Validující resolver ověřuje podpisy a chrání proti podvržení odpovědí. Pro negativní odpovědi využívá NSEC/NSEC3, jež dokazují neexistenci jména nebo typu.
Ochrana soukromí a moderní protokoly: DoT/DoH, QNAME minimization
- DNS over TLS (DoT) a DNS over HTTPS (DoH) šifrují transport mezi klientem a rekurzivním resolverem, čímž brání odposlechu a manipulaci na trase.
- QNAME minimization snižuje množství informací sdílených s nadřazenými autoritami (resolver posílá pouze nezbytnou část názvu).
- DNS Cookies a 0x20 bit encoding pomáhají zmírňovat některé útoky na spoofing a reflexi.
EDNS Client Subnet (ECS) a geolokační odpovědi
ECS umožňuje rekurzivnímu resolveru předat autoritativní službě zkrácený prefix klientovy adresy, aby CDN mohly vracet geograficky optimalizované IP adresy. Zlepšuje výkon, ale má dopad na soukromí a kešovatelnost (větší fragmentaci keše). Doporučuje se opatrné používání s minimálním prefixem.
Správa zón: SOA, sériové číslo, NOTIFY, AXFR/IXFR
- SOA udává sériové číslo zóny a časování pro sekundární servery (refresh, retry, expire).
- NOTIFY aktivně informuje sekundární servery o změně, urychluje propagaci.
- AXFR (full) a IXFR (inkrementální) zajišťují přenos zón; přístup je zabezpečen přes TSIG (sdílené klíče) a řízené ACL.
- DDNS (dynamické aktualizace podle RFC 2136) umožňuje klientům a službám automaticky vytvářet a měnit záznamy, často s použitím TSIG.
Internationalized Domain Names (IDN) a Punycode
IDN umožňují použití ne-ASCII znaků v doménách. Na síti se používá Punycode (ACE, prefix xn--). Bezpečnostní praxí je prevence homoglyfních útoků (vizuálně podobné znaky) a zavádění rozumných politik registrátorů.
Reverzní DNS a jeho význam
Reverzní strom in-addr.arpa (IPv4) a ip6.arpa (IPv6) mapuje IP adresy na jména pomocí PTR záznamů. Je důležitý pro diagnostiku, reputaci e-mailových serverů a některé bezpečnostní kontroly. Delegace reverzních zón následuje přiřazení bloků adres poskytovateli nebo organizaci.
DNS pro e-mailovou bezpečnost
- SPF (TXT): definuje, které servery smí odesílat poštu pro danou doménu.
- DKIM (TXT): veřejný klíč pro ověření podpisu v e-mailové zprávě.
- DMARC (TXT): politika vyhodnocení SPF/DKIM a reportování; zvyšuje odolnost proti phishingu a spoofingu.
Balancování a směrování služeb přes DNS
- Round-robin: více A/AAAA záznamů pro stejné jméno, jednoduché rozložení zátěže.
- GeoDNS / latency-based: rozdílné odpovědi podle lokality či měření latence.
- Failover: krátké TTL a monitorované přepínání na záložní IP; pokročileji SVCB/HTTPS s parametry služby.
- SRV: explicitní směrování na porty a priority (např. VoIP, LDAP), NAPTR pro přepis pravidel (např. ENUM).
Útoky a obrana: cache poisoning, Kaminsky, DDoS amplifikace
- Cache poisoning: podvržení odpovědí rekurzivnímu resolveru; mitigace zahrnuje náhodný zdrojový port, nepředvídatelný identifikátor dotazu, 0x20 encoding a validaci přes DNSSEC.
- Kaminsky attack: urychlené hádání autoritativních dat pomocí paralelních dotazů; mitigace jako výše, navíc pečlivé implementace.
- DDoS amplifikace: zneužití otevřených resolverů a velkých odpovědí (ANY, DNSSEC) k zesílení útoku; obrana pomocí uzavření resolveru, Response Rate Limiting (RRL), BCP 38 (anti-spoofing), omezení EDNS velikostí a anycastu.
Provozní praxe a observabilita
- Monitoring: latence rozlišení, míra chyb (SERVFAIL, NXDOMAIN), velikost keše, hit-ratio, kapacita QPS, zatížení CPU a sítě, velikost odpovědí.
- Logování: dotazy/odpovědi (s anonymizací), validace DNSSEC, odchylky v TTL, změny zón a přenosy.
- Testy: pravidelné ověření delegací, konzistence NS a glue, správnost SOA, dosažitelnost přes TCP/UDP, validace DNSSEC řetězce.
- Politiky: omezení rekurze na důvěryhodné klienty, rate-limiting, QNAME minimization a šifrované transporty.
Škálování a vysoká dostupnost autoritativních i rekurzivních služeb
- Anycast: stejné IP adresy inzerované z více geografických PoP pro nižší latenci a odolnost.
- Horizontální škálování: více nezávislých instancí se sdílenou nebo replikovanou konfigurací; oddělení rolí rekurzivních a autoritativních serverů.
- Keš a prefetch: prodloužení čerstvosti populárních záznamů, serve-stale režim při výpadcích autoritativních serverů.
Konfigurace TTL a plánování změn (propagace)
„Propagace DNS“ není push mechanizmus, ale expirování keší. Před migrací snižte TTL (např. několik dní předem), proveďte změny a TTL následně obnovte. Sledujte autoritativní odpovědi, konzistenci NS a stav DNSSEC (DS v TLD před změnou klíčů).
DNS v lokálních sítích, mDNS a service discovery
- mDNS a DNS-SD (např. Bonjour) umožňují objevování služeb bez centrální autority v lokálním segmentu (.local).
- Split-horizon DNS: rozdílné odpovědi pro interní a externí klienty; vyžaduje disciplínu v řízení zón a přístupů.
- Policy DNS: filtrace škodlivých domén, blokace C2 a phishingu na úrovni resolveru s threat-intel feedy.
Kompatibilita s IPv6 a dual-stack scénáře
Kromě A záznamů je nezbytné poskytovat AAAA; testujte dostupnost IPv6 a preferenci cest (Happy Eyeballs). Reverzní zóny pro IPv6 používají ip6.arpa s hexadecimálními delegacemi na nibble hranicích.
Best practices pro správce domén a DNS služeb
- Udržujte konzistenci NS a glue u delegací; používejte minimálně dva nezávislé autoritativní servery v různých lokalitách.
- Validujte a podepisujte zóny pomocí DNSSEC; zavádějte automatizovanou rotaci klíčů (ZSK/KSK) a pečlivé publikování DS v TLD.
- Omezte rekurzi pouze na interní klienty; nasazujte DoT/DoH pro ochranu klientů a QNAME minimization pro zvýšení soukromí.
- Chraňte přenosy zón pomocí TSIG a whitelistů; sledujte pokusy o AXFR/IXFR z neautorizovaných adres.
- Plánujte TTL s ohledem na byznys potřeby (rychlé změny vs. snížení zátěže); pro kritické záznamy používejte nižší TTL.
- Implementujte RRL, limity EDNS a anycast pro odolnost proti DDoS; pravidelně auditujte otevřené resolvery.
Závěr: DNS jako adaptivní, bezpečný a škálovatelný systém
DNS je více než jednoduchý telefonní seznam internetu. Díky hierarchii, delegacím, kešování, moderním typům záznamů a bezpečnostním rozšířením zajišťuje rychlé, spolehlivé