23 min. čítať

DNSSEC: Definícia, ako funguje a prečo je dôležitý

Systém doménových mien DNS slúži ako internetový telefónny zoznam a denne prekladá ľudsky čitateľné mená na IP adresy miliardy krát. Databáza DNS uchováva dôležité záznamy DNS, ako sú IP adresy a doménové aliasy, čo z nej robí cieľ kybernetických hrozieb. Táto kritická infraštruktúra však bola navrhnutá v 80. rokoch minulého storočia bez zabudovaného zabezpečenia. Tradičné overovanie DNS sa spoliehalo na porovnávanie rovnakých IP adries pri odpovediach, čo je nezabezpečené, pretože IP adresy možno podvrhnúť. Systém DNSSEC existuje preto, aby odstránil túto základnú medzeru a doplnil kryptografické overovanie do systému, ktorý pôvodne fungoval výlučne na základe dôvery.

DNSSEC v kocke

Domain Name System Security Extensions, všeobecne známe ako DNSSEC, je skratka pre DNS Security Extensions a predstavuje súbor špecifikácií protokolu IETF, ktorý pridáva kryptografické podpisy k údajom DNS. Tieto podpisy umožňujú resolverom DNS overiť, či informácie, ktoré dostávajú, skutočne pochádzajú z autoritatívneho zdroja a či s nimi nebolo po ceste manipulované.

Hlavný problém, ktorý DNSSEC rieši, je jednoduchý: bez neho môžu útočníci do vyrovnávacích pamätí resolverov vkladať falošné odpovede DNS. Tento útok, známy ako DNS cache poisoning, presmeruje používateľov na škodlivé stránky bez ich vedomia. DNSSEC tomu zabraňuje tým, že umožňuje overovanie pôvodu údajov a zabezpečuje integritu záznamov DNS pomocou digitálnych podpisov, používa kryptografiu s verejným kľúčom a vyžaduje starostlivú správu kľúčov zóny DNS, aby sa zabránilo vydávaniu sa za niekoho iného a falšovaniu údajov.

Pracovná skupina pre internetové inžinierstvo (IETF) štandardizovala DNSSEC prostredníctvom série RFC na začiatku roka 2000 vrátane RFC 4033, 4034 a 4035. Hlavný míľnik v zavádzaní nastal v júli 2010, keď organizácia ICANN podpísala koreňovú zónu DNS, čím vytvorila globálnu dôveryhodnú kotvu, ktorá umožnila praktické zavedenie DNSSEC na celom svete.

Je dôležité pochopiť, čo DNSSEC robí a čo nerobí. DNSSEC overuje údaje DNS – potvrdzuje,že záznamy A, AAAA, MX a TXT sú pravé a nezmenené. Nešifruje však dopyty ani odpovede DNS. Vaša prevádzka DNS zostáva viditeľná pre každého, kto ju môže pozorovať. Na šifrovanie potrebujete doplnkové protokoly, napríklad DNS cez TLS alebo DNS cez HTTPS.

DNSSEC tiež nezabráni všetkým útokom na infraštruktúru DNS. Objemové útoky DDoS môžu stále zahltiť servery DNS bez ohľadu na podpisovanie. A DNSSEC nemôže zabrániť používateľom v návšteve legitímne registrovaných podvodných domén, ktoré náhodou vyzerajú presvedčivo.

Implementácia DNSSEC môže byť zložitá kvôli potrebe správy kľúčov a vytvoreniu reťazca dôveryhodnosti. Úspešné nasadenie DNSSEC vyžaduje, aby bola podpísaná aj nadradená zóna a všetky zóny v reťazci.

Väčšina domén najvyššej úrovne dnes podporuje DNSSEC – podľa údajov ICANN je podpísaných viac ako 1 400 TLD. Prijatie domén druhej úrovne však vypovedá o niečom inom. Len približne 1 – 2 % zón .com má aktivovaný DNSSEC, zatiaľ čo kódy krajín TLD, ako napríklad .nl (Holandsko) a .se (Švédsko), presahujú 90 % podpisov vďaka povinným politikám.

Prečo by vás to malo zaujímať? Pretože bez DNSSEC je každý dotaz DNS, ktorý vaša organizácia uskutoční, zraniteľný voči tichej manipulácii. Útočník, ktorý otrávi vyrovnávaciu pamäť vášho resolvera, by mohol presmerovať vašich zamestnancov na stránky, kde sa získavajú poverenia, alebo zachytiť doručovanie e-mailov – a to všetko bez toho, aby spustil akékoľvek zjavné varovanie.

Ako do seba zapadajú systémy DNS a DNSSEC

