DNSSEC Adam Tkac, Red Hat, Inc. <atkac@redhat.com> 23. dubna 2009
Copyright Љ 2009 Adam Tkс, Red Hat, Inc. Copyright Љ 2009 Tomс Janou ek (beamer template) Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
Obsah 1 кvod DNS Zranitelnost DNS 2 DNSSEC кvod Novщ typy zсznam Jak DNSSEC pracuje 3 Praktickщ nasazenэ, server BIND Podepisovсnэ zѓny Souasn stav Testovсnэ a hledсnэ chyb 4 Zdroje
Section 1 Uvod
кvod DNS Co je to DNS? hierarchickщ pojmenovсnэ poэta a slueb na Internetu distribuovanс databсze sdruuje poэtae do logickch celk, tzv. domщn
кvod DNS Historie distribuce jmen v souboru hosts zсkladnэ kameny DNS v roce 1987 TSIG, autentizace pomocэ sdэlenщho tajemstvэ souasnщ DNSSEC v beznu 2005 dal э vylep enэ (NSEC3) v beznu 2008
кvod DNS Jak DNS pracuje pouэvс bezstavov UDP protokol resolver (= uivatel) se ptс serveru, kter obvykle provozuje jeho internetov provider (ISP) ISP server rekurzivn vye э dotaz a vrсtэ odpovd uivateli
кvod DNS Pэklad
кvod Zranitelnost DNS Zranitelnost zсkladnэ problщm - jak ovit autenticitu a integritu pэchozэch dat pvodnэ nсvrh omezenщ monosti zabezpeenэ (zdrojov port + transaknэ ID) mnoho implementacэ nepouэvс nсhodnщ эsla pi znalosti ID a portu lze podvrhnout odpovd hrubou silou lze nсhodnс эsla prolomit
кvod Zranitelnost DNS Cache poisonning vloenэ podvrench dat do ke e rekurzivnэho serveru
Section 2 DNSSEC
DNSSEC кvod кvod zaji t uje autenticitu a integritu dat definice v RFC 4033 - RFC 4035 vyuэvс asymetrickou kryptografii pracuje na principu etzu dvry zavсdэ novщ typy zсznam odkrvс zсznamy v zѓn
DNSSEC Novщ typy zсznam Novщ typy zсznam DNSKEY veejn k, zсznamy jsou podepisovсny korespondujэcэm privсtnэm k em specifikuje kryptografick algoritmus, kter je pouэvсn RRSIG (Resource Record SIGnature) digitсlnэ podpis, obsahuje pouэvan kryptografick algoritmus, jmщno k e, kterm byl podepsсn a as uvedenэ a expirace podpisu DS (Delegation Signer) vytvсэ etz dvry mezi zѓnou a nadazenou zѓnou obsahuje otisk podpisovщho k e k (KSK) uloen v nadazenщ zѓn NSEC (Next SECure) autentizovanщ popenэ existence obsahuje odkaz na dal э autoritativnэ zсznam v zѓn odkrvс v echny zсznamy v zѓn (zone enumeration, NSEC3)
DNSSEC Jak DNSSEC pracuje AD, CD a DO bity DO bit (DNSSEC OK) nastavuje rekurzivnэ server v dotazu. Znaэ, e autoritativnэ server mс vracet DNSSEC data (DNSKEY, RRSIG...) AD bit (Authentic Data) nastavuje rekurzivnэ server v odpovdi u zсznam, u kterch ovil podpis CD bit (Checking Disabled) nastavuje klient. Rekurzivnэ server potщ neovuje podpis zсznam
DNSSEC Jak DNSSEC pracuje Pэklad bezpenщho DNS
Section 3 Prakticke nasazen, server BIND
Praktickщ nasazenэ, server BIND Podepisovсnэ zѓny K e - KSK a ZSK ZSK (Zone Signing Key) podepsсnэ samotnщ zѓny kryptograficky slab э (3 msэce, RSA/SHA1, 1024 bit) KSK (Key Signing Key) podepisovсnэ ZSK pэslu n DS zсznam uloen v nadazenщ zѓn kryptograficky silnj э (platnost 1 rok, RSA/SHA1, 4096 bit)
Praktickщ nasazenэ, server BIND Podepisovсnэ zѓny Generovсnэ k - dnssec-keygen souсst populсrnэho serveru BIND Generovсnэ ZSK $ dnssec-keygen -a RSASHA1 -b 1024 -n ZONE example.com Kexample.com.+005+23070 vygenerovсny jsou dva soubory - privсtnэ a veejnс сst ZSK Generovсnэ KSK $ dnssec-keygen -a RSASHA1 -b 4096 -f KSK \ -n ZONE example.com Kexample.com.+005+40132 parametr -f KSK znaэ, e jde o KSK vygenerovсny jsou dva soubory - privсtnэ a veejnс сst KSK
Praktickщ nasazenэ, server BIND Podepisovсnэ zѓny Podepisovсnэ zѓny - dnssec-signzone pidat veejnou сst ZSK a KSK do zѓnovщho souboru podepsat pomocэ dnssec-signzone (souсst serveru BIND) Podepsсnэ zѓny $ dnssec-signzone -o example.com -N increment example.com example.com.signed
Praktickщ nasazenэ, server BIND Podepisovсnэ zѓny Podepisovсnэ zѓny - pokraovсnэ podepsanс zѓna je v souboru example.com.signed example.com.signed je abecedn seazen, obsahuje DNSKEY, RRSIG a NSEC zсznamy podepsanс zѓna mnohem vt э v named.conf nastavit jmщno souboru zѓny, nastavit parametr dnssec-enable na rekurzivnэm serveru nastavit parametr dnssec-validation poslat pэslu n DS zсznam do nadazenщ domщny (nachсzэ se v souboru dsset-example.com.)
Praktickщ nasazenэ, server BIND Podepisovсnэ zѓny Sprсva podepsanщ zѓny platnost podpis zaэnс hodinu ped spu tnэm dnssec-signzone platnost konэ 30 dn po podepsсnэ (pozor na TTL!), potщ znovu spustit dnssec-signzone KSK a ZSK musэ bt periodicky mnny utility zjednodu ujэcэ proces podepisovсnэ a sprсvy na http://www.dnssec-tools.org/
Praktickщ nasazenэ, server BIND Podepisovсnэ zѓny Doporuenэ je vhodnщ pouэvat standardnэ adresсovou strukturu zѓny uklсdat ve stejn pojmenovanch souborech podepsanщ zѓny uklсdat v.signed souborech uklсdat v echny zѓnovщ soubory ve stejnщm adresсi
Praktickщ nasazenэ, server BIND Souasn stav Trusted keys - Dvryhodnщ k e aby bylo monщ ovit podpisy je poteba znсt a mэt oven jejich DNSKEY (KSK) pokud nenэ DS zсznam v nadazenщ zѓn musэ se DNSKEY ovit run a potщ musэ bt vloen do souboru named.conf (trusted-keys) v ideсlnэm pэpad bude pouze jeden - k. zѓny
Praktickщ nasazenэ, server BIND Souasn stav Lookaside validation v souasnщ dob nenэ podepsсna koenovс domщna sprсva k pro v echny podepsanщ domщny je velmi nсronс pokud neexistuje DS zсznam v nadazenщ zѓn, hledс se v DLV registru, pokud je nalezen, pouije se nejznсmj э DLV registr spravuje ISC (https://www.isc.org/solutions/dlv)
Praktickщ nasazenэ, server BIND Souasn stav DNSSEC v domщn cz. zaveden 30.09.2008 jejэ k lze autentizovat pes ISC DLV registr
Praktickщ nasazenэ, server BIND Testovсnэ a hledсnэ chyb Hledсnэ chyb velmi uiten nсstroj je dig obvyklщ chyby cэlov server neodpovэdс na EDNS0 dotazy RRSIG zсznam je pro l k zсznamu chybэ pэslu n DNSKEY k KSK nejde ovit z nadazenщ zѓny (nebo DLV registru) cэlov server neodpovэdс server nepodporuje EDNS0 chybn nastaven firewall nebo router dig @<server> +edns=0 <autoritativnэ_zсznam>
Praktickщ nasazenэ, server BIND Testovсnэ a hledсnэ chyb Hledсnэ chyb - pokraovсnэ pro l (expirovan) RRSIG zсznam dig <zсznam> +dnssec +cd chybэ pэslu n DNSKEY k dig <jmщno_klэe> dnskey +multi chybn DS/DLV zсznam dig @<ns_nadazenщ_domщny> <jmщno_klэe> DS
Section 4 Zdroje
Zdroje Zdroje RFC 4033 - DNS Security Introduction and Requirements RFC 4034 - Resource Records for the DNS Security Extensions RFC 4045 - Protocol Modifications for the DNS Security Extensions RFC 4641 - DNSSEC Operational Practices RFC 5155 - DNS Security (DNSSEC) Hashed Authenticated Denial of Existence http://en.wikipedia.org/wiki/dnssec http://www.isc.org/sw/bind/docs/dnssec in 6 minutes.pdf