DNS (Domain Name System): Základní principy fungování

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ýkonnost prostřednictvím rekurzivních resolverů, autoritativních serverů, kešování a anycast směrování. Vedle 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), obsluhovaná souborem globálně distribuovaných kořenových serverů s anycastem.
  • TLD registry: správa domén nejvyšší úrovně a delegací 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, podnik, veřejná služba). Rekurzivní resolver provede iterativní dotazování od kořenových serverů po autoritativní servery cílové zóny a výsledek kešuje podle TTL. Forwarder přeposílá dotazy do nadřazeného rekurzivního resolveru, čímž centralizuje kešování a 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 záznamů na stejné 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

  1. Stub resolver odešle dotaz (např. A záznam pro www.example.com) rekurzivnímu resolveru.
  2. Rekurzivní resolver zkontroluje keš; pokud neexistuje platný záznam, ptá se kořenových serverů na NS pro .com.
  3. Od TLD .com získá NS pro example.com (a případné glue A/AAAA záznamy).
  4. Dotáže se autoritativního serveru example.com na www a obdrží finální odpověď (A/AAAA nebo CNAME řetězec).
  5. 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ěď uchovávána 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í TTL u odpovědi). Správné plánování TTL je klíčové zejména 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 (překračující limit) se přepínají 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 běžné omezovat velikost 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, které dokazují neexistenci jména či typu záznamu.

Ochrana soukromí a moderní protokoly: DoT/DoH, QNAME minimalizace

  • DNS over TLS (DoT) a DNS over HTTPS (DoH) šifrují přenos mezi klientem a rekurzivním resolverem, čímž brání odposlechu a manipulaci na trase.
  • QNAME minimalizace 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 spojené s podvržením (spoofingem) a reflexí.

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ší fragmentace 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ý přístupový seznam (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 využitím TSIG.

Internationalized Domain Names (IDN) a Punycode

IDN umožňují použití ne-ASCII znaků v doménových jménech. Na přenosové vrstvě se používá Punycode (ACE, prefix xn--). Bezpečnostní praxí je prevence homoglyfních útoků (vizuálně podobně vypadající znaky) a zavedení 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ů. Má význam 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 či organizaci.

DNS pro e-mailovou bezpečnost

  • SPF (TXT): definuje, které servery jsou oprávněné odesílat poštu pro danou doménu.
  • DKIM (TXT): obsahuje 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 geografické lokality či měření latence.
  • Failover: krátké TTL a monitorované přepínání na záložní IP adresy; pokročilejší formou jsou SVCB/HTTPS záznamy 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: zrychlené 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, saturace 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í rekurenze na důvěryhodné klienty, rate-limiting, QNAME minimalizace 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 snížení latence a zvýšení odolnosti.
  • 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 mechanismus, ale expirování keší. Před migrací snižte TTL (např. několik dní předem), proveďte změny a TTL následně vraťte. 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 třeba poskytovat také AAAA; testujte dosah 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 alespoň dva nezávislé autoritativní servery v různých lokalitách.
  • Validujte a podepisujte zóny DNSSEC; zavádějte automatizovanou rotaci klíčů (ZSK/KSK) a pečlivé publikování DS záznamů v TLD.
  • Omezte rekurzi pouze na interní klienty; nasazujte DoT/DoH pro ochranu klientů a QNAME minimalizaci pro 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 (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

<