Skôr ako sa ponoríme hlbšie do DNSSEC, stručne si zopakujme, ako dnes funguje systém doménových mien. Keď do prehliadača zadáte adresu URL, stub resolver vášho počítača kontaktuje rekurzívny DNS resolver – častoposkytovaný poskytovateľom internetových služieb, podnikovou sieťou alebo verejnou službou, ako je 8.8.8.8.8 od spoločnosti Google alebo 1.1.1.1 od spoločnosti Cloudflare. Riešiteľ DNS spracúva požiadavky DNS sledovaním reťazca serverov s cieľom získať správnu IP adresu, čím zabezpečuje efektívne a presné riešenie.

Zvážte riešenie www.example.com. Rekurzívny DNS resolver sa najprv opýta jedného z 13 logických koreňových DNS menných serverov a požiada o informácie o doméne .com. Koreňový server odpovie odkazom na servery TLD .com, ktoré prevádzkuje spoločnosť Verisign. Potom sa resolver opýta serverov .com na example.com a dostane ďalšie odporúčanie na autoritatívny menný server example.com. Nakoniec sa resolver opýta tohto autoritatívneho servera a získa skutočný záznam A obsahujúci IP adresu pre www.example.com.

V rámci tohto hierarchického systému rôzne komponenty DNS, ako sú záznamy o zdrojoch, autoritatívne menné servery a kľúče na podpisovanie zón, spolupracujú na správe, kontrole a zabezpečení každej zóny DNS.

Tento elegantný hierarchický systém bol definovaný v RFC 1034 a 1035 v roku 1987. Problém? Klasický protokol DNS bol navrhnutý bez silného overovania. Odpovede sa overovali predovšetkým porovnávaním zdrojových IP adries a 16-bitových ID transakcií –systém, ktorý sa útočníci naučili využívať.

Zraniteľnosť Kaminského z roku 2008 ukázala, ako veľmi je tento dizajn zraniteľný. Bezpečnostný výskumník Dan Kaminsky ukázal, že útočníci môžu s vysokou pravdepodobnosťou vložiť falošné odpovede do vyrovnávacej pamäte resolveru tým, že počas jedného dotazovacieho okna zaplavia hádanky. Toto odhalenie podnietilo núdzové opravy v celom odvetví a výrazne urýchlilo zavádzanie DNSSEC na celom svete.

DNSSEC sa integruje ako rozširujúca vrstva, ktorá obklopuje existujúci systém DNS bez toho, aby menila základný model dopytovania/odpovedania. Nepodpísané zóny naďalej fungujú normálne pre nevalidujúce resolvery. Validujúce resolvery jednoducho vykonávajú dodatočné kryptografické kontroly podpísaných zón. Táto spätná kompatibilita bola kľúčová pre postupné zavádzanie v celom priestore názvov DNS.

Základné pojmy a typy záznamov DNSSEC

DNSSEC zavádza niekoľko nových typov záznamov o prostriedkoch DNS, ktoré spoločne vytvárajú overiteľný reťazec dôveryhodnosti. Pochopenie týchto záznamov a ich vzťahov je nevyhnutné pre každého, kto pracuje s podpísanými zónami.

Základnou jednotkou v DNSSEC je súbor záznamov o zdrojoch alebo RRSet. Ide o zoskupenie záznamov DNS, ktoré majú rovnaký názov, typ a triedu. Namiesto podpisovania jednotlivých záznamov podpisuje DNSSEC celé sady RRS. Tento prístup zabezpečuje atomickú integritu – nemôžete manipulovať s jedným záznamom v súbore bez toho, aby ste zneplatnili podpis pre všetky záznamy.

Záznam RRSIG obsahuje digitálny podpis pokrývajúci sadu RRS. Každý podpis záznamu o zdroji, vytvorený pomocou súkromného kľúča zóny, obsahuje metadáta, ako je meno podpisovateľa, obdobie platnosti a použitý algoritmus. Riešitelia overujú tieto podpisy tak, že prepočítajú hash údajov RRSet a porovnajú ho s kryptografickým podpisom.

Záznam DNSKEY zverejňuje verejný kľúč používaný na overovanie podpisov. Tieto záznamy sa zobrazujú vo vrchole zóny (ako example.com.) a obsahujú príznaky, ktoré označujú úlohu kľúča. Hodnota príznaku 256 označuje podpisový kľúč zóny, zatiaľ čo hodnota 257 označuje podpisový kľúč kľúča.

Záznam DS alebo záznam podpisovateľa delegácie vytvára prepojenie medzi nadradenou a podradenou zónou. Ukladá sa v rodičovskej zóne a obsahuje kryptografický hash verejného kľúča podriadenej zóny. Napríklad záznam DS pre example.com je uložený v zóne .com, čo umožňuje resolverom overiť, či je záznam DNSKEY zóny example.com autentický. Verejný kľúč každej zóny je podpísaný súkromným kľúčom jej nadradenej zóny, čo je nevyhnutné na vytvorenie reťazca dôveryhodnosti v DNSSEC. Tento proces zabezpečuje, že dôvera sa prenáša z nadradenej zóny na podradenú, čím sa vytvára bezpečná a overiteľná hierarchia.

