DNSSEC Hva, Hvorfor og Hvordan? Nettsamling 11 des 2012 Håvard Eidnes, UNINETT
Innhold DNSSEC hva er det? Hvorfor bry seg med DNSSEC? Hvordan kan DNSSEC implementeres? 2
Hva er DNSSEC? Kryptografisk sikring av informasjonen i DNS Sikrer at det vi leser ut av DNS virkelig er det som ble publisert 3
Hvorfor DNSSEC? 54 «Kaminsky-angrepet»: 16-biters query-id (for lite utfallsrom) Variasjon av UDP portnummer som plaster på såret har begrenset holdbarhet
Hvorfor DNSSEC? Umuliggjør «DNS cache-poisoning» angrep (for sikrede soner) Gjør det mulig å stole på den sikrede informasjonen i DNS Muliggjør nye bruksområder for DNS; eksempler: DANE (x.509 interaksjon via DNS) Eduroam bruk ifbm. Radius «dynamisk oppdaging» Nøkler for annen bruk (IPSEC VPN f.eks.) 5 Ikke opptre som sinker (.SE,.NL,.COM etc.)
Hva er DNSSEC? 6 Sikrer kommunikasjon mellom publiserende navnetjener og rekursiv resolver (som validerer resultatet) (Klient-til-resolver ikke egentlig dekket)
Hva er DNSSEC? Bruker offentlig nøkkelkrypto for signering av sonedata Introduserer nye DNS posttyper: DNSKEY nøkkelmateriale DS delegert signering RRSIG signatur over RR-set NSEC / NSEC3 poster for sikker nekting av innhold Introduserer en ikke ubetydelig mengde kompleksitet(!) 7
Hva er DNSSEC? Digital signaturkjede følger navnerommet Nøkkelsigneringsnøkler (KSK) Sonesigneringsnøkler (ZSK) DS-poster peker på andre nøkler 8
Standard DNS-svar: : {20} ; dig iis.se. ns ; <<>> DiG 9.7.3-P3 <<>> iis.se. ns ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 29219 ;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 5 ;; QUESTION SECTION: ;iis.se. IN NS ;; ANSWER SECTION: iis.se. 3600 IN NS ns2.nic.se. iis.se. 3600 IN NS ns3.nic.se. iis.se. 3600 IN NS ns.nic.se. 9 ;; ADDITIONAL SECTION: ns.nic.se. 86400 IN A 212.247.7.228 ns.nic.se. 86400 IN AAAA 2a00:801:f0:53::53 ns2.nic.se. 86400 IN A 194.17.45.54 ns3.nic.se. 86400 IN A 212.247.8.152 ns3.nic.se. 86400 IN AAAA 2a00:801:f0:211::152 ;; Query time: 74 msec ;; SERVER: 127.0.0.1#53(127.0.0.1) ;; WHEN: Sat Dec 8 14:03:16 2012 ;; MSG SIZE rcvd: 185 : {21} ;
DNS-svar med DNSSEC-info: : {21} ; dig iis.se. ns +dnssec ; <<>> DiG 9.7.3-P3 <<>> iis.se. ns +dnssec ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 11723 ;; flags: qr rd ra ad; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 6 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags: do; udp: 4096 ;; QUESTION SECTION: ;iis.se. IN NS ;; ANSWER SECTION: iis.se. 3359 IN NS ns3.nic.se. iis.se. 3359 IN NS ns.nic.se. iis.se. 3359 IN NS ns2.nic.se. iis.se. 3359 IN RRSIG NS 5 2 3600 20121217211501 20121207211501 17708 iis.se. Dt69zXqM2UCEkBDRNptoOGRyHSxBkCCvfhthiTpIR96EM7jPqkIUdYJi uksplzid7dja4rawkmscxdomvjatzw/upqd8m0pybcykegmw57fum2pm h+n+xawdtufyuxhiswixeryareoubnvlthnnna63oqupgm4pizmfxwdo kce= 10 ;; ADDITIONAL SECTION: ns.nic.se. 86159 IN A 212.247.7.228 ns.nic.se. 86159 IN AAAA 2a00:801:f0:53::53 ns2.nic.se. 86159 IN A 194.17.45.54 ns3.nic.se. 86159 IN A 212.247.8.152 ns3.nic.se. 86159 IN AAAA 2a00:801:f0:211::152 ;; Query time: 2 msec ;; SERVER: 127.0.0.1#53(127.0.0.1) ;; WHEN: Sat Dec 8 14:07:17 2012 ;; MSG SIZE rcvd: 362 : {22} ;
DNSSEC nøkler: : {22} ; dig iis.se. dnskey +dnssec ; <<>> DiG 9.7.3-P3 <<>> iis.se. dnskey +dnssec ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 47492 ;; flags: qr rd ra ad; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags: do; udp: 4096 ;; QUESTION SECTION: ;iis.se. IN DNSKEY ;; ANSWER SECTION: iis.se. 3241 IN DNSKEY 256 3 5 BQEAAAABykkjkCAVweAbM7AC1g94J5gO1bBo62oTXuU+op0U3HVn1GDu HjTNVQzwoNvqZOai5TTe3b8/he0uutcPwU0K7iNtYdvpF3V9CjMh/2fw QQPwwlmQgSRBJkC4HCe1TnF7B9/eoo48uASU96LOYj6fFwwhHCA0egPx E29v4Oj1cJU= iis.se. 3241 IN DNSKEY 257 3 5 AwEAAcq5u+qe5VibnyvSnGU20panweAk2QxflGVuVQhzQABQV4SIdAQs +LNVHF61lcxe504jhPmjeQ656X6t+dHpRz1DdPO/ukcIITjIRoJHqS+X XyL6gUluZoDU+K6vpxkGJx5m5n4boRTKCTUAR/9rw2+IQRRTtb6nBwsC 3pmf9IlJQjQMb1cQTb0UO7fYgXDZIYVul2LwGpKRrMJ6Ul1nepkSxTMw Q4H9iKE9FhqPeIpzU9dnXGtJ+ZCx9tWSZ9VsSLWBJtUwoE6ZfIoF1ioq qxfgl9jv1/6gkdxo3pmn2edhkp8aqoo/r+mrjyi0ve8jbxvhz12151dy wusxbgjalxk= iis.se. 3241 IN RRSIG DNSKEY 5 2 3600 20121217211501 20121207211501 17708 iis.se. HhhDjFbiW/ShFM5gWvAk1GZQNDh1sC1+kD3VPfv9fMTubJWhXJU8ArgQ ahdncjg9fkcgmvlt2bdyfmiom6qgire8fqzq9ndsxezkqld+vlfbm93g 4x3+WvY+GUoneeQHyX0c2Fn+o8wGLL5NXxSRPjPOSpdNxGN19KZC9u6a k/w= iis.se. 3241 IN RRSIG DNSKEY 5 2 3600 20121217211501 20121207211501 18937 iis.se. Ui2KJFbFTIRxVrvnnrV+87oJ4LVRI/5jWO1Taxt1Qq1kL6MUPDh+9Ynm 8OaMnfdjC17XzS+pk1479ejU5a1hYleHesxWyM5NY8qCNtHQqtDs7bdD M8HMmCqT1QvYA72MMuwGtnvRifK1Iz3w3IpaekmEUf0DCfijqU/YXNHF +LXTfHn8+UEV2jDRE962VGpuErYZlbHFoRUoboqaVzy62k3AsLF0qWkc 6Y5YfwjkahE607AQ9+noc+jARH+7mdJ5lkbR9D+vd1GXZiIpMXT7QS91 YwJ+N5J99u8FejLj2IQSqmEt5dk02S58Hfb6iEs2LCDCYhrqifZT4qdq s+pk0q== 11 ;; Query time: 1 msec ;; SERVER: 127.0.0.1#53(127.0.0.1) ;; WHEN: Sat Dec 8 14:09:15 2012 ;; MSG SIZE rcvd: 921 : {23} ;
DNSSEC signert delegering : {24} ; dig @j.ns.se. iis.se. ds +norec +dnssec ; <<>> DiG 9.7.6-P3 <<>> @j.ns.se. iis.se. ds +norec +dnssec ; (2 servers found) ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 57398 ;; flags: qr aa; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags: do; udp: 4096 ;; QUESTION SECTION: ;iis.se. IN DS 12 ;; ANSWER SECTION: iis.se. 3600 IN DS 18937 5 2 B5C422428DEA4137FBF15E1049A48D27FA5EADE64D2EC9F3B58A994A 6ABDE543 iis.se. 3600 IN DS 18937 5 1 10DD1EFDC7841ABFDF630C8BB37153724D70830A iis.se. 3600 IN RRSIG DS 5 2 3600 20121221100027 20121207141101 52260 se. X46w/Jhly9QwsFQcgEa4gsKssnUKI23bwHxGqthA5XKSO5iF1GPAIoMI SLY Qh8VMdvpf27UxH5t/HaedV4SXA7q+cn4lMqyK4G/z0UszPpX9XJO8 +XT0CPlytSGn2SiBKCls6/arcjk/fnsOzDYSUrOz8RXRdp5hRyUOxC8A HDY= ;; Query time: 41 msec ;; SERVER: 2001:500:2c::1#53(2001:500:2c::1) ;; WHEN: Mon Dec 10 15:29:20 2012 ;; MSG SIZE rcvd: 281 : {25} ;
Nye problemer med DNSSEC Fremdeles tidlig, og operasjonelle barnesykdommer ikke fjernet: Avglemt re-signering i tide (automatisering) Rullering av nøkler uten henblikk på caching (automatisering) Rullering av KSK-nøkkel uten å snakke med admin av moder-sonen 13 Konsekvenser: Validerende resolver: SERVFAIL eller time-out ingen gode feilmeldinger...
DNSSEC feilsøking http://dnscheck.iis.se/ http://dnsviz.net/ CLI-verktøyet «drill», del av ldns fra NLnet Labs BIND sin «dig», men er mer klønete i bruk 14
DNSSEC feilsøking drill % drill -TD ca.gov. ;; Number of trusted keys: 2 ;; Domain:. [T]. 172800 IN DNSKEY 256 3 8 ;{id = 24220 (zsk), size = 1024b}. 172800 IN DNSKEY 257 3 8 ;{id = 19036 (ksk), size = 2048b}... [T] gov. 86400 IN DS 53138 7 1 35d81501cc594683875872282fe73054cfe619de gov. 86400 IN DS 53138 7 2 5aec256412bc1fec92b8fddb4493b585e9406541cf8c952bfe6e27acb3a20766 ;; Domain: gov. [T] gov. 86400 IN DNSKEY 256 3 7 ;{id = 11596 (zsk), size = 2048b} gov. 86400 IN DNSKEY 256 3 7 ;{id = 343 (zsk), size = 2048b} gov. 86400 IN DNSKEY 257 3 7 ;{id = 53138 (ksk), size = 2048b}... [T] ca.gov. 86400 IN DS 59151 7 1 b944a2ddc6320e245b9b897e8238b1b850b22344 ca.gov. 86400 IN DS 59151 7 2 c229cd687bedbbf4908b9bceee0239007abd77f9b66ae2d1e16b59e47ee19282 ;; Domain: ca.gov. [T] ca.gov. 172800 IN DNSKEY 256 3 8 ;{id = 10650 (zsk), size = 1024b} ca.gov. 172800 IN DNSKEY 257 3 7 ;{id = 59151 (ksk), size = 2048b} ca.gov. 172800 IN DNSKEY 256 3 8 ;{id = 34593 (zsk), size = 1024b} [T] ca.gov. 10800 IN A 134.186.61.39 ;;[S] self sig OK; [B] bogus; [T] trusted % 15
DNSSEC feilsøking drill % drill -S cafax.se ;; Number of trusted keys: 2 ;; Chasing: cafax.se. A DNSSEC Trust tree: cafax.se. (A) ---Existence is denied by: ---cafax.se. (NSEC _kerberos._tcp.cafax.se. NS SOA MX NAPTR RRSIG NSEC DNSKEY ) ---cafax.se. (DNSKEY keytag: 26666 alg: 5 flags: 256) ---cafax.se. (DNSKEY keytag: 28428 alg: 5 flags: 257) No trusted keys found in tree: first error was: No DNSSEC public key(s) ;; Chase failed. % 16
DNSSEC feilsøking dnscheck.iis.se 17
DNSSEC feilsøking dnsviz.net 18
DNSSEC feilsøking dnsviz.net 19
Hvordan ta i bruk DNSSEC? Flere skritt: Validerende resolver Signering av egne DNS-soner 20
Validerende DNS-resolver Trenger konfigurering av initiell rotnøkkel og sporing av nøkkel-endringer (RFC 5011) 21 Enkelt å sette i drift med f.eks. ISC BIND og Unbound fra NLnet Labs Ikke tenk på MS Windows Server 2008, OK i Windows 2012 Bør kanskje tenke på dette nå?
Oppsett av validering i BIND options { dnssec-enable yes; dnssec-validation yes; }; managed-keys { /* Root Key */ "." initial-key 257 3 8 "AwEAAagAIKlVZrpC6Ia7gEzahOR+9W29euxhJhVVLOyQ bsew0o8gccjffvqutf6v58fljwbd0yi0ezracqqbgczh /RStIoO8g0NfnfL2MTJRkxoXbfDaUeVPQuYEhg37NZWA JQ9VnMVDxP/VHL496M/QZxkjf5/Efucp2gaDX6RS6CXp oy68lsvpvjr0zswzz1apazvn9dlzehex7icjbbtua6g3 LQpzW5hOA2hzCTMjJPJ8LbqF6dsV6DoBQzgul0sGIcGO Yl7OyQdXfZ57relSQageu+ipAdTTJ25AsRTAoub8ONGc LmqrAmRLKBP1dfwhYB4N7knNnulqQxA+Uk1ihz0="; }; 22 + Omstart av named evt. full tømming av cachen
Signering av egne DNS-soner Som nevnt: mange fallgruver Må automatiseres: f.eks. med BIND eller OpenDNSSEC For navnetreet: krever at NORID implementerer DNSSEC (planlagt for 2013) 23 Litt uvisst hvordan vi vil anbefale at dette bør organiseres, i og med konsekvensene av feil... Økt DNS «forsterkereffekt» ifbm. DoS-angrep Problemer med «split DNS» og gjenbruk av samme domenenavn?
Helt til slutt Spørsmål? Diskusjon? 24