Běžíme v testovacím provozu, prosíme o shovívavost a zpětnou vazbu.
Co je DNSSEC a jak funguje

Co je DNSSEC a jak funguje

· 7 min čtení · Tomas Hojgr · DNS pro e-mail

Co je DNSSEC

DNSSEC (Domain Name System Security Extensions) je sada rozšíření protokolu DNS, která přidává kryptografické ověření DNS odpovědí. Definuje ji trojice RFC: RFC 4033, RFC 4034 a RFC 4035.

Běžný DNS funguje na důvěře — resolver přijme odpověď od autoritativního serveru bez jakéhokoli ověření. Útočník, který se dokáže vložit mezi resolver a autoritativní server, může odpověď podvrhnout. DNSSEC tento problém řeší: každá DNS odpověď nese kryptografický podpis, který resolver ověří ještě před tím, než data předá aplikaci.

Proč samotný DNS nestačí

DNS vznikl v 80. letech jako jednoduchý systém pro překlad doménových jmen na IP adresy. Protokol nepočítal s ověřováním odpovědí — resolver nemá jak poznat, zda odpověď přišla od legitimního serveru nebo od útočníka.

Nejznámější zranitelností je DNS cache poisoning (otrava cache). Útočník pošle resolveru podvrženou odpověď dřív, než dorazí odpověď legitimní. Resolver si podvrženou odpověď uloží do cache a všichni jeho uživatelé pak dostávají falešná data — po dobu platnosti TTL záznamu.

V roce 2008 bezpečnostní výzkumník Dan Kaminsky demonstroval, že DNS cache poisoning je výrazně snazší, než se předpokládalo. Tato událost výrazně urychlila nasazování DNSSEC.

Jak DNSSEC funguje

DNSSEC přidává do DNS čtyři nové typy záznamů, které dohromady tvoří řetěz důvěry (chain of trust) od kořenové zóny až po konkrétní doménu.

Klíčové záznamy

Typ záznamu Účel
DNSKEY Veřejný klíč zóny — používá se k ověření podpisů
RRSIG Podpis konkrétní sady DNS záznamů (Resource Record Signature)
DS Otisk klíče podřízené zóny — propojuje nadřazenou a podřízenou zónu (Delegation Signer)
NSEC / NSEC3 Autentizované popření existence — prokazuje, že dotazovaný záznam neexistuje

Řetěz důvěry

DNSSEC funguje hierarchicky, stejně jako DNS samotné:

  1. Kořenová zóna (root) má veřejný klíč, který zná každý validující resolver. Tento klíč je kotva důvěry (trust anchor).
  2. Kořenová zóna podepíše DS záznam pro TLD (např. .cz).
  3. TLD .cz má vlastní DNSKEY a podepíše DS záznam pro vaši doménu (firma.cz).
  4. Vaše doména firma.cz má vlastní DNSKEY a podepisuje všechny své DNS záznamy (A, MX, TXT, ...) pomocí RRSIG.

Resolver ověří celý řetěz od kořene: pokud každý podpis odpovídá klíči nadřazené zóny, odpověď je důvěryhodná. Pokud kdekoli v řetězu podpis nesedí, resolver odpověď odmítne.

Příklad ověření

Když resolver hledá MX záznam pro firma.cz:

  1. Dotáže se kořenového serveru na .cz — dostane DS záznam pro .cz podepsaný kořenovým klíčem.
  2. Dotáže se serveru .cz na firma.cz — dostane DS záznam pro firma.cz podepsaný klíčem .cz.
  3. Dotáže se autoritativního serveru firma.cz na MX — dostane MX záznam i jeho RRSIG.
  4. Ověří RRSIG pomocí DNSKEY domény firma.cz, ověří vazbu DNSKEY na DS v nadřazené zóně a tak dále až ke kořeni.

Celý proces probíhá automaticky na úrovni resolveru — uživatel ani aplikace o něm neví.

Proč je DNSSEC důležitý pro e-mailovou autentizaci

SPF, DKIM a DMARC záznamy jsou publikovány v DNS jako TXT záznamy. MX záznamy určují, kam se e-maily doručují. Bez DNSSEC může útočník tyto záznamy podvrhnout a obejít tak celou e-mailovou autentizaci:

  • Podvržení MX záznamu: útočník přesměruje e-maily na svůj server a čte cizí poštu.
  • Podvržení SPF záznamu: útočník změní povolené odesílající servery — legitimní e-maily selžou, podvržené projdou.
  • Podvržení DKIM záznamu: útočník nahradí veřejný klíč vlastním — může podepisovat e-maily za cizí doménu.
  • Podvržení DMARC záznamu: útočník změní politiku z reject na none — podvržené e-maily projdou bez povšimnutí.

DNSSEC zajistí, že resolver dostane pravé DNS záznamy. SPF, DKIM a DMARC pak fungují nad ověřenými daty.

Jak zjistit, zda vaše doména má DNSSEC

Online nástroj

Nejrychlejší způsob je zkontrolovat doménu naším analyzérem — výsledek zahrnuje i stav DNSSEC.

Příkaz dig