Záznamy NSEC a NSEC3 umožňujú overené odmietnutie existencie. Keď sa dotaz DNS pýta na neexistujúce meno, tieto záznamy dokazujú, že meno skutočne neexistuje – zabraňujú útočníkom tvrdiť, že neexistujúce mená sú skutočné. NSEC spája existujúce názvy v zoradenom poradí, zatiaľ čo NSEC3 používa kryptograficky hashované názvy záznamov, aby sa zabránilo jednoduchému vyčísleniu obsahu zóny.

Záznamy CDS a CDNSKEY podporujú automatizovanú správu kľúčov. Tie umožňujú podriadeným zónam signalizovať aktualizované informácie DS alebo DNSKEY nadradeným zónam, čím sa znižuje manuálna koordinácia, ktorá sa tradične vyžaduje s registrátormi.

Osobitnú pozornosť si zaslúži oddelenie zónového podpisového kľúča (ZSK) a kľúčového podpisového kľúča (KSK). ZSK podpisuje bežné údaje zóny (záznamy A, AAAA, MX), zatiaľ čo KSK podpisuje iba samotný DNSKEY RRSet. Toto oddelenie umožňuje operátorom často otáčať ZSK, pričom stabilnejší KSK – a s ním spojený záznam DS v nadradenej zóne – sa nemení.

Rozšírenia zabezpečenia systému názvov

Rozšírenia zabezpečenia systému názvov (Name System Security Extensions – NSSE ) predstavujú komplexný súbor protokolov a noriem určených na posilnenie bezpečnosti systému názvov domén (DNS). Základom NSSE je DNSSEC, ktorý využíva digitálne podpisy a kryptografiu s verejným kľúčom na overovanie údajov DNS a zaručenie ich integrity. Hlavným cieľom týchto bezpečnostných rozšírení systému je ochrana pred hrozbami, ako sú podvrhnutie DNS a otrávenie vyrovnávacej pamäte DNS – útoky,ktoré môžu manipulovať s údajmi DNS a presmerovať používateľov na podvodné stránky.

Využitím bezpečnostných rozšírení systému názvov môžu vlastníci domén zabezpečiť, aby údaje DNS súvisiace s ich doménami boli autentické a nezmenené, keď sa prenášajú cez internet. To sa dosahuje pomocou infraštruktúry verejných kľúčov, kde každá podpísaná zóna zverejňuje verejný kľúč, ktorý resolvery používajú na overovanie digitálnych podpisov na záznamoch DNS. Vďaka tomu môžu používatelia a aplikácie dôverovať, že informácie, ktoré dostávajú zo systému názvov domén, sú legitímne, čo pomáha udržať dôveru používateľov a chrániť ich pred širokou škálou kybernetických hrozieb.

Ako funguje overovanie DNSSEC od konca ku koncu

Overovanie DNSSEC prebieha podľa cesty riešenia DNS a vychádza zo známeho východiskového bodu nazývaného kotva dôveryhodnosti. Pre väčšinu resolverov je touto kotvou KSK koreňovej zóny, distribuovaný prostredníctvom aktualizácií IANA a softvéru resolveru. Keď overujúci rekurzívny resolver spracúva dotaz na podpísanú doménu, vykonáva kryptografické overenie na každom kroku hierarchie DNS. Rezolver už dôveruje koreňovému DNSKEY. Pomocou tohto kľúča overuje RRSIG koreňovej zóny, ktorý pokrýva záznam DS pre TLD (napríklad .com). Potom načíta DNSKEY domény .com a overí, či sa zhoduje s hashom DS. Tento proces pokračuje až k cieľovej doméne.

Zvážte dotazovanie na www.example.com v plne podpísanom prostredí. Riešiteľ overuje:

  • Koreňový DNSKEY (dôveryhodná kotva) podpisuje záznam DS domény .com
  • DNSKEY domény .com sa zhoduje s hashom DS a podpisuje záznam DS domény example.com
  • DNSKEY stránky example.com sa zhoduje s jej DS a podpisuje záznam A pre www

Tým sa vytvorí neprerušený reťazec dôveryhodnosti od koreňového adresára až po požadovaný záznam DNS. Akákoľvek nezhoda – neplatný podpis, vypršanie platnosti RRSIG alebo zlyhanie hashovania DS/DNSKEY – preruší reťaz.

Zlyhania validácie môžete pozorovať pomocou testovacích domén, ako napríklad dnssec-failed.org, ktoré ICANN zámerne zle nakonfigurovala. Validujúce resolvery vrátia pre túto doménu SERVFAIL a úplne zablokujú prístup. Pre používateľov za nevalidujúcimi resolvermi (stále približne 70 % celosvetovo) sa doména normálne resolvuje – čo dokazuje nedostatky v súčasnom nasadení.

