Domain Name System Security Extensions
DNSSEC (zkratka pro Domain Name System Security Extensions) je v informatice sada IETF specifikací, které umožňují zabezpečit informace poskytované DNS systémem v IP sítích (tj. na Internetu). Jedná se o rozšíření, která klientům DNS (resolvery) umožňuje ověření původu dat, jejich integrity. Nezajišťuje však zašifrování (utajení) přenášených dat a nezaručuje jejich dostupnost.
Příklad podvržení DNS
Běžný DNS systém slouží k překladu doménových jmen na IP adresy (a zpět), ale nemá žádnou ochranu proti napadení. Pokud je do webového prohlížeče zadána adresa www.banka.cz, může být přeložena na podvrženou IP adresu, přičemž v adresním řádku prohlížeče bude stále www.banka.cz, takže uživatel nepostřehne, že prohlížeč ve skutečnosti zobrazil podvrženou stránku (viz Phishing). Tomuto útoku se lze bránit tak, že www.banka.cz použije pro komunikaci zabezpečený protokol HTTPS, avšak ne každý uživatel může tento rozdíl postřehnout (navíc i toto se dá obejít, více viz HTTPS).
Jak DNSSEC funguje?
DNSSEC používá asymetrické šifrování (jeden klíč pro zašifrování a druhý klíč na dešifrování). Podobný princip se používá pro šifrování a elektronické podepisování elektronické pošty (OpenPGP, S/MIME). Držitel domény, která používá DNSSEC, vygeneruje privátní a veřejný klíč. Svým privátním klíčem pak elektronicky podepíše technické údaje, které o své doméně do DNS vkládá. Pomocí veřejného klíče, který je uložen u nadřazené autority jeho domény, je pak možné ověřit pravost tohoto podpisu. I na úrovni domény .cz (tzv. národní doména, top-level doména, TLD) jsou technická data v DNS elektronicky podepsána a veřejný klíč k tomuto podpisu je opět správcem registru předán nadřazené autoritě (celosvětové kořenové servery DNS). Vytváří se tak hierarchie, která zajistí důvěryhodnost údajů, pokud není v žádném svém bodě porušena a všechny elektronické podpisy souhlasí.
Jaké prvky DNSSEC používá?
DNSKEY
Každá doména, pokud používá DNSSEC, má 2 typy podpisových klíčů. Každý klíč má veřejnou a privátní část. Jelikož DNSSEC je založen na asymetrickém šifrování, jsou data zašifrována privátní částí ( není dostupná veřejnosti) a lze je rozšifrovat pouze veřejnou částí klíče.
- Zone Signing Key (ZSK)
Slouží k podpisu vlastních dat (tedy dat této domény, která DNS server poskytuje v odpovědích na dotazy klientů), čímž zajistí, že pokud jsou podvržena, jste schopni to zjistit
- Key Signing Key (KSK)
Slouží pro podepsání ZSK, hash veřejné části tohoto klíče je zárověň uložen u rodičovské domény. Také se označuje jako DNSKEY-SEP (Secure Entry Point)
Resource Record Signature(RRSIG)
Pokud sloučíme všechny záznamy daného typu a následně z nich vytvoříme otisk a tento otisk pak zašifrujeme pomocí privátní části ZSK (nebo KSK), dostaneme RRSIG záznam pro daný typ (např. RRSIG over AAAA). Chceme-li tedy ověřit, že daný záznam je autentický (nebyl změněn třetí stranou), pak použijeme právě RRSIG pro porovnání otisků.
Delegation Signer (DS)
Údaj u rodičovské domény obsahující hash veřejné části KSK (viz. dále) potomka, který je rodičem podepsán. Díky tomuto údaji jsme schopni ověřit autenticitu potomka. Podrobné informace o tomto údaji lze nalézt v RFC 3658(viz. [w4])
Řetězec důvěry
Jedná se v podstatě o seznam záznamů, které byly použity pro validaci DNSSEC domény. Kořenová doména má veřejnou část svého KSK záznamuu na oficiálních stránkách, tento klíč pak validuje přes RRSIG její ZSK, který validuje DS záznam o potomku, který validuje KSK potomka a takto tento řetězec pokračuje, až se dostaneme na konec (za předpokladu, že je testovaná doména validní).
Historie DNS(SEC)
- 1973 až 1983 – Centralizovaný systém.
- 1983 – John Postel a Paul Mockapetris sepisují základy DNS (RFC881,882,883), první DNS server – Jeeves
- 1986 – DNS jako IETF standard: RFC1034 a RFC1035
- 1988 – DNS se začíná prosazovat, první verze BINDu
- 1990 – Steven Bellovin objevuje vážnou chybu v DNS, publikování této chyby odloženo na 1995, Autentizace přístupů pomocí jména počítačů (rsh, rlogin)
- 1995 – Steven Bellovin publikuje svojí zprávu z roku 1990, IETF začíná diskutovat o zabezpečení DNS
- 1997 – publikováno RFC2065 – předchůdce RFC2535
- 1999 – publikováno RFC2535 – první verze DNSSEC, BIND 9 implementuje DNSSEC
- 1999 až 2001 – nasazení DNSSECu stagnuje
- 2001 – ukazuje se, že DNSSEC je nevhodný k nasazení: podepsání záznamů vyžadovalo komplexní komunikaci s nadřazeným serverem, změna klíče u nadřazeného serveru vyžadovala změnu ve všech podřízených zónách, pro vyřešení problémů byla navržena nová verze (draft), která definovala DS záznam a zjednodušila tak komunikaci
- 2002 až 2003 – implementace v BIND 9, první testu ukazují, že 2535bis je použitelné pro nasazení
- 2004 – podpora 2535bis v BIND 9.3 a NSD2, čeká se na standardizaci
- 2005 – publikováno jako RFC4033, RFC4034 a RFC4035, Švédsko jako první podepisuje svoji zónu (doména .se)
- 2007 – na konferenci v Tallinnu se RIPE domlouvá na otevřeném dopise pro ICANN s výzvou k podpisu kořenové zóny
- 2008 – ICANN zveřejňuje svůj záměr podepsat kořenovou zónu v dokumentu DNSSEC @ ICANN[1]
- 2009 – ICANN a Verisign vydávají dokument o postupu podpisu kořenové zóny a požadavky na audit celého procesu[2] a 1. prosince začíná proces podepisování, průběžně se sleduje možný výskyt problémů
- 2010 – dokončen proces podepisování kořenové zóny[3]
Použití
Mezi inovátory patří Brazílie (.br), Bulharsko (.bg), Česká republika (.cz), Portoriko (.pr) a Švédsko (.se), kteří používají DNSSEC pro své top-level domény. RIPE NCC podepsalo všechny reverzní (tzv. in-addr.arpa záznamy), které byly ověřeny IANA.[4] ARIN také podepisoval reverzní zóny.[5] Prvním ISP byl ve Švédsku TDC. V ČR byl prvním registrátorem, který DNSSEC začal nabízet, Web4U a v současné době je zároveň největším registrátorem DNSSEC domén v celosvětovém měřítku.[6]
Všechny projekty s DNSSEC jsou uvedeny na adrese http://www.dnssec.net/projects. Jsou také znázorněny na mapě v Google Maps.[7]
Nástroje
DNSSEC potřebuje software na straně serveru a také na straně klienta. Zde jsou příklady nástrojů který DNSSEC podporují:
- BIND hodně populární nástroj DNS server. Verze 9.3 implementuje nově DNSSEC-bis (DS záznamy) i když nepodporuje NSEC3 záznamy. BIND 9.6 byl představen v prosinci 2008 a má plnou podporu pro NSEC3 záznamy.
- Drill zvládá také DNSSEC Domain Information Groper -jako nástroj v balíku s ldns.
- Drill extension for Firefox přidává do Mozilla Firefox schopnost zjistit, zda je doména může být ověřen pomocí DNSSEC.
- DNSSEC-Tools je SourceForge jejímž cílem je poskytnout snadno použitelné nástroje pro podporu všech typů správců a uživatelů využívající DNSSEC. Nabízí nástroje pro správce autoritativní zóny, autoritativního serveru a Rekurzivního serveru, stejně jako knihovny a nástroje pro vývojáře aplikací patchů pro rozšíření stávající běžné aplikace.
- Zone Key Tool je software určený pro snadnou údržbu zón DNSSEC. Je primárně určen pro prostředí s malým a středním počtu zón a poskytuje plně automatický podpis klíče rolovací zóny stejně jako automatické odstupující zóny.
- Unbound je DNS server, který byl napsán od základu na DNSSEC.
- DNSSEC podpora se zavádí v Windows 7 a Windows Server 2008 R2.[8]
- mysqlBind GPL OSS na DNS ASP nyní také podporuje DNSSEC.
- OpenDNSSEC je určen DNSSEC signatářem nástroj pomocí PKCS#11 pro rozhraní s Hardwarovými ochrannými moduly.
Reference
- ↑ http://www.icann.org/en/announcements/dnssec-paper-15jul08-en.pdf – DNSSEC @ ICANN
- ↑ http://www.ntia.doc.gov/DNS/DNSSEC_Requirements_102909.pdf – Testing and Implementation Requirements for the Initial Deployment of DNSSEC in the Authoritative Root Zone
- ↑ http://www.root.cz/clanky/hotovo-dns-je-podepsano/ – Hotovo: DNS je podepsáno
- ↑ RIPE NCC DNSSEC Policy
- ↑ https://www.arin.net American registry for internet numbers
- ↑ http://blog.nic.cz/2010/03/02/dnssec-chrani-vice-nez-90-000-domen-cz/
- ↑ http://www.xelerance.com/dnssec/ – World Wide DNSSEC Deployment
- ↑ https://www.dns-oarc.net/files/workshop-2006/Microsoft-DNSSEC.pdf
Externí odkazy
Odborné články
- www.lupa.cz-zde probírají v seriále DNSSEC z obou úhlů pohledu.
- www.root.cz- zde to probírají více do detailů, ve více článcích.
Organizace
- DNSSEC.CZ - informační stránky k DNSSEC od CZ.NIC
- DNSSEC - DNSSEC informacní stránka o DNSSEC
- DNSSEC-Tools Project
- DNSSEC Deployment Coordination Initiative
- DNSSEC Deployment Team
Standardy DNSSEC
- RFC 2535 Domain Name System Security Extensions
- RFC 3833 A Threat Analysis of the Domain Name System
- RFC 4033 DNS Security Introduction and Requirements (DNSSEC-bis)
- RFC 4034 Resource Records for the DNS Security Extensions (DNSSEC-bis)
- RFC 4035 Protocol Modifications for the DNS Security Extensions (DNSSEC-bis)
- RFC 4398 Storing Certificates in the Domain Name System (DNS)
- RFC 4509 Use of SHA-256 in DNSSEC Delegation Signer (DS) Resource Records (RRs)
- RFC 4641 DNSSEC Operational Practices
- RFC 5155 DNSSEC Hashed Authenticated Denial of Existence
V tomto článku byl použit překlad textu z článku Domain_Name_System_Security_Extensions na anglické Wikipedii.