Alternativně můžete záznamy zkontrolovat přes DNS lookup nebo v terminálu. Dotaz na DNSKEY záznam domény:

dig firma.cz DNSKEY +short

Pokud příkaz vrátí jeden nebo více klíčů, doména má DNSSEC aktivní. Prázdná odpověď znamená, že DNSSEC není nasazen.

Ověření DS záznamu v nadřazené zóně:

dig firma.cz DS +short

DS záznam musí existovat u registrátora TLD — bez něj řetěz důvěry nefunguje, i když má doména DNSKEY.

Jak DNSSEC aktivovat

Aktivace DNSSEC vyžaduje spolupráci dvou stran: správce DNS (hosting) a registrátora domény.

1. Podepište zónu

Správce DNS (autoritativní server) musí vygenerovat klíče a podepsat všechny záznamy v zóně. Většina moderních DNS poskytovatelů (Cloudflare, AWS Route 53, CZ.NIC) to dělá automaticky — stačí DNSSEC zapnout v administraci.

2. Předejte DS záznam registrátorovi

Po podepsání zóny získáte DS záznam. Ten musíte zadat u registrátora domény, který ho předá do nadřazené zóny (TLD). U .cz domén tento krok často registrátor provede automaticky při aktivaci DNSSEC.

3. Ověřte funkčnost

Po aktivaci počkejte na propagaci DNS (obvykle do několika hodin) a ověřte, že řetěz důvěry funguje. Zkontrolujte svou doménu naším analyzérem nebo použijte nástroj delv:

delv firma.cz A +rtrace

Omezení DNSSEC

DNSSEC není univerzální řešení a má svá omezení:

  • Nešifruje DNS provoz: DNSSEC ověřuje pravost odpovědí, ale data cestují nešifrovaně. Pro šifrování DNS dotazů slouží DNS over HTTPS (DoH) nebo DNS over TLS (DoT) — doplňují DNSSEC, nenahrazují ho.
  • Zvětšuje DNS odpovědi: podpisy (RRSIG) zvětšují DNS odpovědi, což může způsobit problémy s fragmentací UDP paketů.
  • Vyžaduje správnou správu klíčů: Expirace podpisů nebo chybná rotace klíčů může znepřístupnit celou doménu.
  • Závisí na validujícím resolveru: Pokud resolver uživatele DNSSEC nevaliduje, ochrana nefunguje. Většina velkých veřejných resolverů (Google 8.8.8.8, Cloudflare 1.1.1.1) DNSSEC validuje.

DNSSEC v České republice

Česká TLD .cz patří mezi průkopníky DNSSEC. CZ.NIC (správce domény .cz) spustil DNSSEC pro .cz v roce 2008 a aktivně podporuje jeho nasazení. Díky tomu má Česká republika jeden z nejvyšších podílů DNSSEC-podepsaných domén na světě.

Pokud vaše doména končí na .cz a používáte DNS servery CZ.NIC (FRED), aktivace DNSSEC je většinou záležitost jednoho kliknutí v administraci registrátora.

DNSSEC v kontextu zabezpečení e-mailu

DNSSEC spolupracuje s dalšími protokoly a vytváří vícevrstvou ochranu:

Protokol Co zajišťuje Vztah k DNSSEC
SPF Oprávněnost odesílajícího serveru DNSSEC chrání SPF záznam před podvržením
DKIM Integrita a původ zprávy DNSSEC chrání veřejný klíč v DNS
DMARC Politika a reporting DNSSEC chrání DMARC záznam a politiku
MTA-STS Vynucení TLS při přenosu Doplňková ochrana přenosu — nezávisí na DNSSEC
DANE Ověření TLS certifikátu přes DNS Přímo vyžaduje DNSSEC — bez něj nefunguje

DANE (DNS-Based Authentication of Named Entities) je jediný protokol, který DNSSEC přímo vyžaduje. Umožňuje publikovat otisk TLS certifikátu v DNS záznamu typu TLSA — příjemce pak ověří certifikát mailového serveru přímo přes DNS namísto spoléhání na certifikační autority.

Zkontrolujte zabezpečení vaší domény — analyzér ověří SPF, DKIM, DMARC i DNSSEC najednou.

Související články

DNS záznamy pro e-mail — kompletní průvodce

DNS záznamy pro e-mail — kompletní průvodce

MX, TXT, CNAME, PTR — všechny DNS záznamy potřebné pro fungování a zabezpečení e-mailu na jednom místě. Příklady, pravidla a kontrolní seznam.

· 9 min čtení
Co je SPF záznam a proč ho potřebujete
SPF

Co je SPF záznam a proč ho potřebujete

SPF záznam chrání vaši doménu před zneužitím k rozesílání podvodných e-mailů. Zjistěte, jak funguje, jak ho nastavit a proč je nezbytný pro…

· 6 min čtení
Co je DKIM a jak funguje

Co je DKIM a jak funguje

DKIM ověřuje integritu a původ e-mailů digitálním podpisem. Zjistěte, jak funguje, jak ho nastavit a proč je nezbytný pro DMARC a doručitelnost.

· 8 min čtení