DNSSEC nemení aplikačné protokoly ako HTTP alebo SMTP. Jednoducho zabezpečuje, že IP adresa a ďalšie údaje DNS, ktoré aplikácie dostávajú, sú autentické a nezmenené. Prehliadač stále normálne nadväzuje spojenie HTTPS; DNSSEC len zaručuje, že odpovede na dotazy DNS smerujú na legitímny server.

V prípade overeného odmietnutia existencie záznamy NSEC alebo NSEC3 dokazujú, že dopytovaný názov alebo typ neexistuje. Riešiteľ dostane kryptograficky podpísaný dôkaz, ktorý ukazuje, ktoré názvy v zóne existujú, čo mu umožní potvrdiť medzeru, v ktorej by sa dopytovaný názov objavil.

Záznamy o zdrojoch DNSSEC v praxi

Pozrime sa na kľúčové typy záznamov DNS súvisiace s DNSSEC podrobnejšie.

Záznamy RRSIG sa generujú pomocou súkromného kľúča zóny – zvyčajne ZSK pre bežné záznamy. Každý podpis špecifikuje podpisový algoritmus (napríklad ECDSAP256SHA256), počet značiek v podpísanom názve, pôvodný TTL a časové značky vzniku/exspirácie. Tieto časové pečiatky sú kritické: resolvery odmietajú podpisy mimo ich okna platnosti, ktoré je zvyčajne nastavené na 30 dní. Prevádzkovatelia zón musia rezignovať na záznamy pred vypršaním platnosti, aby sa vyhli zlyhaniu validácie.

Záznamy DNSKEY sa zobrazujú vo vrchole zóny a môžu obsahovať viacero kľúčov počas období rollover. Pole príznaku rozlišuje roly kľúčov: 257 označuje KSK s nastaveným bitom SEP (Secure Entry Point), zatiaľ čo 256 označuje ZSK. Značka kľúča – 16-bitový identifikátor vypočítaný z údajov kľúča – pomáha resolverom rýchlo priradiť záznamy DNSKEY k zodpovedajúcim záznamom DS.

Záznamy DS v nadradenej zóne obsahujú hash KSK podriadenej zóny. Typický záznam DS obsahuje značku kľúča, číslo algoritmu, typ digestu (obyčajne SHA-256) a samotný digest. Počas overovania DNSSEC resolvery načítajú DNSKEY dieťaťa, vypočítajú hash a porovnajú ho. Nesúlad spôsobí stav BOGUS a zlyhanie validácie.

Záznamy NSEC sa reťazia cez názvy zóny v kanonickom zoradení. Každý NSEC ukazuje na ďalší existujúci názov a uvádza typy záznamov prítomné v tomto názve. To dokazuje neexistenciu, ale vystavuje obsah zóny „prechádzaniu zónou“ – útočníci môžu vymenovať každé meno sledovaním reťazca.

NSEC3 rieši prechádzanie zón hashovaním názvov pomocou soli a počtu iterácií pred reťazením. Aj keď to zabraňuje triviálnemu vyčísleniu, odhodlaní útočníci môžu predvídateľné názvy prelomiť aj offline. Príznak opt-out umožňuje nepodpísané delegácie v rámci inak podpísaných zón, čo je užitočné pre veľké zóny s mnohými nepodpísanými subdoménami.

Záznamy CDS a CDNSKEY sú zrkadlovým obrazom formátov DS a DNSKEY, ale sú publikované v samotnej podriadenej zóne. Prevádzkovatelia nadradenej zóny môžu tieto záznamy prehliadať a automaticky aktualizovať záznamy o podpise delegácie, čím sa zjednodušuje prevracanie kľúčov a počiatočné nasadenie DNSSEC.

Zoskupovanie záznamov DNS

Základným aspektom implementácie DNSSEC je zoskupovanie záznamov DNS do súborov záznamov o zdrojoch (RRSets). Súbor RRSet je kolekcia záznamov DNS, ktoré majú rovnaký názov a typ v rámci zóny. Namiesto podpisovania každého jednotlivého záznamu podpisuje DNSSEC celú sadu RRSIG jedným záznamom RRSIG. Tento prístup zjednodušuje proces podpisovania a overovania údajov DNS, čím sa zefektívňuje pre vlastníkov domén aj overujúce resolvery.

Zoskupovanie záznamov DNS do súborov RRSets nielen zjednodušuje implementáciu DNSSEC, ale aj zlepšuje možnosti správy infraštruktúry DNS. Keď sa vykoná zmena v ktoromkoľvek zázname v rámci sady RRSet, celá sada sa opätovne podpíše, čím sa zabezpečí zachovanie integrity a pravosti všetkých súvisiacich údajov DNS. Pre vlastníkov domén to znamená menšiu zložitosť pri správe podpisov a spoľahlivejšiu ochranu pred manipuláciou alebo neoprávnenými zmenami ich záznamov DNS. V konečnom dôsledku je zoskupovanie záznamov DNS osvedčeným postupom, ktorý podporuje škálovateľnosť a bezpečnosť modernej infraštruktúry DNS.

