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

DNS (Domain Name System): 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ř. adresy IPv4/IPv6). DNS umožňuje decentralizovanou správu, vysokou dostupnost i výkonnost prostřednictvím rekurzivních resolverů, autoritativních serverů, kešování a směrování anycast. Vedle základního překladu názvů 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.
  • Registry TLD: spravují domény nejvyšší úrovně a delegace na druhou úroveň (např. example.com).
  • Zóna: administrativní celek s vlastní politikou a autoritou; obsahuje záznam SOA, záznamy NS a další zdroje. Delegace probíhá pomocí záznamů NS a případně záznamů glue (A/AAAA), pokud se autoritativní servery nacházejí 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ů až po autoritativní servery cílové zóny a výsledek ukládá do keše podle TTL. Forwarder přeposílá dotazy nadřazenému rekurzivnímu resolveru, čímž centralizuje keš i politiku filtrování.

Základní typy DNS záznamů

  • A / AAAA: mapování názvu na adresu IPv4/IPv6.
  • CNAME: alias pro jiný název; na stejném názvu nesmí koexistovat s jinými typy záznamů.
  • 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: směrování pošty (prioritizace podle preference).
  • TXT: libovolné textové údaje; běžně se používají pro politiky SPF, DKIM a DMARC pro e-mail.
  • PTR: reverzní mapování IP adresy na název (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 popisující parametry služby (např. alpn, doh, dohpath) a umožňující výkonně efektivní směrování.

Jak probíhá rozlišení názvu krok za krokem

  1. Stub resolver odešle dotaz (např. na záznam A pro www.example.com) rekurzivnímu resolveru.
  2. Rekurzivní resolver zkontroluje keš; pokud v ní není platný záznam, zeptá se kořenových serverů na NS pro .com.
  3. Od TLD .com získá NS pro example.com (a případné záznamy glue A/AAAA).
  4. Dotáže se autoritativního serveru example.com na www a obdrží konečnou odpověď (A/AAAA nebo řetězec CNAME).
  5. Výsledek uloží do keše podle TTL a vrátí jej stub resolveru.

Kešování a TTL: výkon vs. aktuálnost

TTL (Time To Live) určuje dobu, po kterou může být odpověď uložena v keši. Vyšší TTL zvyšuje výkon a snižuje latenci i náklady, ale zpomaluje šíření změn. Existuje také negativní kešování (NXDOMAIN), které se řídí hodnotou v SOA (polem minimum nebo explicitním TTL v odpovědi). Správné plánování TTL je zásadní 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; u velkých odpovědí (nad limit) se přechází 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 se běžně omezují velikosti EDNS a pro rozsáhlé odpovědi (např. DNSSEC) se používá TCP.

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á prostřednictvím záznamů DS 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í před podvržením odpovědí. U negativních odpovědí využívá NSEC/NSEC3, které prokazují neexistenci názvu nebo typu záznamu.

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

  • 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 minimization snižuje množství informací sdílených s nadřazenými autoritami (resolver odesílá pouze nezbytnou část názvu).
  • DNS Cookies a 0x20 bit encoding pomáhají zmírňovat některé útoky založené na podvržení 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 adresy klienta, aby CDN mohly vracet geograficky optimalizované IP adresy. Zvyšuje výkon, ale má dopad na soukromí a možnost ukládání do keše (větší fragmentace keše). Doporučuje se používat jej opatrně a 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é intervaly pro sekundární servery (refresh, retry, expire).
  • NOTIFY aktivně informuje sekundární servery o změně a urychluje její šíření.
  • AXFR (úplný) a IXFR (přírůstkový) přenos zajišťují přenos zón; přístup se zabezpečuje pomocí TSIG (sdílené klíče) a řízených 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žívat v doménách znaky mimo ASCII. Při přenosu se používá Punycode (ACE, prefix xn--). Mezi bezpečnostní postupy patří prevence homoglyfních útoků (útoků využívajících vizuálně podobné znaky) a rozumné politiky registrátorů.

Reverzní DNS a jeho význam

Reverzní strom in-addr.arpa (IPv4) a ip6.arpa (IPv6) mapuje IP adresy na názvy pomocí záznamů PTR. 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 zabezpečení e-mailu

  • SPF (TXT): určuje, které servery smějí odesílat poštu za doménu.
  • DKIM (TXT): veřejný klíč pro ověření podpisu v e-mailové zprávě.
  • DMARC (TXT): politika vyhodnocování SPF/DKIM a reportování; zvyšuje odolnost proti phishingu a podvržení identity (spoofingu).

Vyvažování zátěže a směrování služeb přes DNS

  • Round-robin: více záznamů A/AAAA pro stejný název, jednoduché rozložení zátěže.
  • GeoDNS / latency-based: různé odpovědi podle lokality nebo měření latence.
  • Failover: krátké TTL a monitorované přepínání na záložní IP adresu; pokročilejší možností jsou SVCB/HTTPS s parametry služby.
  • SRV: explicitní směrování na porty a podle priorit (např. VoIP, LDAP), NAPTR pro přepis pravidel (např. ENUM).

Útoky a obrana: otrávení keše, Kaminskyho útok, DDoS amplifikace

  • Otrávení keše (cache poisoning): podvržení odpovědí rekurzivnímu resolveru; opatření zahrnují náhodný zdrojový port, nepředvídatelný identifikátor dotazu, 0x20 encoding a validaci prostřednictvím DNSSEC.
  • Kaminskyho útok: rychlé hádání autoritativních údajů pomocí paralelních dotazů; opatření jsou stejná jako výše a zahrnují také pečlivou implementaci.
  • DDoS amplifikace: zneužití otevřených resolverů a velkých odpovědí (ANY, DNSSEC) k zesílení útoku; obrana zahrnuje uzavření resolveru, Response Rate Limiting (RRL), BCP 38 (ochrana proti podvržení zdrojové adresy), omezení velikosti EDNS a anycast.

Provozní praxe a observabilita

  • Monitoring: latence rozlišení, míra chyb (SERVFAIL, NXDOMAIN), velikost keše, poměr zásahů do keše (hit ratio), kapacita QPS, vytíž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ěřování delegací, konzistence NS a glue záznamů, správnosti SOA, dostupnosti přes TCP/UDP a validace řetězce DNSSEC.
  • Politiky: omezení rekurze na důvěryhodné klienty, omezování rychlosti, QNAME minimization a šifrované přenosy.

Š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 vyšší 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í doby, po kterou zůstávají populární záznamy aktuální, a režim serve-stale při výpadcích autoritativních serverů.

Konfigurace TTL a plánování změn (šíření)

„Šíření DNS“ není mechanismus push, ale expirace záznamů v keších. Před migrací snižte TTL (např. několik dní předem), proveďte změny a poté TTL vraťte na původní hodnotu. Sledujte autoritativní odpovědi, konzistenci NS a stav DNSSEC (záznam DS v TLD před změnou klíčů).

DNS v lokálních sítích, mDNS a vyhledávání služeb

  • mDNS a DNS-SD (např. Bonjour) umožňují vyhledávání služeb bez centrální autority v lokálním segmentu (.local).
  • Split-horizon DNS: různé odpovědi pro interní a externí klienty; vyžaduje důslednou správu zón a přístupů.
  • Policy DNS: filtrování škodlivých domén, blokování C2 a phishingu na úrovni resolveru s využitím informačních zdrojů o hrozbách (threat-intel feedů).

Kompatibilita s IPv6 a scénáře dual-stack

Vedle záznamů A je třeba poskytovat také záznamy AAAA; testujte dostupnost přes IPv6 a preferenci cest (Happy Eyeballs). Reverzní zóny pro IPv6 používají ip6.arpa s hexadecimálními delegacemi na hranicích nibblů.

Osvědčené postupy pro správce domén a DNS služeb

  • Udržujte konzistenci NS a glue záznamů u delegací; používejte alespoň 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ě publikujte záznamy DS v TLD.
  • Omezte rekurzi pouze na interní klienty; nasazujte DoT/DoH na ochranu klientů a QNAME minimization pro ochranu soukromí.
  • Chraňte přenosy zón pomocí TSIG a seznamů povolených adres; sledujte pokusy o AXFR/IXFR z neautorizovaných adres.
  • Plánujte TTL s ohledem na potřeby podnikání (rychlé změny vs. snížení zátěže); u kritických záznamů používejte nižší TTL.
  • Implementujte RRL, limity EDNS a anycast pro zvýšení odolnosti proti DDoS; pravidelně kontrolujte otevřené resolvery.

Závěr: DNS jako adaptivní, bezpečný a škálovatelný systém

DNS je víc 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é a bezpečné směrování k digitálním službám. Správná správa DNS – včetně DNSSEC, šifrovaných přenosů, rozumných TTL a provozních kontrol – je zásadní pro dostupnost i bezpečnost dnešních aplikací a infrastruktur.