Co je DNS a proč je kritické pro Internet
Domain Name System (DNS) je distribuovaný hierarchický systém pro pojmenovávání a vyhledávání síťových zdrojů. Překládá lidsky čitelné názvy (např. example.com) na síťové adresy (např. 192.0.2.1 nebo 2001:db8::1) a poskytuje metadata o službách. DNS je navrženo pro škálování, redundanci a loose consistency – změny se šíří postupně podle TTL a replikace zón.
Základní komponenty a role
- Rekurzivní resolver: zprostředkovatel pro klienty (stub resolvery), provádí iterativní dotazy a cacheuje odpovědi.
- Autoritativní server: definitivní zdroj pro konkrétní zónu, odpovídá na dotazy bez další rekurze.
- Kořenové servery: udržují kořenovou zónu (.) a delegace na TLD; provozovány v globální anycast síti.
- Registry a registrátoři: správa TLD (.cz, .com) a poskytování delegací (NS, DS) pro druhé úrovně.
- Stub resolver: součást OS/aplikace, předává dotazy rekurzivnímu resolveru (typicky ISP či podnikový).
Hierarchie jmenného prostoru a delegace
DNS jmenný prostor je strom se zónami oddělenými tečkami: kořen → TLD (např. .cz) → druhá úroveň (example.cz) → subdomény. Delegace probíhá zapsáním záznamů NS v nadřazené zóně a odpovídajícími glue záznamy (A/AAAA), pokud jsou autoritativní servery v delegovaném jmenném prostoru.
Typy záznamů a jejich použití
- A / AAAA: IPv4/IPv6 adresa hostitele.
- CNAME: alias na jiné jméno; nesmí koexistovat s dalšími typy záznamů na stejném jméně.
- NS: autoritativní servery zóny; používány pro delegace i v apexu zóny.
- MX: směrování pošty domény na mail servery s prioritami.
- TXT: volný text; často používaný pro SPF, DKIM, DMARC a ověřování domény.
- SRV: umístění služby s protokolem a portem (např. _sip._tcp).
- PTR: reverzní mapování IP adresy na jméno v doménách in-addr.arpa a ip6.arpa.
- SOA: metadata zóny – primární server, e-mail správce, sériové číslo a časování replikací.
- CAA: povolení certifikační autoritě vydávat certifikáty pro doménu.
- DNSKEY / DS / RRSIG / NSEC/NSEC3: prvky DNSSEC pro podepisování a validaci odpovědí.
- NAPTR / SVCB / HTTPS / TLSA: pokročilé směrování (ENUM, nové modely pro web, DANE).
Jak probíhá rezoluce jména
- Klient (stub) pošle dotaz na rekurzivní resolver (RD=1).
- Resolver zkontroluje cache; pokud záznam není v cache, dotáže se kořenového serveru a získá NS servery pro TLD.
- Iterativně pokračuje k TLD a dále k autoritativním serverům pro hledanou zónu.
- Po získání odpovědi ji uloží do cache podle TTL a vrátí klientovi (RA=1).
- Pro CNAME může následovat řetězení dotazů, dokud není získán konečný typ záznamu (např. A/AAAA).
Formát DNS zprávy a význam polí
- Hlavička: ID transakce, příznaky (QR, OPCODE, AA, TC, RD, RA, AD, CD), RCODE.
- Sekce: Question, Answer, Authority, Additional; komprese jmen pro úsporu datového prostoru.
- Přenos: primárně UDP na portu 53 (kvůli latenci), fallback na TCP na portu 53 pro velké odpovědi, AXFR/IXFR a DNSSEC.
Cache, TTL a negativní caching
Cache zvyšuje výkon a dostupnost; TTL určuje dobu platnosti záznamu. Negativní caching (NXDOMAIN, NODATA) je řízen parametrem minimum v SOA. Chybné či příliš dlouhé TTL komplikují změny (např. migrace) a zvyšují riziko nekonzistence.
EDNS(0), fragmentace a limity velikosti
EDNS(0) rozšiřuje velikost UDP odpovědí (obvykle až 1232–4096 bajtů) a přidává volby (např. DNS Cookie). Velké odpovědi mohou fragmentovat IP pakety a způsobovat ztráty; nejlepší praxí je držet odpovědi pod hranicí PMTU nebo preferovat TCP/DoT/DoH pro velké zprávy a DNSSEC.
DNSSEC: kryptografická integrita a autenticita
- Princip: autoritativní zóna podepisuje sady záznamů (RRset) klíčem ZSK, KSK slouží pro důvěryhodné zakotvení (DS v nadřazené zóně).
- Validace: rekurzivní resolver ověřuje RRSIG a buduje řetězec důvěry od kořenové zóny až k dané zóně.
- Negativní odpovědi: NSEC/NSEC3 dokazují neexistenci jména či typu bez zveřejnění celé zóny.
- Operace: rotace klíčů (ZSK častěji než KSK), správné sekvenování a hlídání expirace podpisů.
Soukromí, minimalizace a šifrování transportu
- QNAME minimization: resolver dotazuje po krocích pouze nezbytné části jména ke snížení úniku informací.
- DNS over TLS (DoT) a DNS over HTTPS (DoH): šifrovaný přenos mezi klientem a resolverem zvyšuje soukromí a integritu.
- DNS over QUIC (DoQ): nízká latence, lepší odolnost vůči ztrátám a eliminace head-of-line blocking.
- EDNS Client Subnet (ECS): předávání prefixu klienta pro geo-balancování; má dopady na soukromí a cache.
Dostupnost a škálování: anycast, geoDNS a balancing
- Anycast: stejná IP adresní rozsah v rozsáhlé distribuované sítí uzlů; směrování klientů k nejbližšímu uzlu zvyšuje odolnost a snižuje latenci.
- GeoDNS: různá odpověď dle lokality tazatele (IP geolokace, ECS); vhodné pro obsahové sítě.
- Rate-limiting a RRL: omezení odpovědí autoritativních serverů při anomálním chování tazatele.
Bezpečnostní hrozby a obrana
- Cache poisoning: mitigace randomizací zdrojového portu, 0x20 case randomizací, DNSSEC validací.
- Amplifikační útoky: malé dotazy vedou k velkým odpovědím; obrana přes BCP38 (anti-spoofing), RRL a omezení otevřených resolverů.
- Otevřené resolvery: nepovolený přístup z internetu; vhodné zavřít či filtrovat dle politiky.
- Malware a DGA: detekce anomálních dotazů, RPZ (Response Policy Zones) pro blokování domén.
Správa zón: AXFR/IXFR, NOTIFY, dynamické DNS
- AXFR: plný přenos zóny na sekundární servery; nastavte ACL a TSIG pro integritu a autentizaci.
- IXFR: inkrementální přenos změn – šetří šířku pásma a zrychluje propagaci.
- NOTIFY: signalizace změny sekundárním serverům mimo standardní refresh interval.
- Dynamic DNS (RFC 2136): online změny záznamů s ověřením (TSIG), užitečné pro automatizaci a integraci s DHCP.
Provozní modely: vlastní DNS vs. cloudová služba
- On-prem/self-hosted: plná kontrola, možné nižší náklady ve velkém měřítku, nutnost vlastního SRE a zabezpečení.
- Managed/cloud DNS: globální anycast, SLA, integrace s API a IAM, platba dle dotazů a zón.
- Hybrid: kritické zóny on-prem s hidden master, globální distribuce přes cloud sekundární servery.
Reverzní DNS a e-mailová reputace
PTR záznamy v in-addr.arpa a ip6.arpa zlepšují doručitelnost e-mailů. Kombinujte je se SPF (TXT), DKIM (veřejný klíč v TXT) a DMARC pro ověřovací politiku. Nesoulad mezi A/AAAA a PTR záznamy může negativně ovlivnit reputaci.
Specifika pro IPv6
- AAAA záznamy: dbejte na paritu s A záznamy; preferujte dual-stack a testujte konektivitu.
- ip6.arpa: reverzní zóna ve formátu nibble; automatizace je klíčová vzhledem k délce jmen.
- MTU a fragmentace: preferujte menší velikosti EDNS odpovědí a transporty DoT/DoH/DoQ.
Vývojové a podnikové vzory: split-horizon a conditional forwarding
- Split-horizon: rozdílné odpovědi podle zdroje dotazu (interní vs. externí pohled); pozor na konzistenci a cachování.
- Conditional forwarding: přesměrování dotazů pro vybrané domény na interní autoritativní servery (např. Active Directory DNS).
- Service discovery: SRV/SVCB/HTTPS záznamy pro lokalizaci služeb, DNS-SD v lokálních sítích, mDNS pro bezinfrastrukturní prostředí.
Monitoring, metriky a observabilita
- Dostupnost a latence: měřte percentily p95/p99 doby dotazů, chybovost podle RCODE, saturaci zdrojů.
- Cache hit ratio: klíčová metrika výkonu resolveru, ovlivňuje náklady i latenci.
- Objem dotazů: QPS, top domény/typy, anomálie (DGA, skoky v NXDOMAIN).
- Logování: detailní záznamy dotazů s ohledem na GDPR a uchovávání; sampling pro vysoké objemy.
Nástroje pro správce a diagnostiku
- dig / kdig / drill: ruční dotazy, testování DNSSEC (AD bit), EDNS velikosti, trace (+trace).
- nslookup: starší nástroj, méně doporučovaný pro pokročilou diagnostiku.
- tcpdump / Wireshark: inspekce protokolu, fragmentace, retransmise, kontrola flagů.
- dnstap: streamování dotazů a odpovědí z resolverů pro analýzu v reálném čase.
Referenční software a role
- Autoritativní servery: BIND, Knot DNS, NSD, PowerDNS Authoritative.
- Rekurzivní resolvery: Unbound, Knot Resolver, PowerDNS Recursor, CoreDNS (často v cloudu či kontejnerech).
- Integrované platformy: Active Directory DNS pro interní sítě s AD integrovanými zónami.
Provozní bezpečnost a compliance
- Přístupové politiky: řízení změn, více očí na publikaci zón, audit záznamů.
- TSIG/TLS: ochrana AXFR/IXFR, API rozhraní a synchronizací.
- Segmentace: oddělení managementu, separátní sítě pro externí autoritativní a interní resolvery.
- Hardening: minimalizace funkcí, omezení rekurze, limity na odpovědi, pravidelné aktualizace.
Migrační a změnové strategie
- Snížení TTL: několik dní před změnou (např. přesun hostingových služeb) snížit TTL, po stabilizaci vrátit do původní hodnoty.
- Postupná validace: canary změny v menší subdoméně, monitoring NXDOMAIN a chyb.
- Rollback: připravená předchozí konfigurace, skripty pro rychlé navrácení stavu.
Checklist nejlepší praxe
- Dva a více nezávislých autoritativních serverů, ideálně anycast, různorodí poskytovatelé a ASN.
- Správně nastavené NS a odpovídající glue; konzistence mezi nadřazenou a podřízenou zónou.
- DNSSEC podepsané zóny, pravidelná rotace klíčů a validace v resolverech.
- QNAME minimization, DoT/DoH/DoQ pro citlivé segmenty; rozumné hodnoty EDNS velikostí.
- Uzavřené resolvery, RRL a BCP38 proti spoofingu; RPZ pro filtraci domén, pokud je požadována.
- Automatizace správy zón (GitOps, CI/CD), testy konfigurací a syntaktická validace.
- Monitoring p99 latence, chybovosti a cache hit ratio; upozornění na změny NS/DS/MX záznamů.
Závěr
DNS je základní vrstva internetu, která musí zároveň splnit nároky na výkon, bezpečnost a provozní jednoduchost. Moderní provoz kombinuje DNSSEC, šifrované transporty, anycastovou distribuci, pečlivé cacheování a automatizaci změn. Organizace, které spravují DNS jako kritickou službu s jasnými