Podpisový kľúč zóny, režimy podpisovania a správa kľúčov

Správa kľúčov DDNSSEC sa sústreďuje na dve odlišné úlohy. Kľúč na podpisovanie zón (ZSK ) sa stará o každodenné podpisovanie údajov zón A, AAAA, MX, TXT a ďalších bežných záznamov. Kľúč na podpisovanie kľúčov (KSK ) plní obmedzenejšiu, ale kritickú funkciu: podpisuje iba DNSKEY RRSet, čím vytvára dôveryhodné prepojenie na záznam DS nadradenej zóny.

Prevádzkovatelia si tieto úlohy rozdelili z dobrých dôvodov. Súkromný kľúč ZSK sa používa často a čelí vyššiemu riziku vystavenia, takže jeho rotácia každých 30-90 dní obmedzuje potenciálne škody spôsobené kompromitáciou. KSK sa mení zriedkavo – raz ročnealebo menej, pretožekaždá rotácia si vyžaduje aktualizáciu záznamu DS v nadradenej zóne, čo zvyčajne zahŕňa koordináciu registrátorov.

Pri implementácii DNSSEC existujú tri hlavné spôsoby podpisovania:

  • Offline podpisovanie: Zóna sa podpíše na počítači alebo HSM s air-gapped a potom sa podpísaný súbor zóny prenesie na autoritatívne servery. Najlepšie pre statické zóny, kde bezpečnosť prevažuje nad prevádzkovým komfortom.
  • Centralizované online podpisovanie: Špecializovaná podpisová služba prijíma nepodpísané aktualizácie a podpisuje ich pred distribúciou na autoritatívne servery DNS. Vyvažuje bezpečnosť s podporou dynamických aktualizácií.
  • Podpisovanie za chodu: Autoritatívne servery generujú podpisy DNSSEC v reálnom čase, keď prichádzajú požiadavky DNS. Hodí sa pre veľmi dynamické zóny, ale zvyšuje riziko odhalenia kľúčov, ak sú servery kompromitované.

Prevrátenie kľúča si vyžaduje starostlivé načasovanie, aby nedošlo k prerušeniu reťazca dôveryhodnosti. Štandardný prístup vopred publikuje nové kľúče: pridá nový kľúč do súboru DNSKEY RRSet, počká, kým vyprší platnosť vyrovnávacej pamäte (zvyčajne dve obdobia TTL), a potom vyradí starý kľúč. Pri prevrátení KSK sa musí nový DS pred odstránením starého KSK rozšíriť aj cez nadradenú zónu.

Prevrátenie koreňového systému KSK v roku 2018 ukázalo, o čo ide. Napriek rozsiahlym prípravám sa približne 0,3 % resolverov nepodarilo aktualizovať svoje dôveryhodné kotvy, čo spôsobilo dočasné reakcie SERVFAIL. V prípade jednej zóny sa takéto chyby môžu zdať zanedbateľné – aleúčinne vyradia doménu z prevádzky pre dotknutých používateľov.

Podpisovateľ delegácie

Záznam DS (Delegation Signer) je základným kameňom reťazca dôveryhodnosti DNSSEC, ktorý spája bezpečnosť podriadenej zóny s jej nadradenou zónou v rámci hierarchie DNS. Záznam DS obsahuje kryptograficky hashovanú verziu podpisového kľúča (KSK) podriadenej zóny a je zverejnený v nadradenej zóne. To umožňuje rekurzívnym resolverom overiť, či je záznam DNSKEY prezentovaný podriadenou zónou autentický a či s ním nebolo manipulované.

Vytvorením tohto spojenia umožňuje záznam DS vlastníkom domén rozšíriť dôveru z nadradenej zóny až na vlastné údaje DNS, čím sa zabezpečí, že každý krok v procese riešenia je overený. Tento mechanizmus je nevyhnutný na zachovanie integrity celej infraštruktúry DNS, pretože zabraňuje útočníkom vložiť podvodné údaje DNS v ktoromkoľvek bode reťazca. Pre vlastníkov domén je správna konfigurácia záznamov o podpise delegácie rozhodujúcim krokom pri zavádzaní DNSSEC a ochrane ich domén pred útokmi na základe DNS.

Výhody a obmedzenia DNSSEC

Hlavnou hodnotou DNSSEC je obrana proti útokom na otrávenie vyrovnávacej pamäte DNS a podvrhnutiu DNS. Vďaka kryptografickému preukazovaniu pravosti odpovedí zabraňuje útočníkom v tichom presmerovaní používateľov na podvodné stránky alebo v zachytávaní e-mailov prostredníctvom falošných záznamov MX. Zraniteľnosť Kaminsky z roku 2008 ukázala, aké ničivé môžu byť takéto útoky; DNSSEC ich zásadne znefunkčňuje proti podpísaným zónam.

