Ako funguje DNS: čo sa stane, keď napíšete adresu webu

Schéma rekurzívneho DNS dotazu: klient, rekurzívny resolver, koreňový server, TLD server .sk a autoritatívny server s očíslovanými krokmi 1 až 8
Grafika: WWWN (vlastné dielo)

Počítače sa na internete nájdu podľa IP adries, ľudia si však pamätajú názvy. Medzi nimi prekladá DNS, systém doménových mien. Jeho základ popisujú dokumenty RFC 1034 a RFC 1035 z roku 1987. Základné princípy platia dodnes, hoci pribudli rozšírenia ako EDNS, DNSSEC či šifrované DNS. DNS je o pár rokov starší než samotný web, o ktorého zrode píšeme v článku Odkiaľ sa vzal web.

Cesta jednej otázky

  1. Vyrovnávacia pamäť. Prehliadač a operačný systém sa najprv pozrú, či adresu nepoznajú z nedávna.
  2. Rekurzívny resolver. Ak nie, otázka ide na resolver, typicky od vášho operátora alebo verejný, napríklad 1.1.1.1 či 8.8.8.8. Ten za vás obehne ostatné servery.
  3. Koreňový server. Resolver sa spýta jedného z koreňových serverov, kto spravuje doménu najvyššej úrovne, napríklad .sk. Koreňových serverov je 13 pod menami A až M, no každý z nich v skutočnosti tvorí množstvo inštancií po celom svete.
  4. Server TLD. Server pre .sk odpovie, ktoré menné servery má konkrétna doména.
  5. Autoritatívny server. Ten vráti samotný záznam, napríklad A (IPv4) alebo AAAA (IPv6).

Celé to trvá zvyčajne pár desiatok milisekúnd a odpoveď sa uloží do pamäte na čas, ktorý určuje hodnota TTL (time to live).

Najčastejšie typy záznamov

  • A a AAAA – IP adresa servera.
  • CNAME – alias, ktorý odkazuje na iné meno.
  • MX – kam doručovať e-maily pre doménu.
  • TXT – textové údaje, napríklad pre overenie domény alebo pre SPF proti falšovaniu e-mailov.
  • NS – ktoré menné servery doménu spravujú.

Bezpečnosť a súkromie

Pôvodné DNS nemalo žiadnu ochranu proti podvrhnutiu odpovede. DNSSEC (RFC 4033) pridáva digitálne podpisy, podľa ktorých resolver overí, že odpoveď pochádza od správcu domény. Klasické DNS navyše ide po sieti nešifrovane, takže ktokoľvek na trase vidí, aké domény navštevujete. DNS over HTTPS (RFC 8484) dotazy šifruje a väčšina prehliadačov ho dnes podporuje.

Praktické postrehy

  • Keď meníte hosting a web sa „ešte nepresunul“, takmer vždy je za tým TTL. Deň pred migráciou ho znížte napríklad na 300 sekúnd, po presune ho vráťte.
  • Ak web nefunguje len niekomu, skúste príkaz nslookup alebo dig s rôznymi resolvermi. Často ide o starú odpoveď v pamäti.
  • DNS je kritická infraštruktúra. Keď vypadne, web je nedostupný, aj keď server beží.

O tom, ako firmy oddeľujú kritickú infraštruktúru od webu, sme písali pri útoku na weby Ubuntu. DNS ponúka aj Cloudflare, ktorý práve preberá tím Deno.

Zdroje

About The Author

Related posts

Leave a Reply

Your email address will not be published. Required fields are marked *