domain name system
= systém určený pro překlad doménových jmen na IP adresy a naopak
je hierarchický
není zabezpečený (DNSSEC je zabezpečená varianta)
důvod zavedení: lidem se špatně pamatovaly IP adresy
běží na portu 53 a používá UDP protokol
funguje na transportní vrstvě
každá stanice má nastavenou adresu pro DNS server (buď staticky nebo ji získá dynamicky pomocí DHCP )
při potřebě překladu se OS obrátí na DNS Resolver , který mu zařídí překlad dané adresy
DNS servery jsou hodně cachované pro urychlení překladu
Jak to funguje?
zadám pro prohlížeče www.google.com
OS se podívá do svého souboru hosts.txt
, kde má uložené překlady na IP adresy
pokud neuspěje, zeptá se svého DNS Resolvera (specifikovaný v konfiguraci OS)
DNS Resolver se buď iterativně nebo rekurzivně snaží najít hledanou IP adresu pro dané doménové jméno
Iterativní dotazování v DNS
Rekurzivní dotazování v DNS
Hierarchie domén a doménových jmen
doménová jména mají stromovou strukturu
www.timetable.fit.cvut.cz
kořenová doména: .cz
(úroveň zanoření 1)
subdoména: cvut.cz
(úroveň zanoření 2)
subdoména subdomény: fit.cvut.cz
(úroveň zanoření 3)
definice domény = množina různých doménových záznamů sdružených pod společným doménovým jménem
kořenové DNS servery
jsou rozdělené do 13. skupin po celém světě, udržují informace o DNS serverech domén 1. úrovně (TLD domén)
požadavky na kořenové servery se posílají anycastem (tedy hledám prvního, kdo mi odpoví)
tyto servery jsou v podstatě nahardcodované do OS, takže jejich IP adresy jsou dopředu známé
DNS servery pro TLD (top level domain )
to jsou:
Generic Top Level Domains - .gov
, .edu
, .com
atd.
Country Code Top Level Domains - .cz
, .de
atd.
New Generic Top Level Domains - .paris
, london
atd. - může to být libovolný řetězec
Doménový zdrojový záznam
záznam, který obsahuje konkrétní informace pro konkrétní doménové jméno
mají různé typy:
DNS protokol
slouží pro zasílání dotazů a odpovědí v systému DNS
většinou se používá UDP protokol , port 53
formát paketu je stejný pro dotaz i odpověď (v jednom paketu může být více dotazů i odpovědí)
Reverzní dotaz
opačný dotaz, pro danou IP adresu potřebuji doménové jméno
funguje stejně, jako přímý dotaz s následujícími změnami:
za hledanou IP adresu se přidá in-addr.arpa
: DD.CC.BB.AA.in-addr.arpa
finální reverzní překlad provede DNS server organizace, která má adresní rozsah na starosti
DNSSEC
založeno na Asymetrická kryptografie
každý DNS server svoji odpověď podepíše svým soukromým klíčem
v nadřízeném DNS serveru je uložen veřejný klíč daného (podřízeného) serveru a tím jde ověřit pravost odpovědi
DynDNS (dynamické DNS)
pro zařízení, které často mění svoji IP adresu → klasické DNS záznamy jsou nepoužitelné
DynDNS server dokáže měnit A záznamy podle pokynů jednotlivých stanic
zařízení se připojí do sítě a místnímu DynDNS serveru nahlásí svoji IP adresu a doménové jméno
ostatní zařízení v síti se ptají DynDNS serveru na doménové jméno, dostanou uloženou IP adresu
kontrola dostupnosti zařízení se pravidelně opakuje (např. každých 10 minut)
DNS Cache poisoning
kybernetický útok, jehož cílem je vložit falešné záznamy do DNS resolveru (resp. do jeho cache), aby pak vracel podvodné servery i v případě, když uživatelé zadají správné URL
ochranou je DNSSEC a krátké TTL záznamů v cache