Okrem základnej ochrany umožňuje DNSSEC aj pokročilé bezpečnostné aplikácie. DANE (DNS-Based Authentication of Named Entities) umožňuje vlastníkom domén zverejňovať informácie o certifikátoch TLS priamo v systéme DNS pomocou záznamov TLSA. Týmto spôsobom je možné overovať certifikáty pre servery SMTP alebo webové služby bez toho, aby bolo potrebné spoliehať sa výlučne na tradičné certifikačné autority. Takéto aplikácie vyžadujú overené údaje DNS – presne to, čo poskytuje DNSSEC.

Rovnako dôležité je pochopiť aj obmedzenia:

  • Žiadne utajenie: DNSSEC overuje, ale nešifruje. Dotazy DNS a odpovede na dotazy DNS zostávajú viditeľné pre pozorovateľov. Šifrovanie vyžaduje DNS cez TLS alebo DNS cez HTTPS.
  • Žiadna ochrana proti DDoS: DNSSEC nedokáže zastaviť volumetrické útoky na infraštruktúru DNS. V skutočnosti môžu väčšie podpísané odpovede potenciálne zhoršiť zosilnenie útokov.
  • Žiadna ochrana pred legitímne vyzerajúcimi hrozbami: DNSSEC nedokáže zabrániť preklepom ani tomu, aby používatelia dôverovali zavádzajúcim doménovým menám, ktoré sú legitímne zaregistrované a riadne podpísané.

Výkonnostné aspekty zahŕňajú výrazne väčšie odpovede DNS – podpisypridávajú približne 500 bajtov na sadu RRSet. To niekedy spúšťa spätný chod TCP (zvyšuje latenciu) a zvyšuje spotrebu šírky pásma. Otvorené resolvery s DNSSEC môžu v porovnaní s obyčajným DNS zosilniť útoky na odraz 50-násobne alebo viacnásobne.

Napriek týmto kompromisom bezpečnostné organizácie vrátane ICANN a NIST odporúčajú DNSSEC pre domény s vysokou hodnotou. Režijné náklady sú reálne, ale v prípade verejne prístupných služieb, kde by falšovanie DNS mohlo umožniť závažné útoky, ochrana ospravedlňuje zložitosť.

Riziká, výzvy a prečo je prijatie stále nerovnomerné

DNSSEC prináša prevádzkové riziká, ktoré vysvetľujú veľkú časť váhania s prijatím. Nesprávna konfigurácia – neplatné podpisy, nezhody DS/DNSKEY alebo neplatné reťazce podpisov – spôsobujú zlyhania validácie. Približne 30 % používateľov, ktorí sú za validujúcimi resolvermi, nesprávne nakonfigurovaná zóna jednoducho prestane fungovať. Nedochádza k postupnej degradácii; dotazy vracajú SERVFAIL.

Zavádzanie DNSSEC spomaľuje niekoľko prekážok:

  • Koordinácia viacerých strán: Podpisovanie si vyžaduje zosúladenie medzi vlastníkmi domén, registrátormi a poskytovateľmi hostingu DNS. Záznamy DS musia prechádzať systémami registrátorov, aby sa dostali do nadradenej zóny.
  • Medzery v odbornosti: Mnohým organizáciám chýbajú skúsenosti s DNSSEC. Obavy z výpadkov spôsobených nesprávnou konfiguráciou im bránia začať.
  • Staršia infraštruktúra: Niektoré podnikové prostredia obsahujú resolvery alebo zariadenia, ktoré plne nepodporujú overovanie DNSSEC, čo spôsobuje problémy s kompatibilitou.

Štatistiky prijatia ukazujú nerovnomerný pokrok. Koreňová zóna DNS je podpísaná od roku 2010 a viac ako 1400 TLD teraz podporuje DNSSEC. Prijatie druhej úrovne sa však výrazne líši. V zóne .nl je podpísaných viac ako 95 %, k čomu prispievajú stimuly registra a povinné politiky. Naproti tomu v zóne .com je to približne 1,5 % – miliónydomén zostávajú nepodpísané.

Čo sa týka resolverov, merania APNIC naznačujú, že približne 30 % DNS resolverov vykonáva overovanie DNSSEC na celom svete, pričom v roku 2018 to bolo približne 10 %. Pokrok pokračuje, ale väčšina koncových používateľov stále dostáva nevalidované odpovede DNS.

