10.7 Systém doménových mien, DNS a DoH
Doménové meno
Úplné doménové meno (FQDN) internetového servera má všeobecný tvar zariadenie.doména. Napríklad esphome.ust.ssnd.sk označuje zariadenie (server) s menom „esphome“, ktorý sa nachádza v doméne školy - „ust.ssnd.sk“. V nej sú aj iné zariadenia, napríklad „grafana“, jeho doménové meno teda bude „grafana.ust.ssnd.sk“.
Meno domény by sme vedeli ďalej rozdeliť na viac častí oddelených bodkou - posledná časť (za poslednou bodkou, v našom prípade „sk“) je doména najvyššej úrovne (TLD). Domény najvyššej úrovne by sa dali rozdeliť do dvoch kategórií:
- národné domény (ccTLD) označujú krajinu, zopár príkladov susedných a blízkych krajín:
- .sk - Slovensko;
- .cz - Česko;
- .pl - Poľsko;
- .ua - Ukrajina;
- .hu - Maďarsko;
- .at - Rakúsko;
- .de - Nemecko.
- všeobecné domény (gTLD) označujú typ organizácie / inštitúcie, zopár historických domén:
- .com - komerčné spoločnosti (company), v súčasnosti najrozšírenejšia TLD;
- .org - nekomerčné organizácie (organization);
- .net - inštitúcie zaoberajúce sa sieťami a internetom (network);
- .mil - armáda USA (military);
- .gov - vláda a vládne inštitúcie USA (government);
- .edu - vzdelávacie inštitúcie USA (education).
Niektoré všeobecné domény najvyššej úrovne zostali z historických dôvodov vyhradené pre USA (.mil, .gov, .edu) - ostatné krajiny ich používajú len ako domény 2. úrovne pod príslušnou TLD svojej krajiny, napríklad slovenská vláda má doménu „.gov.sk“, konkrétny príklad webových stránok Protimonopolného úradu SR na nej: www.antimon.gov.sk
Je pochopiteľné, že v záujme zachovania poriadku musí prideľovanie doménových mien niekto usmerňovať a organizovať - správu každej domény najvyššej úrovne má na starosti príslušné centrum NIC (vo význame Network Information Center). V prípade našej národnej domény sa jedná o SK-NIC, kde si je možné vyhľadať informácie o konkrétnej slovenskej doméne - kto je jej vlastníkom, dokedy je jej prevádzka zaplatená a podobne.
DNS server
Informácie o doménových menách udržiavajú a poskytujú DNS servery. Tie majú hierarchické usporiadanie:
- koreňové DNS servery sú rozmiestnené po celom svete, je ich dokopy 13 a obsahujú register všetkých TLD a ich NIC;
- autoritatívny DNS server pre konkrétnu doménu je v podstate jej NIC, teda spravuje záznamy tejto domény;
- rekurzívny DNS prekladač (resolver) získava DNS údaje postupne podľa hierarchie - teda spýta sa koreňového DNS servera na správcu TLD, toho sa spýta na správcu domény 2. úrovne, atď.
Bežne zadávame náš smerovač ako „DNS server“ pre zariadenia v sieti, no v skutočnosti sa nejedná o plnohodnotný DNS server (ani resolver), ale len o preposielanie požiadaviek (DNS Forwarder) s ukladaním výsledkov do pamäte (cache) pre opakované použitie - čo je samo o sebe výhodnou možnosťou obzvlášť v prípade sietí s veľkým množstvom klientov. Každé zariadenie MikroTik s RouterOS môže slúžiť ako DNS server s cache, pričom umožňuje nielen preposielať požiadavky, ale môžeme v ňom nastaviť aj vlastné (statické) DNS záznamy cez WinBox ponuku IP → DNS → tlačidlo Static.
DNS záznamy
Každý DNS záznam má svoj typ, hodnotu a dobu platnosti. Azda najčastejšie sa stretneme s týmito typmi DNS záznamov:
- A: IPv4 adresa;
- AAAA: IPv6 adresa;
- CNAME: alias mena (odvoláva sa na iné meno);
- MX (mail exchanger): priorita a adresa SMTP servera pre príjem mailov;
- TXT: rôzne doplnkové informácie, napr. SPF, Domain Key;
- FWD: nejde o štandardný DNS záznam, ale skôr funkciu pre preposlanie otázky na iný DNS server.
Dotazovanie DNS
Pre komunikáciu s DNS serverom, teda pre získavanie informácií o doménových menách, sa využíva príkaz nslookup alebo pokročilejší príkaz dig - ten síce nepodporuje interaktívny režim dotazovania, ale podporuje aj nové typy DNS záznamov (napríklad HTTPS). Zopár príkladov použitia:
dig www.ssnd.sk # štandardný dotaz A
dig MX ssnd.sk # dotaz na typ MX
dig server.ust.ssnd.sk +short # stručný výpis - len odpoveď
dig server.ust.ssnd.sk @8.8.8.8 +short # pýta sa konkrétneho DNS servera 8.8.8.8
V OS Windows nie je štandardne nástroj dig k dispozícii, doinštalovať ho možno aj príkazom winget install ISC.Bind --scope machine. Ak nie je dostupný v OS Linux, pomôže napríklad apt install dnsutils.
Reverzné DNS záznamy
DNS server prekladá nielen doménové meno na IP adresu, ale môže aj opačne - k IP adrese dohľadať stanovené doménové meno cez reverzný záznam typu PTR. Pozor, viaceré doménové mená môžu smerovať na rovnakú IP adresu, no každá IP adresa má len jediný reverzný záznam. Ten sa získava určitým trikom - dotazuje sa „doménové meno“ v špeciálnom tvare:
- Pre IPv4 je to {IP adresa po číslach od konca}.in-addr.arpa, pričom čísla (oktety) sa oddeľujú bodkou, teda napríklad pre adresu „10.112.100.200“ je to „200.100.112.10.in-addr.arpa“.
- Pre IPv6 je to {IP adresa po čísliciach od konca}.ip6.arpa, pričom číslice (v šestnástkovej sústave) sa oddeľujú bodkou, teda napríklad pre adresu „2001:470:5a05:100::1“ je to „1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.1.0.5.0.a.5.0.7.4.0.1.0.0.2.ip6.arpa“.
Takéto PTR záznamy, na rozdiel od všetkých vyššie uvedených, sa nedefinujú na DNS serveri držiteľa domény, ale oprávnenie preň má držiteľ IP adresy, čiže obvykle ISP.
Načo sú vlastne dobré reverzné záznamy?
Okrem diagnostických nástrojov typutracerouteich využívajú aj poštové servery pre zapisovanie trasy správy do hlavičiek e-mailu, ale aj na overovanie odosielajúceho servera. Okrem toho sa reverzné dotazy môžu využívať aj na identifikáciu, či jednoduchú geolokáciu klienta ľubovoľnej služby - napríklad na našom webe môžeme vidieť, že návštevník prišiel zo siete telekom.sk, orange.sk, ssnd.sk a podobne.
DoH (DNS over HTTPS)
Keďže DNS služba je z podstaty fungovania predmetom záujmu útočníkov, zaujímavou novinkou je DNS over HTTPS (DoH) - dotazy na doménové mená sa nerealizujú štandardným nešifrovaným spojením na DNS server (ktoré je možné veľmi jednoducho zachytiť a zmanipulovať - pozri kapitolu 12.3 Presmerovania spojení z LAN), ale prostredníctvom šifrovaného HTTPS spojenia na DoH server. Túto možnosť podporujú webové prehliadače, operačné systémy, ale i MikroTik zariadenia. Klientovi nenastavujeme DNS server cez obvyklú IP adresu, ale uvádzame plnú URL adresu na HTTPS službu poskytovateľa DoH v tvare https://{adresa servera}/dns-query.
Zapnutie DoH
Vo Windows 11 je možné zapnúť DoH v nastaveniach sieťovej karty, no DoH server použijú len podporované aplikácie (webové prehliadače) a nie operačný systém samotný. V nastaveniach je potrebné:
- zvoliť manuálne DNS, zadať bežnú IP adresu zvoleného DNS servera (napríklad 1.1.1.3);
- v časti „Uprednostňovaný server DNS pred protokolom HTTPS“ zvoliť voľbu „Zapnuté (manuálna šablóna)“;
- zadať celú URL adresu toho istého DoH servera, ktorého IP adresu sme zadali vyššie (napríklad https://1.1.1.3/dns-query).
Nastavenie DoH vo webových prehliadačoch PC:
- Edge: v nastaveniach „Ochrana osobných údajov", sekcia „Zabezpečenie“, voľba „Použiť zabezpečené DNS“;
- Vivaldi: v nastaveniach „Sieť“, sekcia „DNS cez HTTPS“;
- Firefox: v nastaveniach „Súkromie a bezpečnosť“, sekcia „DNS cez HTTPS“.
Príklad využitia DoH služieb Cloudflare:
- adresa servera DoH bez filtrovania: cloudflare-dns.com alebo 1.1.1.1;
- adresa servera DoH s filtrovaním škodlivého obsahu: security.cloudflare-dns.com alebo 1.1.1.2;
- adresa servera DoH s filtrovaním škodlivého a nevhodného obsahu: family.cloudflare-dns.com alebo 1.1.1.3;
- overenie funkčnosti DoH Cloudflare: https://one.one.one.one/help;
- overenie funkčnosti filtrovania: cez adresy uvedené v zozname z dokumentácie (napríklad phishing.testcategory.com);
- dokumentácia API.
Ak URL adresa DoH servera obsahuje doménové meno, je nutné mať nastavený aj štandardný DNS server. Akonáhle sa overí funkčnosť DoH, štandardný DNS server sa nebude používať. No čo ak útočník zachytí dotaz na doménové meno DoH servera? Toto rieši samotné šifrovanie HTTPS, v MikroTik RouterOS je však potrebné zapnúť overovanie certifikátu a nahrať koreňovú CA - touto problematikou sa budeme zaoberať podrobne v 14. kapitole. Cloudflare využíva certifikát DigiCert Global Root CA.