Přehled DNSSEC (Preview)
Tento článek obsahuje přehled rozšíření DNSSEC (Domain Name System Security Extensions) a obsahuje úvod do terminologie DNSSEC. Výhody podepisování zón DNSSEC jsou popsané a příklady jsou k dispozici pro zobrazení záznamů prostředků souvisejících se službou DNSSEC. Až budete připraveni podepsat veřejnou zónu DNS Azure, projděte si následující příručky s postupy:
- Jak podepsat zónu Azure Public DNS pomocí DNSSEC (Preview)
- Zrušení znaménka zóny Azure Public DNS (Preview)
Poznámka:
Podepisování zón DNSSEC je aktuálně ve verzi PREVIEW.
Právní podmínky, které platí pro funkce Azure, které jsou ve verzi beta, verzi Preview nebo které zatím nejsou veřejně dostupné, najdete v Dodatečných podmínkách použití pro Microsoft Azure verze Preview.
Co je DNSSEC?
DNSSEC je sada rozšíření, která přidávají zabezpečení do protokolu DNS (Domain Name System) tím, že umožňují ověření odpovědí DNS jako originální. DNSSEC poskytuje autoritu původu, integritu dat a ověřené odepření existence. U DNSSEC je protokol DNS mnohem méně náchylný k určitým typům útoků, zejména útokům na falšování identity DNS.
Základní rozšíření DNSSEC jsou uvedena v následujícím požadavku na komentáře (RFC):
- RFC 4033: "Úvod a požadavky na zabezpečení DNS"
- RFC 4034: "Záznamy prostředků pro rozšíření zabezpečení DNS"
- RFC 4035: "Úpravy protokolu pro rozšíření zabezpečení DNS"
Souhrn rfc DNSSEC najdete v tématu RFC9364: Rozšíření zabezpečení DNS (DNSSEC).
Jak FUNGUJE DNSSEC
Zóny DNS jsou zabezpečené pomocí DNSSEC pomocí procesu označovaného jako podepisování zón. Podepisování zóny pomocí DNSSEC přidává podporu ověřování beze změny základního mechanismu dotazu a odpovědi DNS. Pokud chcete podepsat zónu pomocí DNSSEC, musí primární autoritativní server DNS zóny podporovat SLUŽBU DNSSEC.
Podpisy záznamů prostředků (RRSIG) a další kryptografické záznamy se při podpisu přidají do zóny. Následující obrázek ukazuje záznamy prostředků DNS v zóně contoso.com před a po podepsání zóny.
Ověřování DNSSEC odpovědí DNS probíhá pomocí těchto digitálních podpisů s nepřerušeným řetězem důvěryhodnosti.
Poznámka:
Záznamy prostředků související s DNSSEC se na webu Azure Portal nezobrazují. Další informace najdete v tématu Zobrazení záznamů prostředků souvisejících se službou DNSSEC.
Proč podepsat zónu pomocí DNSSEC?
Podepisování zóny pomocí DNSSEC se vyžaduje pro dodržování některých pokynů zabezpečení, jako je SC-20: Secure Name/Address Resolution Service.
Ověřování DNSSEC odpovědí DNS může zabránit běžným typům útoků na napadení DNS, označovaných také jako přesměrování DNS. K napadení DNS dochází, když je klientské zařízení přesměrováno na škodlivý server pomocí nesprávných (falšovaných) odpovědí DNS. Otrava mezipamětí DNS je běžná metoda používaná k falšování odpovědí DNS.
Příklad fungování napadení DNS je znázorněn na následujícím obrázku.
Normální překlad DNS:
- Klientské zařízení odešle dotaz DNS na contoso.com na server DNS.
- Server DNS odpoví záznamem prostředku DNS pro contoso.com.
- Klientské zařízení požaduje odpověď z contoso.com.
- Aplikace contoso.com nebo webový server vrátí klientovi odpověď.
Napadení DNS
- Klientské zařízení odešle dotaz DNS na contoso.com na napadený server DNS.
- Server DNS odpoví neplatným (falšovaným) záznamem prostředku DNS pro contoso.com.
- Klientské zařízení požaduje odpověď na contoso.com ze škodlivého serveru.
- Škodlivý server vrátí falšovanou odpověď na klienta.
Typ záznamu prostředku DNS, který je falšovaný, závisí na typu útoku na napadení DNS. Záznam MX může být zpoofovaný kvůli přesměrování e-mailů klientů nebo falšování identity záznamu A může odesílat klienty na škodlivý webový server.
DNSSEC funguje tak, aby se zabránilo napadení DNS provedením ověřování odpovědí DNS. V tomto scénáři napadení DNS může klientské zařízení odmítnout neověřené odpovědi DNS, pokud je doména contoso.com podepsaná pomocí DNSSEC. Pokud chcete odmítnout neověřené odpovědi DNS, musí klientské zařízení vynutit ověření DNSSEC pro contoso.com.
DNSSEC také obsahuje další zabezpečení 3 (NSEC3), aby se zabránilo výčtu zóny. Výčet zón, označovaný také jako procházka zón, je útok, kdy útočník vytvoří seznam všech jmen v zóně, včetně podřízených zón.
Než podepíšete zónu pomocí DNSSEC, nezapomeňte pochopit , jak DNSSEC funguje. Až budete připraveni podepsat zónu, přečtěte si téma Postup podepsání veřejné zóny DNS Azure pomocí DNSSEC.
Ověřování DNSSEC
Pokud je server DNS s podporou DNSSEC, může nastavit příznak DNSSEC OK (DO) v dotazu DNS na hodnotu 1
. Tato hodnota říká serveru DNS, aby do odpovědi zahrnul záznamy prostředků související se službou DNSSEC. Tyto záznamy DNSSEC jsou záznamy protokolu RRSIG (Resource Record Signature), které slouží k ověření pravosti odpovědi DNS.
Rekurzivní (neautoritativní) server DNS provádí ověřování DNSSEC u záznamů RRSIG pomocí kotvy důvěryhodnosti (DNSKEY). Server pomocí DNSKEY dešifruje digitální podpisy v záznamech RRSIG (a dalších záznamech souvisejících s DNSSEC) a pak vypočítá a porovná hodnoty hash. Pokud jsou hodnoty hash stejné, poskytne klientovi DNS odpověď s požadovanými daty DNS, jako je záznam adresy hostitele (A). Podívejte se na následující diagram:
Pokud hodnoty hash nejsou stejné, rekurzivní server DNS odpoví zprávou SERVFAIL. Tímto způsobem může dnsSEC přeložit (nebo předávat) servery DNS s platnou kotvou důvěryhodnosti nainstalované chránit před napadením DNS v cestě mezi rekurzivním serverem a autoritativním serverem. Tato ochrana nevyžaduje, aby klientská zařízení DNS byla s podporou DNSSEC nebo aby vynucovala ověřování odpovědí DNS za předpokladu, že místní (poslední segment směrování) je sám o sobě zabezpečený před napadením.
Klientská zařízení s Windows 10 a Windows 11 nejsouvalidující překladače zástupných procedur pracujících se zabezpečením. Tato klientská zařízení neprovádějí ověření, ale můžou vynutit ověření DNSSEC pomocí zásad skupiny. NrPT lze použít k vytvoření a vynucování zásad ověřování DNSSEC založených na oboru názvů.
Důvěryhodnost ukotvení a ověřování DNSSEC
Poznámka:
Ověření odpovědi DNSSEC se neprovádí ve výchozím překladači poskytnutém v Azure. Informace v této části jsou užitečné, pokud nastavujete vlastní rekurzivní servery DNS pro ověřování DNSSEC nebo řešení potíží s ověřením.
Kotvy důvěryhodnosti fungují na základě hierarchie oboru názvů DNS. Rekurzivní server DNS může mít libovolný počet ukotvení důvěryhodnosti nebo žádné kotvy důvěryhodnosti. Kotvy důvěryhodnosti je možné přidat pro jednu podřízenou zónu DNS nebo jakoukoli nadřazenou zónu. Pokud má rekurzivní server DNS ukotvený kořenový (.) vztah důvěryhodnosti, může provést ověření DNSSEC v libovolné zóně DNS. Další informace naleznete v tématu Informace o operátoru kořenové zóny.
Proces ověřování DNSSEC funguje s kotvami důvěryhodnosti následujícím způsobem:
- Pokud rekurzivní server DNS nemá kotvu důvěryhodnosti DNSSEC pro zónu nebo nadřazený hierarchický obor názvů zóny, neprovádí ověřování DNSSEC v této zóně.
- Pokud má rekurzivní server DNS kotvu důvěryhodnosti DNSSEC pro nadřazený obor názvů zóny a obdrží dotaz pro podřízenou zónu, zkontroluje, jestli je v nadřazené zóně záznam DS pro podřízené zóny.
- Pokud se najde záznam DS, rekurzivní server DNS provede ověření DNSSEC.
- Pokud rekurzivní server DNS zjistí, že nadřazená zóna nemá záznam DS pro podřízenou zónu, předpokládá, že je podřízená zóna nezabezpečená a neprovádí ověřování DNSSEC.
- Pokud se do odpovědi DNS (včetně předávacích serverů) zapojuje více rekurzivních serverů DNS, musí být každý server schopen provést ověření DNSSEC v odpovědi, aby existoval nepřerušený řetězec důvěryhodnosti.
- Rekurzivní servery, které mají zakázané ověřování DNSSEC nebo které nepodporují ověřování DNSSEC, neprovádějí ověření.
Řetěz důvěryhodnosti
K řetězu důvěryhodnosti dochází v případě, že všechny servery DNS zapojené do odesílání odpovědi pro dotaz DNS dokážou ověřit, že během přenosu nebyla odpověď změněna. Aby ověřování DNSSEC fungovalo na konci, musí být řetězec důvěryhodnosti zrušen. Tento řetězec důvěryhodnosti se vztahuje na autoritativní i neautoritativní (rekurzivní) servery.
Autoritativní servery
Autoritativní servery DNS udržují řetěz důvěryhodnosti prostřednictvím záznamů podepisujícího delegování (DS). Záznamy DS slouží k ověření pravosti podřízených zón v hierarchii DNS.
- Aby ověřování DNSSEC proběhlo v podepsané zóně, musí být také podepsána nadřazená část podepsané zóny. Nadřazená zóna musí mít také záznam DS pro podřízenou zónu.
- Během procesu ověřování se na záznam DS dotazuje nadřazená položka zóny. Pokud záznam DS neexistuje nebo data záznamu DS v nadřazeném objektu neodpovídají datům DNSKEY v podřízené zóně, řetězec důvěryhodnosti se přeruší a ověření selže.
Rekurzivní servery
Rekurzivní servery DNS (označované také jako překlad nebo ukládání serverů DNS do mezipaměti) udržují řetěz důvěryhodnosti prostřednictvím ukotvení důvěryhodnosti DNSSEC.
- Kotva důvěryhodnosti je záznam DNSKEY nebo záznam DS obsahující hodnotu hash záznamu DNSKEY. Záznam DNSKEY se vytvoří na autoritativním serveru, když je zóna podepsaná, a pokud je zóna nepodepsaná, odebere se z této zóny.
- Na rekurzivní servery DNS musí být ručně nainstalovány kotvy důvěryhodnosti.
- Pokud existuje kotva důvěryhodnosti nadřazené zóny, rekurzivní server může ověřit všechny podřízené zóny v hierarchickém oboru názvů. To zahrnuje předávané dotazy. Pokud chcete podporovat ověřování DNSSEC u všech zón DNSSEC podepsaných protokolem DNS, můžete nainstalovat kotvu důvěryhodnosti pro kořenovou zónu (.).
Změna klíče
Podpisový klíč zóny (ZSK) v zóně podepsané službou DNSSEC se pravidelně převrácí (nahrazuje) automaticky Azure. Podpisový klíč klíče (KSK) by neměl být potřeba nahradit, ale tato možnost je dostupná kontaktováním podpory Microsoftu. Nahrazení KSK vyžaduje, abyste aktualizovali také záznam DS v nadřazené zóně.
Algoritmus podepisování zón
Zóny jsou podepsané dnsSEC pomocí algoritmu digitálního podpisu se třemi tečkami (ECDSAP256SHA256).
Záznamy prostředků související se službou DNSSEC
Následující tabulka obsahuje stručný popis záznamů souvisejících se službou DNSSEC. Podrobnější informace najdete v dokumentu RFC 4034: Záznamy prostředků pro rozšíření zabezpečení DNS a RFC 7344: Automatizace údržby důvěryhodnosti delegování DNSSEC.
Zaznamenat | Popis |
---|---|
Podpis záznamu prostředku (RRSIG) | Typ záznamu prostředku DNSSEC, který se používá k uložení podpisu, který pokrývá sadu záznamů DNS pro konkrétní název a typ. |
DNSKEY | Typ záznamu prostředku DNSSEC, který se používá k uložení veřejného klíče. |
Podepisující delegování (DS) | Typ záznamu prostředku DNSSEC, který se používá k zabezpečení delegování. |
Další zabezpečení (NSEC) | Typ záznamu prostředku DNSSEC, který slouží k prokázání neexistující hodnoty názvu DNS. |
Další zabezpečení 3 (NSEC3) | Záznam prostředku NSEC3, který poskytuje hodnotu hash, ověřené odepření existence pro sady záznamů prostředků DNS. |
Další parametry zabezpečení 3 (NSEC3PARAM) | Určuje parametry pro záznamy NSEC3. |
Podepisující podepisující podřízené delegování (CDS) | Tento záznam je volitelný. Pokud existuje, může záznam CDS použít podřízená zóna k určení požadovaného obsahu záznamu DS v nadřazené zóně. |
Podřízený KLÍČ DNS (CDNSKEY) | Tento záznam je volitelný. Pokud je záznam CDNSKEY v podřízené zóně, lze ho použít k vygenerování záznamu DS ze záznamu DNSKEY. |
Zobrazení záznamů prostředků souvisejících s DNSSEC
Záznamy související se službou DNSSEC se nezobrazují na webu Azure Portal. Pokud chcete zobrazit záznamy související se službou DNSSEC, použijte nástroje příkazového řádku, jako je Resolve-DnsName nebo dig.exe. Tyto nástroje jsou dostupné pomocí Cloud Shellu nebo místně, pokud jsou na vašem zařízení nainstalované. Pomocí možnosti Resolve-DnsName nebo +dnssec
v dig.exe nezapomeňte ve svém dotazu -dnssecok
nastavit příznak DO.
Důležité
Nepoužívejte nástroj příkazového řádku nslookup.exe k dotazování na záznamy související se službou DNSSEC. Nástroj nslookup.exe používá interního klienta DNS, který není s podporou DNSSEC.
Podívejte se na následující příklady:
PS C:\> resolve-dnsname server1.contoso.com -dnssecok
Name Type TTL Section IPAddress
---- ---- --- ------- ---------
server1.contoso.com A 3600 Answer 203.0.113.1
Name : server1.contoso.com
QueryType : RRSIG
TTL : 3600
Section : Answer
TypeCovered : A
Algorithm : 13
LabelCount : 3
OriginalTtl : 3600
Expiration : 9/20/2024 11:25:54 PM
Signed : 9/18/2024 9:25:54 PM
Signer : contoso.com
Signature : {193, 20, 122, 196…}
C:\>dig server1.contoso.com +dnssec
; <<>> DiG 9.9.2-P1 <<>> server1.contoso.com +dnssec
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 61065
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags: do; udp: 512
;; QUESTION SECTION:
;server1.contoso.com. IN A
;; ANSWER SECTION:
server1.contoso.com. 3600 IN A 203.0.113.1
server1.contoso.com. 3600 IN RRSIG A 13 3 3600 20240920232359 20240918212359 11530 contoso.com. GmxeQhNk1nJZiep7nuCS2qmOQ+Ffs78Z2eoOgIYP3j417yqwS1DasfA5 e1UZ4HuujDk2G6GIbs0ji3RiM9ZpGQ==
;; Query time: 153 msec
;; SERVER: 192.168.1.1#53(192.168.1.1)
;; WHEN: Thu Sep 19 15:23:45 2024
;; MSG SIZE rcvd: 179
PS C:\> resolve-dnsname contoso.com -Type dnskey -dnssecok
Name Type TTL Section Flags Protocol Algorithm Key
---- ---- --- ------- ----- -------- --------- ---
contoso.com DNSKEY 3600 Answer 256 DNSSEC 13 {115, 117, 214,
165…}
contoso.com DNSKEY 3600 Answer 256 DNSSEC 13 {149, 166, 55, 78…}
contoso.com DNSKEY 3600 Answer 257 DNSSEC 13 {45, 176, 217, 2…}
Name : contoso.com
QueryType : RRSIG
TTL : 3600
Section : Answer
TypeCovered : DNSKEY
Algorithm : 13
LabelCount : 2
OriginalTtl : 3600
Expiration : 11/17/2024 9:00:15 PM
Signed : 9/18/2024 9:00:15 PM
Signer : contoso.com
Signature : {241, 147, 134, 121…}
C:\>dig contoso.com dnskey
; <<>> DiG 9.9.2-P1 <<>> contoso.com dnskey
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 46254
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;contoso.com. IN DNSKEY
;; ANSWER SECTION:
contoso.com. 3600 IN DNSKEY 256 3 13 laY3Toc/VTyjupgp/+WgD05N+euB6Qe1iaM/253k7bkaA0Dx+gSDhbH2 5wXTt+uLQgPljL9OusKTneLdhU+1iA==
contoso.com. 3600 IN DNSKEY 257 3 13 LbDZAtjG8E9Ftih+LC8CqQrSZIJFFJMtP6hmN3qBRqLbtAj4JWtr2cVE ufXM5Pd/yW+Ca36augQDucd5n4SgTg==
contoso.com. 3600 IN DNSKEY 256 3 13 c3XWpTqZ0q9IO+YqMEtOBHZSzGGeyFKq0+3xzs6tifvD1rey1Obhrkz4 DJlEIxy2m84VsG1Ij9VYdtGxxeVHIQ==
;; Query time: 182 msec
;; SERVER: 192.168.1.1#53(192.168.1.1)
;; WHEN: Thu Sep 19 16:35:10 2024
;; MSG SIZE rcvd: 284
Terminologie DNSSEC
Tento seznam vám pomůže pochopit některé běžné termíny používané při diskuzi o DNSSEC. Viz také: Záznamy prostředků související se službou DNSSEC
Období | Popis |
---|---|
Bit ověřených dat (AD) | Datový bit, který označuje v odpovědi, že všechna data zahrnutá v oddílech odpovědi a autority odpovědi byla ověřena serverem DNS podle zásad daného serveru. |
Řetěz ověřování | Řetězec podepsaných a ověřených záznamů DNS, které se rozšiřují z předkonfigurovaného ukotvení důvěryhodnosti na určitou podřízenou zónu ve stromu DNS. |
Rozšíření DNS (EDNS0) | Záznam DNS, který přenáší rozšířené informace hlavičky DNS, jako je bit DO a maximální velikost paketu UDP. |
Rozšíření zabezpečení DNS (DNSSEC) | Rozšíření služby DNS, která poskytují mechanismy pro podepisování a bezpečné překlad dat DNS. |
Bit DNSSEC OK (DO) | Bit v části požadavku DNS EDNS0, který signalizuje, že klient je s podporou DNSSEC. |
Ověřování DNSSEC | Ověřování DNSSEC je proces ověření původu a integrity dat DNS pomocí veřejných kryptografických klíčů. |
Ostrov zabezpečení | Podepsaná zóna, která nemá řetěz ověřování ze své delegující nadřazené zóny. |
Podpisový klíč klíče (KSK) | Ověřovací klíč, který odpovídá privátnímu klíči, který slouží k podepsání jednoho nebo více dalších podpisových klíčů pro danou zónu. Privátní klíč, který odpovídá KSK, obvykle podepisuje podpisový klíč zóny (ZSK), který má zase odpovídající privátní klíč, který podepisuje další data zóny. Místní zásady mohou vyžadovat, aby se ZSK často měnil, zatímco KSK může mít delší dobu platnosti, aby bylo možné zajistit stabilnější a bezpečnější vstupní bod do zóny. Návrh ověřovacího klíče jako klíče KSK je čistě provozní problém: Ověřování DNSSEC nerozlišuje mezi sadami KSK a jinými ověřovacími klíči DNSSEC. Jako KSK i ZSK je možné použít jeden klíč. |
Nevalidující překladač zástupných procedur s podporou zabezpečení | Překladač zástupných procedur s podporou zabezpečení, který důvěřuje jednomu nebo několika serverům DNS pracujícím se zabezpečením za účelem ověření DNSSEC. |
klíč se zabezpečeným vstupním bodem (SEP) | Podmnožina veřejných klíčů v sadě DNSKEY RRSet. Klíč SEP se používá buď k vygenerování ds RR, nebo je distribuován do překladačů, které klíč používají jako kotvu důvěryhodnosti. |
Server DNS pracující se zabezpečením | Server DNS, který implementuje rozšíření zabezpečení DNS definované v dokumentech RFC 4033 [5], 4034 [6] a 4035 [7]. Konkrétně je server DNS pracující se zabezpečením entita, která přijímá dotazy DNS, odesílá odpovědi DNS, podporuje rozšíření velikosti zpráv EDNS0 [3] a bit DO a podporuje typy záznamů DNSSEC a bity hlaviček zpráv. |
Podepsaná zóna | Zóna, jejíž záznamy jsou podepsány podle definice RFC 4035 [7] Oddíl 2. Podepsaná zóna může obsahovat záznamy prostředků DNSKEY, NSEC, NSEC3, NSEC3PARAM, RRSIG a DS. Tyto záznamy prostředků umožňují ověření dat DNS překladači. |
Ukotvení důvěryhodnosti | Předkonfigurovaný veřejný klíč přidružený k určité zóně. Ukotvení vztahu důvěryhodnosti umožňuje překladače DNS ověřit podepsané záznamy prostředků DNSSEC pro danou zónu a vytvářet řetězy ověřování do podřízených zón. |
Zóna bez znaménka | Jakákoli zóna DNS, která nebyla podepsána podle definice RFC 4035 [7] Oddíl 2. |
Podepisování zón | Podepisování zón je proces vytváření a přidávání záznamů prostředků souvisejících se službou DNSSEC do zóny, takže je kompatibilní s ověřováním DNSSEC. |
Zrušení znaménka zóny | Zrušení znaménka zóny je proces odebrání záznamů prostředků souvisejících se službou DNSSEC ze zóny a jeho obnovení do stavu bez znaménka. |
Podpisový klíč zóny (ZSK) | Ověřovací klíč, který odpovídá privátnímu klíči, který slouží k podepsání zóny. Podpisový klíč zóny je obvykle součástí stejné sady DNSKEY RRSet jako podpisový klíč klíče, jehož odpovídající privátní klíč podepíše tuto sadu DNSKEY RRSet, ale podpisový klíč zóny se používá pro mírně jiný účel a může se lišit od podpisového klíče jinými způsoby, například v době platnosti. Návrh ověřovacího klíče jako podpisového klíče zóny je čistě provozním problémem; Ověřování DNSSEC nerozlišuje mezi podpisovými klíči zóny a jinými ověřovacími klíči DNSSEC. Jako podpisový klíč klíče i podpisový klíč zóny je možné použít jeden klíč. |
Další kroky
- Zjistěte, jak podepsat zónu DNS pomocí DNSSEC.
- Zjistěte, jak zrušit znaménka zóny DNS.
- Zjistěte, jak hostovat zónu zpětného vyhledávání pro rozsah IP adres přiřazený poskytovatelem internetových služeb v Azure DNS.
- Zjistěte, jak spravovat reverzní záznamy DNS pro služby Azure.