DNSSEC predstavuje aj iné bezpečnostné aspekty ako len zlyhanie validácie. Veľké podpísané odpovede robia autoritatívne servery atraktívnymi pre útoky na zosilnenie DNS. Prevádzkovatelia musia zaviesť obmedzenie rýchlosti odpovedí a dodržiavať osvedčené postupy konfigurácie resolverov, aby sa nestali nevedomou infraštruktúrou pre útoky.

Významné organizácie pokračujú v presadzovaní širšieho prijatia. ICANN vydáva príručky na nasadenie a národné agentúry pre kybernetickú bezpečnosť čoraz častejšie odporúčajú DNSSEC pre vládne domény a domény kritickej infraštruktúry. Prognózy naznačujú, že prijatie druhej úrovne by mohlo do roku 2030 dosiahnuť 50 %, keďže automatizácia prostredníctvom CDS/CDNSKEY znižuje prevádzkové trenie.

Operácie v reálnom svete: Podpisový ceremoniál koreňovej zóny DNS a kotvy dôvery

Koreňová zóna DNS má v architektúre DNSSEC jedinečné postavenie. Keďže koreňová zóna nemá žiadnu nadradenú zónu, ktorá by poskytovala záznam DS, musí byť koreňová zóna dôveryhodná mimo pásma ako konečná kotva dôveryhodnosti. Na správnom nastavení tejto funkcie nesmierne záleží – každýreťazec dôveryhodnosti DNSSEC má svoj pôvod práve tu.

ICANN organizuje štyri až šesťkrát ročne slávnostné podpisové ceremoniály v zabezpečených zariadeniach v USA a Európe. Tieto ceremónie zahŕňajú mimoriadne procedurálne kontroly: Hardvérové bezpečnostné moduly (HSM) uchovávajú koreňový súkromný kľúč, ku ktorému sa pristupuje len vtedy, keď viacerí kryptografickí úradníci používajú čipové karty a PIN kódy súčasne. K fyzickým bezpečnostným opatreniam patria tašky zabezpečené proti neoprávnenej manipulácii, monitorované trezory a kompletná videodokumentácia.

Prvé podpísanie koreňovej zóny v júli 2010 znamenalo prechod DNSSEC od teórie k praktickému globálnemu nasadeniu. Prechod na KSK v roku 2018 – nahradenie pôvodného KSK z roku 2010 systémom KSK-2016 – otestoval schopnosť systému aktualizovať základnú kotvu dôvery. Napriek rozsiahlemu osloveniu sa približne 0,2 % riešiteľov stretlo s problémami spôsobenými zastaraným softvérom alebo konfiguráciou. Budúce prevrátenie je plánované na polovicu roka 2020.

Rekurzívne resolvery získavajú koreňovú dôveryhodnú kotvu prostredníctvom softvérových distribúcií alebo automatických aktualizačných protokolov, ktoré spravuje IANA. Moderný softvér resolvera zvyčajne obsahuje aktuálne kotvy a mechanizmy na získavanie aktualizácií, čím sa zabezpečí, že reťazec dôveryhodnosti zostane pri zmene kľúčov neporušený.

Tieto obrady sa môžu zdať zložité, ale poskytujú oprávnenú istotu. Integrita koreňovej zóny je základom DNSSEC na celom svete a zdokumentovaný, kontrolovateľný proces buduje dôveru, že táto kritická infraštruktúra funguje s náležitou prísnosťou.

Nasadenie DNSSEC na vašich doménach

Ste pripravení povoliť DNSSEC pre svoje domény? Tento proces zahŕňa niekoľko fáz, od overovania až po priebežnú údržbu.

Predpoklady na potvrdenie:

  • Vaša doména najvyššej úrovne podporuje DNSSEC (pozrite si zdroje ICANN o zavádzaní)
  • Váš registrátor prijíma predloženia záznamov DS
  • Váš poskytovateľ hostingu DNS podporuje podpisovanie zón a správu DNSKEY

Mnohí spravovaní poskytovatelia služieb DNS, ako napríklad Cloudflare a AWS Route 53, sa o podpisovanie starajú automaticky. V prípade samostatne spravovaných zón budete potrebovať podpisovacie nástroje kompatibilné so softvérom autoritatívneho servera.

Typické kroky nasadenia:

  1. Generovanie párov ZSK a KSK (alebo povolenie podpisovania spravovaného poskytovateľom)
  2. Podpisovanie zóny DNS a lokálne overovanie podpisov DNSSEC
  3. Publikovanie záznamov DNSKEY (a voliteľne CDS/CDNSKEY pre automatizovanú správu DS)
  4. Odoslanie záznamov DS prostredníctvom rozhrania vášho registrátora
  5. Nechajte čas na šírenie a potom overte celý reťazec

Rovnako dôležitá je aj validácia. Ak vaša organizácia prevádzkuje rekurzívne resolvery, povoľte validáciu DNSSEC (napr. dnssec-validation yes v BIND). Testujte proti známym doménam: správne podpísané stránky by mali vrátiť príznak AD (Authenticated Data), zatiaľ čo dnssec-failed.org by mal priniesť SERVFAIL.

