Académique Documents
Professionnel Documents
Culture Documents
7 de janeiro de 2011
1 verso 1.7.4 (Revision: 7419 ) a A ultima verso deste tutorial pode ser encontrada em: ftp://ftp.registro.br/pub/doc/tutorial-dnssec.pdf a 1 / 118
Objetivos
Introduzir os conceitos de DNSSEC Apresentar um exemplo prtico de DNSSEC utilizando BIND a Incentivar a utilizao de DNSSEC ca
2 / 118
Cronograma
DNS Conceitos Publicao ca Arquitetura Vulnerabilidades DNSSEC Conceitos Resource Records Funcionamento DNS Vs DNSSEC
3 / 118
4 / 118
5 / 118
Hierarquia
DNS database
"."
UNIX lesystem
6 / 118
com
br
Zona br
org
eng
Zona eng.br Zona foo.eng.br
nom silva
Zona nom.br
gov
Zona gov.br
Delegao ca
fazenda
foo
joao
tutorial
Zona tutorial.foo.eng.br Zona joao.silva.nom.br Zona fazenda.gov.br
Indica uma transferncia e de responsabilidade na administrao apartir ca daquele ponto na rvore a DNS
Domnio br
7 / 118
Reserva o direito da pessoa f sica ou jur dica sobre um determinado nome de endereo na Internet. c Dom nios no registrados no podem ser encontrados na Internet. a a
8 / 118
Formas de registro
Sistema WEB
A interface WEB permite de maneira prtica gerenciar os dom a nios de qualquer pessoa f sica ou jur dica.
http://registro.br/suporte/tutoriais/novo-registro.html
9 / 118
Publicao quasi-on-line ca
O que uma Publicao? e ca
As modicaes que so realizadas pela interface de provisionamento no co a a so efetivadas imediatamente. A cada intervalo de tempo pr-determinado a e ocorre uma publicao DNS a qual atualiza o sistema DNS. ca
10 / 118
Publicao quasi-on-line ca
O que uma Publicao? e ca
As modicaes que so realizadas pela interface de provisionamento no co a a so efetivadas imediatamente. A cada intervalo de tempo pr-determinado a e ocorre uma publicao DNS a qual atualiza o sistema DNS. ca As publicaes DNS ocorrem a cada 30 minutos co No caso do registro de um novo dom ele j estar vis na nio a a vel Internet aps a prxima publicao. o o ca No caso da alterao de dados de um dom ca nio, aps a prxima o o publicao, o dom passar por um per ca nio a odo de transio que ca poder durar at 24 horas (tempo necessrio para que o TTL do a e a dom expire e elimine o cache). nio
10 / 118
Resource Records
Os dados associados com os nomes de dom esto contidos em nio a Resource Records ou RRs (Registro de Recursos) So divididos em classes e tipos a Atualmente existe uma grande variedade de tipos O conjunto de resource records com o mesmo nome de dom nio, classe e tipo denominado RRset e
Indica onde comea a autoridade a zona c Indica um servidor de nomes para a zona Mapeamento de nome a endereo c Mapeamento de nome a endereo c Mapeia um nome alternativo
(IPv4) (IPv6) (servidor de email)
Tipos de servidores
Servidor Recursivo
Ao receber requisies de resoluo de nomes, faz requisies para os co ca co servidores autoritativos e conforme a resposta recebida dos mesmos continua a realizar requisies para outros servidores autoritativos at co e obter a resposta satisfatria o
Servidor Autoritativo
Ao receber requisies de resoluo de nome, responde um endereo caso co ca c possua, uma referncia caso conhea o caminho da resoluo ou uma e c ca negao caso no conhea ca a c
13 / 118
Resolver
Servio localizado c no cliente que tem como responsabilidade resolver as requisies DNS co para diversos aplicativos
14 / 118
15 / 118
16 / 118
17 / 118
18 / 118
19 / 118
"."
em ex
.fo plo
n o.e
fe Re
n re
se cia
rv
BR
ENG
ex em
plo .fo
o.e n
Resolver
exemplo.foo.eng.br ?
g.b
r?
FOO
EXEMPLO
20 / 118
"."
em ex
.fo plo
n o.e
fe Re
n re
se cia
rv
BR
ENG
ex em
20
0.1
o.e n
Resolver
exemplo.foo.eng.br ?
60
g.b
r?
.25
FOO
EXEMPLO
21 / 118
"."
em ex
.fo plo
n o.e
fe Re
n re
se cia
rv
BR
ENG
ex em
20
0.1
o.e n
exemplo.foo.eng.br ?
60
g.b
200.160.10.251
r?
.25
FOO
EXEMPLO
Resolver
22 / 118
"."
em ex
.fo plo
n o.e
fe Re
n re
se cia
rv
BR
ENG
ex em
20
0.1
o.e n
exemplo.foo.eng.br ?
60
g.b
200.160.10.251
r?
.25
FOO
EXEMPLO
Resolver
23 / 118
Fluxo de dados
1 2 3 4
Resolver faz consultas no Recursivo Recursivo faz consultas no Master ou Slave Master tem a zona original (via arquivo ou Dynamic Update) Slave recebe a zona do Master (AXFR ou IXFR)
24 / 118
Vulnerabilidades
25 / 118
Solues co
26 / 118
Exemplo de Ataque 1
Man-in-The-Middle
Resolver
27 / 118
Exemplo de Ataque 1
Man-in-The-Middle
Atacante
Resolver
exemplo.foo.eng.br ?
28 / 118
Exemplo de Ataque 1
Man-in-The-Middle
Atacante
exemplo.foo.eng.br ?
207.46.232.182
Resolver
29 / 118
Exemplo de Ataque 1
Man-in-The-Middle
"."
Atacante
BR
ENG
exemplo.foo.eng.br ?
20
200.160.10.251
C D E F
.2 .1
FOO
EXEMPLO
Resolver
30 / 118
Exemplo de Ataque 2
Poluio de Cache ca
31 / 118
Exemplo de Ataque 2
Poluio de Cache ca
32 / 118
Exemplo de Ataque 2
Poluio de Cache ca
"."
BR
ENG
FOO
EXEMPLO
Resolver
33 / 118
Exemplo de Ataque 2
Poluio de Cache ca
"."
BR
Resolver
Atac
te
7 6
4 3 1
ENG
o. oo
FOO
EXEMPLO
34 / 118
Exemplo de Ataque 2
Poluio de Cache ca
"."
BR
Resolver
Atac
te
$# "!
ENG
o. oo
A& @% 8
FOO
EXEMPLO
35 / 118
Exemplo de Ataque 2
Poluio de Cache ca
"."
BR
Resolver
92
Atac
te
WV URT SG
Q P IH GB
ENG
o. oo
Xf ea Xd Xa c
ba `Y X
FOO
EXEMPLO
36 / 118
Exemplo de Ataque 2
Poluio de Cache ca
"."
BR
Resolver
hg
Atac
te
u u
y xuw vp
t s rq pi
ENG
o. oo
FOO
EXEMPLO
37 / 118
Segmentos compartilhados L2 ponto-multiponto Ethernet (no bridge 802.1d) a Ethernet Wireless (802.11)
38 / 118
Segmentos compartilhados L2 ponto-multiponto Ethernet (no bridge 802.1d) a Ethernet Wireless (802.11)
38 / 118
Solues co
TSIG
Transaction Signatures RFC 2845 Autorizao de AXFR (atualizao total), IXFR (atualizao das ca ca ca modicaes) e Dynamic Updates (atualizao imediata) co ca Autenticao do servidor cache forwarder ca Trfego assinado com a chave compartilhada a
39 / 118
Solues co
TSIG
Transaction Signatures RFC 2845 Autorizao de AXFR (atualizao total), IXFR (atualizao das ca ca ca modicaes) e Dynamic Updates (atualizao imediata) co ca Autenticao do servidor cache forwarder ca Trfego assinado com a chave compartilhada a
DNSSEC
Prov segurana para a resoluo de endereos e c ca c Funciona como um caminho alternativo para a vericao de ca autenticidade Suas vericaes ocorrem antes de diversas aplicaes de segurana co co c (SSL, SSH, PGP, etc...)
39 / 118
Extenso da tecnologia DNS a (o que existia continua a funcionar) Possibilita maior segurana para o usurio na Internet c a (corrige falhas do DNS) Atualmente na verso denominada DNSSEC bis com opcional NSEC3 a
40 / 118
Garantias de DNSSEC
O que garante?
Origem (Autenticidade) Integridade A no existncia de um nome ou tipo a e
41 / 118
Garantias de DNSSEC
O que garante?
Origem (Autenticidade) Integridade A no existncia de um nome ou tipo a e
41 / 118
fonte: http://www.xelerance.com/dnssec/
42 / 118
Utilizao de DNSSEC ca
43 / 118
Utilizao de DNSSEC ca
43 / 118
Chaves Assimtricas e
Chaves Assimtricas e
u DNSKEY Chave pblica RRSIG Assinatura do RRset (somente registros com autoridade) DS Delegation Signer (Ponteiro para a cadeia de conana) c NSEC Aponta para o prximo nome e indica quais os tipos dos RRsets o para o nome atual
46 / 118
DNSKEY
E um resource record que armazena a chave pblica da zona u
Exemplo
foo.eng.br. 900 IN DNSKEY 256 3 5 ( AwEAAeZPN2yMs9q6kgYjFUblEwjCnWWcPq+TGcJrD5ga XXAbP5MAqIkgZ5J4TU1mmpL1A8gMfd/wUmBkVipXR8FK HRajBZSRfgeKnKaQtrxNZ32Ccts2F6Ylv9WaLXtiqebg OZtuJFpQr6pnIt/FoOI+I7BUSNrX28VTq4jXu/qTrmM/ ) ; key id = 62745
47 / 118
RRSIG
E um resource record que contm a assinatura de um RRset e espec co com uma determinada chave (DNSKEY) Possui uma validade inicial (inception) e nal (expiration)
Exemplos de RRset:
foo.eng.br. foo.eng.br. IN NS ns1.foo.eng.br. IN NS ns2.foo.eng.br.
ns1.foo.eng.br.
IN A 200.160.3.97
ns2.foo.eng.br.
IN A 200.160.3.97
48 / 118
RRSIG
1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type Covered | Algorithm | Labels | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Original TTL | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Signature Expiration | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Signature Inception | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Key Tag | / +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Signers Name / / / +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ / / / Signature / / / +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Exemplo
foo.eng.br. 900 IN RRSIG SOA 5 3 900 20070617200428 ( 20070518200428 62745 foo.eng.br. glEeCYyd/CCBfzH64y0RAQf9OxYDsI4xuBNaam+8DZQZ xeoSLQEEtwmp6wBtQ7G10wSM9nEjRRhbZdNPNKJMp2PE lLLgLI+BLwdlz0t8MypcpLOaTm9rc7pP7UR5XLzU1k8D m6ePW1bNkId7i0IPSghyoHM7tPVdL2GW51hCujA= ) 49 / 118
DS
E um hash do Record DNSKEY Serve para informar que existe uma cadeia de conana entre um dom c nio e seus sub-dom nios.
Indica:
que a zona delegada est assinada a qual a chave usada na zona delegada
50 / 118
DS
DS (br)
Cadeia de Conana c
O Record DS um ponteiro para a e cadeia de conana, a qual garante a c autenticidade das delegaes de uma co zona at um ponto de conana e c uma chave ancorada
br
DS (eng.br)
eng
DS(foo.eng.br)
foo
DS(tutorial.foo.eng.br)
tutorial
51 / 118
DS
Exemplo
foo.eng.br. IN DS 817 5 1 EAEC29E4B0958D4D3DFD90CC70C6730AD5880DD3
52 / 118
DS
E poss obter os DS da zona utilizando o sistema Whois. vel
53 / 118
Exemplo
foo.eng.br. 900 IN NSEC ns1.exemplo.foo.eng.br. NS SOA RRSIG NSEC DNSKEY
Prova de no existncia, com pr-assinatura, sem a necessidade de chaves a e e on-line para assinatura on-demand. Diminuindo a possibilidade de DOS.
54 / 118
NSEC
Respostas NXDOMAIN
- Um ou mais registros NSEC indicam que o nome ou a sintetizao de ca um wildcard no existe a
$ dig @200.160.10.251 zzz.foo.eng.br SOA +dnssec ;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 18301 ;; flags: qr aa rd; QUERY: 1, ANSWER: 0, AUTHORITY: 6, ADDITIONAL: 1 ;; QUESTION SECTION: ;zzz.foo.eng.br. IN SOA ;; AUTHORITY SECTION: foo.eng.br. 0 IN SOA ns1.foo.eng.br. hostmaster.foo.eng.br. 1 3600 3600 3600 900 foo.eng.br. 0 IN RRSIG SOA 5 3 900 20070617200428 20070518200428 62745 foo.eng.br. glEeCYyd/CCBfzH64y0RAQf9OxYDsI4xuBNaam+8DZQZxeoSLQEEtwmp 6wBtQ7G10wSM9nEjRRhbZdNPNKJMp2PElLLgLI+BLwdlz0t8MypcpLOa Tm9rc7pP7UR5XLzU1k8Dm6ePW1bNkId7i0IPSghyoHM7tPVdL2GW51hCujA= foo.eng.br. 900 IN NSEC ns1.exemplo.foo.eng.br. NS SOA RRSIG NSEC DNSKEY foo.eng.br. 900 IN RRSIG NSEC 5 3 900 20070617200428 20070518200428 62745 foo.eng.br. OCOCpFW5fR6MPhVBaUWfrP9pkIqVc+NDORi6PRwIX/p1dLmAT7NF5Rkc 9IfbAHZTxefoqTKqN/vPl1PqSxUzh0rl+atHblaH6yt79CTkmStota7C SLYYXX5c7D93hRYJ2yk1COxQz6GG9SIp/U4qR4//TcQDHpqQ4bFs42ZsD4I= ns2.foo.eng.br. 900 IN NSEC foo.eng.br. A RRSIG NSEC ns2.foo.eng.br. 900 IN RRSIG NSEC 5 4 900 20070617200428 20070518200428 62745 foo.eng.br. XVf7M09L4rVUD6uxa1P+EhQYohuimuwk1xzAemsn292esUhkkYz/BG7b OT/L9fhzOEPYtYGFyMF4gZ1/mxwY31UmX6xVZZPYFJ7x5Kw2uTSD49FK VsdUOLBCAHzO88byAm8EwLe3l+U0/q8RvPimAfpouoivUDcuWtKxs0CzLyc=
55 / 118
NSEC
(ANSWER = 0)
56 / 118
NSEC
Record NSEC utilizado apenas para provar no existncia. No aparece em a e a consultas positivas
$ dig @200.160.10.251 foo.eng.br SOA +dnssec +noadditional ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 6372 ;; flags: qr aa rd; QUERY: 1, ANSWER: 2, AUTHORITY: 3, ADDITIONAL: 5 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags: do; udp: 4096 ;; QUESTION SECTION: ;foo.eng.br. IN SOA ;; ANSWER SECTION: foo.eng.br. 900 IN SOA ns1.foo.eng.br. hostmaster.foo.eng.br. 1 3600 3600 3600 900 foo.eng.br. 900 IN RRSIG SOA 5 3 900 20070617200428 20070518200428 62745 foo.eng.br. glEeCYyd/CCBfzH64y0RAQf9OxYDsI4xuBNaam+8DZQZxeoSLQEEtwmp 6wBtQ7G10wSM9nEjRRhbZdNPNKJMp2PElLLgLI+BLwdlz0t8MypcpLOa Tm9rc7pP7UR5XLzU1k8Dm6ePW1bNkId7i0IPSghyoHM7tPVdL2GW51hCujA= ;; AUTHORITY SECTION: foo.eng.br. 900 IN NS ns2.foo.eng.br. foo.eng.br. 900 IN NS ns1.foo.eng.br. foo.eng.br. 900 IN RRSIG NS 5 3 900 20070617200428 20070518200428 62745 foo.eng.br. 3iLm1ROC+UeqYk0xgQGQQXkBzcKiKQRPwe+1JZlpjEzjU1Uj0HUOHefa jXzMv7FlFMWYeU51Ybg49HFe67XQVlK54GeAFXWB7YS59yODLoNEBxQl 9QEy6g/OOnLpuKTrST8qqd5Fc/eYqN/Ag3GnfcAviZgiQhhveGH9mJHWZyc=
57 / 118
NSEC3
Soluciona o problema do Zone Walking Substitui o record NSEC pelo record NSEC3 Faz um hash de todos os nomes da zona e ordena-os de forma cannica o Ao invs de apontar para o prximo nome da zona, aponta para o e o prximo hash o
58 / 118
Funcionamento
Autenticidade e Integridade so providas pela assinatura dos a Resource Records Sets (RRset) com uma chave privada Zonas delegadas (lhas) assinam seus RRsets com a chave privada Autenticidade da chave vericada pela assinatura na zona e pai do Record DS (hash da chave pblica DNSKEY da u zona lha) Chave pblica usada para vericar assinatura (RRSIGs) dos u e RRsets Autenticidade da no existncia de um nome ou tipo provida por a e uma cadeia de nomes (NSEC) que aponta para o prximo nome o em uma sequncia cannica e o
59 / 118
DNSSEC no PKI a e
No existem Certicados a
(Certication Authority, Service Level Agreement, Certicate Revogation List)
60 / 118
Sempre que utilizar um Servidor Recursivo com DNSSEC habilitado e necessrio ancorar a chave pblica. a u Isto serve para associar o inicio da cadeia de conana a um ponto c seguro.
61 / 118
Exemplo
O resolver recursivo j a possui a chave pblica u da zona . (raiz) ancorada
62 / 118
Exemplo
63 / 118
Exemplo
64 / 118
Exemplo
65 / 118
Exemplo
66 / 118
Exemplo
67 / 118
Exemplo
68 / 118
Exemplo
69 / 118
Exemplo
O servidor DNS responde enviando DNSKEY e o RRSIG
70 / 118
Exemplo
Compara a trusted-key com a DNSKEY, caso for vlida continua a com as requisies co
71 / 118
Exemplo
72 / 118
Exemplo
Retorna sem resposta, mas com referncia e para os Records:
- NS do foo.eng.br
73 / 118
Exemplo
O servidor DNS recursivo utiliza a DNSKEY para checar a assinatura (RRSIG) do Record DS
74 / 118
Exemplo
75 / 118
Exemplo
76 / 118
Exemplo
O servidor DNS recursivo verica atravs do DS e da e DNSKEY, se este servidor DNS vlido. e a
77 / 118
Exemplo
em ex
se cia
rv
fe Re
ex em
Resolver
exemplo.foo.eng.br ?
g.b
r?
78 / 118
Exemplo
Retorna o Record A e sua assinatura RRSIG.
Servidor DNS Autoritativo
g.b r? s re ido .br n o.e .fo plo n re
em ex
se cia
rv
fe Re
ex em
20
0. 1
Resolver
exemplo.foo.eng.br ?
60
g.b
r?
79 / 118
Exemplo
O servidor DNS recursivo utiliza a DNSKEY para checar a assinatura (RRSIG) do Record A
em ex
se cia
rv
fe Re
ex em 20
0. 1
Resolver
exemplo.foo.eng.br ?
60
g.b
r?
80 / 118
Exemplo
81 / 118
EDNS0
(RFC 2671)
Criado de forma a tornar mais ex veis as limitaes dos campos no co protocolo DNS Permite aos solicitadores informarem a capacidade mxima de seus a pacotes UDP. Eliminando a limitao UDP DNS de 512 bytes. ca Distingue quem suporta DNSSEC
Lembrete
E necessrio que o transporte TCP tambm esteja habilitado no servidor. a e
82 / 118
Congurao de Firewall ca
Congurao de Firewall ca
O rewall deve ser congurado para fazer a normalizao de fragmentos ca de pacote UDP antes de checar as demais regras. Caso isto no seja poss a vel, uma alternativa congurar o servidor e recursivo para que solicite respostas UDP menores. Se estiver sendo utilizado Bind como servidor recursivo, isto pode ser feito a partir da verso 9.3.0 com as seguintes opes: a co
options { edns-udp-size 1252; # Servidores recursivos max-udp-size 1252; # Servidores recursivos e autoritativos }; 1252 apenas uma sugesto, este valor deve reetir as conguraes de Firewall. e a co
Recomendao ca
Firewalls e DNS, como e porque congurar corretamente ftp://ftp.registro.br/pub/doc/dns-fw.pdf
83 / 118
DNS Vs DNSSEC
Diferenas entre uma requisio DNS e uma requisio DNSSEC: c ca ca
8 Pacotes X Bytes a
84 / 118
85 / 118
Softwares
Compatibilidade DNSSEC
Autoritativo
ANS BIND djbdns DNSSHIM IPControl IPM DNS MaraDNS Microsoft DNS NSD PowerDNS Unbound Vantio VitalQIP
a b c d Verso atual do protocolo a
Recursivo
DNSSEC bisa
NSEC3b
RFC 5011
TSIG
IPv6
Servidores recursivos devem(!) ter suporte a NSEC3 para pleno funcionamento com DNSSEC Suporte a partir da verso 9.6.0 a Suporte a partir da verso Windows Server 2008 R2 ou Windows 7 a
86 / 118
Softwares
Compatibilidade de Servidores DNS com Sistemas Operacionais
ANS BIND djbdns DNSSHIM IPControl IPM DNS MaraDNS Microsoft DNS NSD PowerDNS Unbound Vantio VitalQIP
a b c
BSDa
Solaris
Linux
Windows b
MAC OS X c
Sistema compat com a norma POSIX assim como outros clones do Unix. vel Apenas nas verses mais recentes do sistema operacional o Software em verso Beta a
87 / 118
Softwares
Licena de Servidores DNS c
ANS BIND djbdns DNSSHIM IPControl IPM DNS MaraDNS Microsoft DNS NSD PowerDNS Unbound Vantio VitalQIP
Criador Nominum Internet System Consortium Daniel J. Bernstein Registro.br INS EcientIP Sam Trenholme Microsoft NLnet Labs PowerDNS.com / Bert Hubert NLnet Labs Nominum Lucent Technologies
Cdigo Aberto o
Grtis a
88 / 118
Softwares
Ferramenta para consultas DNS
Ferramentas recomendadas para consultas sobre registros de DNS de um determinado dom nio, host ou IP: DIG (Domain Information Groper)
http://www.isc.org/software/bind
DRILL
http://www.nlnetlabs.nl/projects/drill
89 / 118
Softwares
Ferramenta para consultas DNS
BIND no Windows
Faa o download da ultima verso do BIND em http://www.isc.org c a Descompacte o arquivo ZIP e execute o programa BINDInstall.exe Aps a instalao, acesse os Servios (ferramentas administrativas) e o ca c inicie o servico ISC BIND
90 / 118
Softwares
Ferramenta para consultas DNS
BIND no Windows
O BIND no Windows funciona da mesma forma que no Linux, sendo que os arquivos cam localizados em locais diferentes. Os arquivos de congurao esto localizados em c:\windows\system32\dns\etc ca a Os executveis (named, dig) esto localizados em c:\windows\system32\dns\bin a a
91 / 118
Softwares
DNSSHIM - DNS Secure Hidden Master
http://registro.br/dnsshim/ Open-Source Automatiza o processo de provisionamento de zonas Suporte a DNSSEC Interface Automatizvel a Manuteno de chaves/assinaturas ca
Pblico Alvo u
Provedores de hospedagem ou qualquer outra instituio responsvel por ca a administrar servidores DNS autoritativos para muitas zonas
92 / 118
Softwares
DNSSHIM - DNS Secure Hidden Master
93 / 118
94 / 118
Exemplo de resultado:
. initial-key 257 3 8 "AwEAAagAIKlVZrpC6Ia7gEzahOR+9W29euxhJhVVLOyQbSEW0O8gcCjF FVQUTf6v58fLjwBd0YI0EzrAcQqBGCzh/RStIoO8g0NfnfL2MTJRkxoX bfDaUeVPQuYEhg37NZWAJQ9VnMVDxP/VHL496M/QZxkjf5/Efucp2gaD X6RS6CXpoY68LsvPVjR0ZSwzz1apAzvN9dlzEheX7ICJBBtuA6G3LQpz W5hOA2hzCTMjJPJ8LbqF6dsV6DoBQzgul0sGIcGOYl7OyQdXfZ57relS Qageu+ipAdTTJ25AsRTAoub8ONGcLmqrAmRLKBP1dfwhYB4N7knNnulq QxA+Uk1ihz0=";
95 / 118
named.conf
options { ... dnssec-validation yes; ... }; managed-keys { . initial-key 257 3 8 "AwEAAagAIKlVZrpC6Ia7gEzahOR+9W29euxhJhVVLOyQbSEW0O8gcCjF FVQUTf6v58fLjwBd0YI0EzrAcQqBGCzh/RStIoO8g0NfnfL2MTJRkxoX bfDaUeVPQuYEhg37NZWAJQ9VnMVDxP/VHL496M/QZxkjf5/Efucp2gaD X6RS6CXpoY68LsvPVjR0ZSwzz1apAzvN9dlzEheX7ICJBBtuA6G3LQpz W5hOA2hzCTMjJPJ8LbqF6dsV6DoBQzgul0sGIcGOYl7OyQdXfZ57relS Qageu+ipAdTTJ25AsRTAoub8ONGcLmqrAmRLKBP1dfwhYB4N7knNnulq QxA+Uk1ihz0="; }; ...
96 / 118
Reiniciar o Bind
97 / 118
98 / 118
Onde, dominio.com.br deve ser substitu pelo seu dom do nio. - O comando ir gerar dois arquivos com extenses .key e .private a o
Mais informaes no Apndice III co e
99 / 118
Onde, dominio.com.br deve ser substitu pelo nome do dom e do nio db.dominio.com.br pelo nome do arquivo de zona.
- O comando ir gerar um novo arquivo de zona com a extenso .signed a a - O per odo de validade padro da assinatura de 30 dias a e
Mais informaes no Apndice IV co e
100 / 118
Onde, dominio.com.br deve ser substitu pelo nome do dom e do nio db.dominio.com.br deve ser substitu pelo nome do arquivo de zona. do
101 / 118
Reiniciar o Bind
102 / 118
103 / 118
104 / 118
1 2 3 4 5 6
Reiniciar o BIND (named) no servidores Master Adicionar o DS no site do Registro.br Aguardar nova publicao ca
(slide 108)
105 / 118
Informaes Importantes co
Servidor Autoritativo
Reassinar a zona antes das assinaturas expirarem
1 2
Incrementar o serial (record SOA) do arquivo de zona original Reassinar a zona utilizando o comando dnssec-signzone
106 / 118
Perguntas?
Fim da Apresentao ca Referncias e
107 / 118
Apndice I e
SOA
Serial
O nmero de reviso do arquivo de zona. Esse nmero aumenta u a u cada vez que um record alterado na zona. e O tempo, em segundos, que um servidor DNS secundrio espera a antes de consultar sua origem da zona para tentar renov-la. a O tempo, em segundos, que um servidor secundrio espera a antes de tentar novamente uma transferncia de zona falha. e O tempo, em segundos, antes que o servidor secundrio pare de a responder `s consultas depois de transcorrido um intervalo de a atualizao no qual a zona no foi renovada ou atualizada. ca a O menor tempo de vida (TTL) da zona e o intervalo mximo a para armazenar respostas negativas em cache.
Exemplo Arquivo Zona
Refresh
Retry
Expire
Minimum
108 / 118
Apndice II e
CNAME
O que e
Um alias para nomes alternativos
Funcionalidade
Mapeia um nome de dom alternativo ou apelido no campo proprietrio nio a para um cannico especicado no campo Nome Cannico o o
Problemas
Records MX, NS, CNAME, e SOA s devem se referir a um record A. o RRs referindo-se a um CNAME podem ocasionar problemas de buscas e carga extra na rede. Recomenda-se utilizar um RR A ao invs de CNAME. e
Resource Records
109 / 118
Apndice III e
Detalhes sobre o comando para gerao de chaves (1/2) ca
BIND: dnssec-keygen
Zona foo.eng.br: dnssec-keygen -f KSK -a RSASHA1 -b 2048 -n ZONE foo.eng.br Onde, -f : Dene o tipo da chave -a : Algoritmo -b : Tamanho da chave (bits) -n : Especica o tipo de dono da chave -r : Device de randomizao ca Em determinados ambientes, onde a gerao de chaves demorar muito pode ser necessrio ca a especicar o device de randomizao, como por exemplo: -r /dev/urandom ca OBS1: Guardar o nome das chaves geradas para ser usado futuramente. OBS2: Chaves geradas com dnssec-keygen no possuem passphrase. a
Apndice III e
Exemplo dos arquivos de chave (2/2)
...
OBS
Antes de assinar a zona incremente o serial do record SOA para que ocorra a sincronizao com os servidores secundrios. ca a
111 / 118
Apndice IV e
Detalhes sobre o comando para assinar zona
Ao se assinar a zona so gerados os records RRSIG e NSEC que carAo ordenados de forma a cannica dentro do arquivo de zona. o
BIND: dnssec-signzone
Zona foo.eng.br:
$ dnssec-signzone -S -z db.foo Onde, -S : Assinatura inteligente - busca as chaves da zona e determina como estas utilizadas -z : Ignora o bit SEP da chave e assina toda a zona -e : Data de expirao das assinaturas (formato AAAAMMDDHHMMSS) - Se no ca a informado considerado 30 dias e o ultimo parmetro se refere ao arquivo de zona a
Gerao de records DS ca
No momento em que se assina uma zona gerado um arquivo contendo o Records DS que ser e a utilizado para as delegaes. co o arquivo gerado neste exemplo: dsset-foo.eng.br.
112 / 118
Apndice V e
Conceito de Chaves
(1/2)
113 / 118
Apndice V e
Conceito de Chaves
(2/2)
Lembrete
O record DNSKEY pode armazenar tanto a chave pblica de uma KSK u quanto de uma ZSK O record RRSIG armazena a assinatura de um RRset realizada tanto por uma KSK quanto por uma ZSK
114 / 118
Apndice V e
Conceito de Chaves
(2/2)
Lembrete
O record DNSKEY pode armazenar tanto a chave pblica de uma KSK u quanto de uma ZSK O record RRSIG armazena a assinatura de um RRset realizada tanto por uma KSK quanto por uma ZSK
Trabalhando com uma unica chave! Entretanto aconselhavl a utilizao de somente uma unica chave. e e ca
Mais informaes sobre como proceder no slide 117. co
114 / 118
Apndice VI e
Incluso dos Records DS das delegaoes a c
Caso existam zonas delegadas que utilizem DNSSSEC dentro do seu dom nio, os Records DS destas zonas devem ser adicionados no arquivo de zona
Exemplo
SHA1 abc.foo.eng.br. SHA256 abc.foo.eng.br. IN DS 3112 5 1 386B4390C5B30DB65D74EA8B660978077171948C IN DS 3112 5 2 19602F6089F8877E037AA077B8376F30869E261EB55460F2A74E32AD1424F53A
foo.eng.br IN SOA ns1.foo.eng.br. hostmaster.foo.eng.br. ( 3 ; serial 3600 ; refresh (1 hour) 3600 ; retry (1 hour) 3600 ; expire (1 hour) 900 ; minimum (15 minutes) ) foo.eng.br. IN NS ns1.foo.eng.br. foo.eng.br. IN NS ns2.foo.eng.br. ... abc.foo.eng.br. IN DS 3112 5 1 386B4390C5B30DB65D74EA8B660978077171948C
OBS
A zona deve ser re-assinada aps incluir o record DS o
115 / 118
Referncias e
RFC 2671 Extension Mechanisms for DNS (EDNS0) RFC 2845 Secret Key Transaction Authentication for DNS (TSIG) RFC 4033 DNS Security Introduction and Requirements (DNSSEC-bis) RFC 4034 Resource Records for the DNS Security Extensions (DNSSEC-bis) RFC 4035 Protocol Modications for the DNS Security Extensions (DNSSEC-bis) RFC 4431 The DNSSEC Lookaside Validation (DLV) DNS Resource Record RFC 4470 Minimally Covering NSEC Records and DNSSEC On-line Signing RFC 4641 DNSSEC Operational Practices RFC 5155 DNSSEC Hashed Authenticated Denial of Existence
116 / 118
Referncias e
DNSSEC.NET http://www.dnssec.net DNSSHIM http://www.registro.br/dnsshim Wikipdia - DNSSEC e http://pt.wikipedia.org/wiki/DNSSEC Wikipdia - Comparao entre softwares de servidores DNS e ca http://en.wikipedia.org/wiki/Comparison of DNS server software Firewalls e DNS, como e porque congurar corretamente ftp://ftp.registro.br/pub/doc/dns-fw.pdf Recomendaes para Evitar o Abuso de Servidores DNS Recursivos Abertos co http://www.cert.br/docs/whitepapers/dns-recursivo-aberto FAQ - Registro.br (Perguntas Frequentes) http://registro.br/suporte/faq A ultima verso do tutorial de DNSSEC pode ser encontrada em a ftp://ftp.registro.br/pub/doc/tutorial-dnssec.pdf DNSSEC Olaf Kolkman (RIPE NCC/NLnet Labs) http://www.nlnetlabs.nl/dnssec howto
117 / 118
Obrigado!
118 / 118