Zkratka proDomain Name SystemTakéDomain Name ServicePokročilý
Definice
DNS je distribuovaný systém, který převádí doménová jména na technické údaje potřebné pro komunikaci, hlavně IP adresy serverů. Díky DNS může uživatel zadat čitelnou adresu webu, zatímco počítač získá záznamy pro web, e-mail, ověření domény nebo další síťové služby.
Proč DNS stojí mezi doménou a IP adresou
DNS řeší rozdíl mezi názvem, který si člověk pamatuje, a adresou, kterou potřebuje síť. Doména jako example.com sama o sobě neříká, na který server se má připojit prohlížeč, poštovní server nebo jiná aplikace. DNS k doméně vrací záznamy: například A a AAAA pro IP adresy, MX pro příjem e-mailu, CNAME pro alias nebo TXT pro ověřovací údaje. Výsledek není jedna centrální tabulka, ale hierarchie spravovaná mnoha provozovateli.
Cesta dotazu od zařízení k autoritativnímu serveru
DNS dotaz obvykle začíná u takzvaného resolveru, který používá operační systém, router, poskytovatel internetu nebo veřejná služba. Resolver se nejdřív podívá do cache. Pokud odpověď nemá, postupuje hierarchií: kořenové servery nasměrují dotaz na servery příslušné domény nejvyšší úrovně, například .cz nebo .com, a ty ukážou na autoritativní DNS servery konkrétní domény. Autoritativní server vrací odpověď, za kterou nese odpovědnost správce zóny.
Záznamy, TTL a cache
DNS záznam má typ, hodnotu a obvykle také TTL, tedy dobu, po kterou smí resolver odpověď ukládat. Krátké TTL pomáhá při migraci webu nebo změně e-mailové infrastruktury, protože staré odpovědi zmizí z cache rychleji. Dlouhé TTL šetří dotazy, snižuje latenci a zvyšuje odolnost proti výpadkům autoritativních serverů. Kompromis se volí podle situace: statické domény snesou delší hodnoty, aktivně přesouvané služby potřebují opatrnější nastavení.
DNS v provozu webu, e-mailu a cloudu
DNS nastavení často rozhoduje o tom, jestli služba působí funkčně, i když samotná aplikace běží správně. Web může mířit na load balancer, CDN nebo hosting. E-mail potřebuje kromě MX také záznamy pro SPF, DKIM a DMARC, které pomáhají příjemcům posoudit, zda zpráva skutečně patří k dané doméně. Cloudové platformy často dávají zákazníkovi cílový název pro CNAME, nikoli pevnou IP adresu, protože infrastruktura za službou se může měnit.
Bezpečnostní hranice DNS
DNS je citlivé místo, protože špatná odpověď může odvést uživatele jinam, než zamýšleli. Riziko vzniká při kompromitaci účtu u registrátora, chybné delegaci, podvržení odpovědi nebo škodlivé změně záznamů. DNSSEC přidává kryptografické ověření integrity odpovědí, pokud jej podporuje celý řetězec od kořenové zóny po konkrétní doménu a používající resolver. DNSSEC ale nešifruje obsah dotazu a nenahrazuje HTTPS, firewall ani správu přístupů k DNS účtu.
Příklady z praxe
Kontrola IP adresy webu
Vývojář ověřuje, proč nově nasazený web neodpovídá na doméně. Příkazem se zeptá DNS na záznam typu A a zjistí, zda doména vrací očekávanou IPv4 adresu. Pokud DNS pořád ukazuje na starý server, problém není v aplikaci, ale v záznamu nebo v cache resolveru.
dig example.com AOvěření směrování e-mailu
Správce nastavuje firemní e-mail po přechodu na nového poskytovatele. Dotaz na MX záznam ukáže, zda doména směruje poštu na správné servery. Pokud MX chybí nebo ukazuje na starou službu, odesílatelé mohou dostávat chyby doručení nebo pošta skončí mimo nový systém.
dig example.com MX
Časté omyly
- MýtusDNS je jen jedna centrální databáze domén.
- Ve skutečnostiDNS je distribuovaný hierarchický systém. Různé části spravují kořenové servery, registry domén nejvyšší úrovně a autoritativní servery jednotlivých domén.
- MýtusKdyž změním DNS záznam, změna se musí projevit okamžitě.
- Ve skutečnostiDNS odpovědi se ukládají do cache podle TTL. Někteří uživatelé proto mohou určitou dobu dostávat starou odpověď, i když autoritativní server už vrací novou hodnotu.
- MýtusDNSSEC šifruje DNS dotazy.
- Ve skutečnostiDNSSEC podepisuje DNS data kvůli ověření původu a integrity. Samotné dotazy nešifruje, k tomu slouží jiné mechanismy, například šifrovaný transport DNS.
Časté dotazy
- Proč se DNS změna neprojeví všem uživatelům hned?
- DNS změna se nešíří jako soubor kopírovaný do všech serverů najednou. DNS změnu si resolvery načítají až při dotazu a staré odpovědi drží v cache podle TTL. Správce může snížit TTL před plánovanou migrací, ale už dříve uložené odpovědi u cizích resolverů tím obvykle nezkrátí. Prakticky proto změna může být vidět některým uživatelům dříve než jiným.
- Kde může být uložená stará DNS odpověď?
- DNS cache může být v prohlížeči, operačním systému, domácím routeru, firemním resolveru i u poskytovatele internetu. DNS cache snižuje počet dotazů a zrychluje načítání, ale při změně záznamu může krátce vracet starou odpověď. Při ladění je proto užitečné porovnat více resolverů a ověřit také autoritativní DNS server, ne jen výsledek z jednoho počítače.
- Má smysl používat veřejný DNS resolver místo resolveru od poskytovatele?
- DNS resolver od poskytovatele internetu obvykle stačí pro běžné prohlížení webu, pokud je spolehlivý a rychlý. Veřejný resolver se hodí při diagnostice, v prostředí s pomalým lokálním DNS nebo tam, kde správce chce jednotné chování napříč sítěmi. Volba resolveru ale ovlivňuje soukromí, filtrování, podporu DNSSEC a někdy i směrování ke geograficky blízkým CDN uzlům.
- Nahrazuje DNSSEC HTTPS?
- DNSSEC řeší ověřitelnost DNS odpovědi, ne důvěrnost komunikace. DNSSEC pomáhá resolveru poznat, že podepsaná odpověď nebyla cestou změněna a patří do správného řetězce důvěry. HTTPS naopak šifruje a ověřuje spojení mezi klientem a webovým serverem. Bezpečný web může používat obojí, protože každá technologie chrání jinou část cesty.
Zdroje
- Domain names - concepts and facilities(otevře se v novém okně)
- Domain names - implementation and specification(otevře se v novém okně)
- DNS Security Introduction and Requirements(otevře se v novém okně)
- Root Zone Database(otevře se v novém okně)