Najlepšie prevádzkové postupy:

  • Monitorovanie vypršania platnosti podpisu: RRSIG zvyčajne trvá 30 dní. Automatizujte rezignáciu v dostatočnom predstihu pred vypršaním platnosti.
  • Otestujte prevrátenie kľúčov: Precvičte postup prevrátenia v skúšobnom prostredí pred produkciou.
  • Implementácia upozornení: Nakonfigurujte monitorovanie zlyhaní validácie DNSSEC na vašich resolveroch.
  • Dokumentujte postupy: Prehľadné knihy postupov zabraňujú panike počas incidentov alebo plánovaných previerok.

Presné rozhrania sa líšia v závislosti od registrátora a poskytovateľa, preto sa zamerajte skôr na pochopenie základných úloh než na zapamätanie si konkrétnych kliknutí na tlačidlo. Cieľom je nasadiť DNSSEC bez výpadkov– vďaka dôkladnejpríprave a testovaniu je to možné.

Najlepšie postupy pre DNSSEC

Úspešné nasadenie DNSSEC si vyžaduje viac než len povolenie podpisov – vyžaduje si neustálu pozornosť venovanú detailom a dodržiavanie osvedčených postupov v odvetví. Majitelia domén by mali uprednostniť pravidelnú rotáciu kľúčov, aby sa minimalizovalo riziko ich zneužitia, a zabezpečiť bezpečné uloženie všetkých súkromných kľúčov, ideálne pomocou hardvérových bezpečnostných modulov alebo iných chránených prostredí.

Neustále monitorovanie validácie DNSSEC je nevyhnutné; to zahŕňa sledovanie dátumov vypršania platnosti podpisu a okamžité odstúpenie záznamov pred uplynutím ich platnosti. Je tiež dôležité overiť, či všetky komponenty vašej infraštruktúry DNS – autoritatívne servery, rekurzívne resolvery a rozhrania registrátorov – plne podporujú implementáciu a validáciu DNSSEC.

Ďalším dôležitým krokom je testovanie. Vlastníci domén by mali pravidelne kontrolovať, či sú ich údaje DNS správne podpísané a overené, a to pomocou nástrojov a testovacích domén na simuláciu úspešných aj neúspešných scenárov overovania. Dodržiavaním týchto osvedčených postupov môžu vlastníci domén udržiavať odolnú infraštruktúru DNS, chrániť svojich používateľov pred útokmi na DNS a zabezpečiť trvalú integritu a dôveryhodnosť svojho systému názvov domén.

Záver a ďalšie kroky

Systém DNSSEC transformuje systém doménových mien z architektúry, v ktorej sa dôveruje všetkému, na architektúru s kryptografickým overovaním prostredníctvom digitálnych podpisov a hierarchickým reťazcom dôveryhodnosti, čím sa odstraňujú zraniteľnosti, ktoré existujú od návrhu systému DNS v 80. rokoch minulého storočia. Ochranné mechanizmy – podpisy RRSIG, prepojenia DNSKEY/DS a overené odmietnutie prostredníctvom NSEC/NSEC3 – zabraňujú útokom na otrávenie vyrovnávacej pamäte DNS a podvrhnutiu DNS, ktoré by inak mohli používateľov v tichosti presmerovať. V prípade existujúcich záznamov DNS obsahujúcich podvodné údaje DNS overujúce resolvery jednoducho úplne odmietnu zmanipulované údaje DNS.

Napriek prevádzkovej zložitosti DNSSEC od podpísania koreňového kódu v roku 2010 výrazne dozrel. Široká podpora TLD, zlepšujúca sa automatizácia prostredníctvom CDS/CDNSKEY a rastúca miera validácie resolverov naznačujú dynamiku. Hlavné bezpečnostné organizácie ho podporujú pre domény, kde by falšovanie mohlo spôsobiť vážne škody.

Pre osoby zodpovedné za infraštruktúru DNS sú praktické ďalšie kroky nasledovné:

  • Inventarizácia aktuálne podpísaných domén a zón
  • Plánujte postupné zavádzanie DNSSEC počnúc kritickými verejnými službami
  • Povolenie overovania DNSSEC na interných resolveroch, ak je to možné
  • Zavedenie postupov monitorovania a reakcie na incidenty v prípade zlyhania DNSSEC

Medzi ďalšie vzdelávacie zdroje patria základné RFC DNSSEC (4033, 4034, 4035), sprievodcovia nasadením od ICANN a regionálnych sieťových informačných centier a testovacie nástroje, ako napríklad DNSSEC Analyzer od spoločnosti Verisign. Cesta od pochopenia k činom je jasnejšia ako kedykoľvek predtým – a prínosy v oblasti bezpečnosti ospravedlňujú investície.