Sei sulla pagina 1di 132

Tutorial DNSSEC

David Robert Camargo de Campos Rafael Dantas Justo


<tutorial-dnssec@registro.br> Registro.br

30 de setembro de 2010

1 verso 1.7.1 (Revision: 6538 ) a A ultima verso deste tutorial pode ser encontrada em: ftp://ftp.registro.br/pub/doc/tutorial-dnssec.pdf a 1 / 126

Objetivos

Introduzir os conceitos de DNSSEC Apresentar um exemplo prtico de DNSSEC utilizando BIND a Incentivar a utilizao de DNSSEC ca

2 / 126

Cronograma

DNS Conceitos Publicao ca Arquitetura Vulnerabilidades DNSSEC Conceitos Resource Records Funcionamento DNS Vs DNSSEC

Softwares Implementao ca Conguraoes c DNSSEC com BIND Resumo Prtico a Referncias e

3 / 126

Parte I Conceitos de DNS e DNSSEC

4 / 126

DNS - Domain Name System


O Sistema de Nomes de Dom um banco de dados distribu nio e do. Isso permite um controle local dos segmentos do banco de dados global, embora os dados em cada segmento estejam dispon veis em toda a rede atravs de um esquema cliente-servidor. e - Arquitetura hierrquica, dados dispostos em uma rvore invertida a a - Distribu ecientemente, sistema descentralizado e com cache da - O principal propsito a resoluo de nomes de dom em o e ca nio endereos IP e vice-versa c

exemplo.foo.eng.br www.cgi.br www.registro.br

200.160.10.251 200.160.4.2 2001:12:0:2::3

5 / 126

Hierarquia

DNS database

"."

UNIX lesystem

br eng foo tutorial


tutorial.foo.eng.br

usr local bin imake


/usr/local/bin/imake

6 / 126

Dom Vs Zona nio


"."
Delegao

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 / 126

Registro de dom nios (.br)

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 / 126

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

EPP - Extensible Provisioning Protocol


E uma interface destinada somente a provedores de servio previamente c certicados pelo Registro.br.
http://registro.br/epp/

9 / 126

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 / 126

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 / 126

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

Alguns Tipos Comuns de Records


SOA NS A AAAA MX CNAME

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)

Indica um mail exchanger para um nome


(apelido)

Apndice II - CNAME e 11 / 126

Exemplo de records de uma zona


Arquivo de zona - Possui os RRs referentes a um determinado dom nio, sendo que cada dom possui um arquivo de zona. nio
foo.eng.br. IN SOA ns1.foo.eng.br. hostmaster.foo.eng.br. ( 1 ; serial 3600 ; refresh Apndice I - SOA e 3600 ; retry 3600 ; expire 900 ) ; minimum foo.eng.br. IN NS ns1.foo.eng.br. foo.eng.br. IN NS ns2.foo.eng.br. tutorial.foo.eng.br. IN NS ns1.tutorial.foo.eng.br tutorial.foo.eng.br. IN NS ns2.tutorial.foo.eng.br ns1.foo.eng.br. IN A 200.160.3.97 ns2.foo.eng.br. IN A 200.160.10.251 ns1.tutorial.foo.eng.br. IN A 200.160.3.97 ns2.tutorial.foo.eng.br. IN A 200.160.10.251 exemplo.foo.eng.br. IN A 200.160.10.251
12 / 126

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 / 126

Exemplo de requisio de endereo ca c


Supondo que o cache est vazio ou a sem informaoes de c br, eng.br, foo.eng.br, exemplo.foo.eng.br

Resolver
Servio localizado c no cliente que tem como responsabilidade resolver as requisioes DNS c para diversos aplicativos
14 / 126

Exemplo de requisio de endereo ca c


Supondo que o cache est vazio ou a sem informaoes de c br, eng.br, foo.eng.br, exemplo.foo.eng.br

15 / 126

Exemplo de requisio de endereo ca c

16 / 126

Exemplo de requisio de endereo ca c

17 / 126

Exemplo de requisio de endereo ca c

18 / 126

Exemplo de requisio de endereo ca c

19 / 126

Exemplo de requisio de endereo ca c

Servidor DNS Autoritativo


r g.b ? s re ido .br

"."

em ex

n o.e .fo plo n re

se cia

rv

fe Re

Servidor DNS Recursivo

exemplo.foo.eng.br ? Referencia servidores foo.eng.br

Servidor DNS Autoritativo

BR

ENG

ex em

plo .fo o.e n

Resolver

exemplo.foo.eng.br ?

g.b

r?

Servidor DNS Autoritativo

FOO

TUTORIAL

20 / 126

Exemplo de requisio de endereo ca c

Servidor DNS Autoritativo


r g.b ? s re ido .br

"."

em ex

n o.e .fo plo n re

se cia

rv

fe Re

Servidor DNS Recursivo

exemplo.foo.eng.br ? Referencia servidores foo.eng.br

Servidor DNS Autoritativo

BR

ENG

ex em

20

0.1

plo .fo o.e n .10 .25

Resolver

exemplo.foo.eng.br ?

60

g.b

r?

Servidor DNS Autoritativo

FOO

TUTORIAL

21 / 126

Exemplo de requisio de endereo ca c

Servidor DNS Autoritativo


r g.b ? s re ido .br

"."

em ex

n o.e .fo plo n re

se cia

rv

fe Re

Servidor DNS Recursivo

exemplo.foo.eng.br ? Referencia servidores foo.eng.br

Servidor DNS Autoritativo

BR

ENG

ex em

20

0.1

plo .fo o.e n .10 .25

exemplo.foo.eng.br ?

60

g.b

200.160.10.251

r?

Servidor DNS Autoritativo

FOO

TUTORIAL

Resolver

22 / 126

Exemplo de requisio de endereo ca c

Servidor DNS Autoritativo


r g.b ? s re ido .br

"."

em ex

n o.e .fo plo n re

se cia

rv

fe Re

Servidor DNS Recursivo

exemplo.foo.eng.br ? Referencia servidores foo.eng.br

Servidor DNS Autoritativo

BR

ENG

ex em

20

0.1

plo .fo o.e n .10 .25

exemplo.foo.eng.br ?

60

g.b

200.160.10.251

r?

Servidor DNS Autoritativo

FOO

TUTORIAL

Resolver

23 / 126

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 / 126

Vulnerabilidades

25 / 126

Soluoes c

26 / 126

Exemplo de Ataque 1
Man-in-The-Middle

Resolver

27 / 126

Exemplo de Ataque 1
Man-in-The-Middle

Atacante

Servidor DNS Recursivo

Resolver

exemplo.foo.eng.br ?

28 / 126

Exemplo de Ataque 1
Man-in-The-Middle

O atacante responde mais rpido, spoofando endereo do recursivo a c

Atacante

Servidor DNS Recursivo

exemplo.foo.eng.br ?

( ) 0 1 2 ( 3 ( 4 5 (
. . .

Resolver

29 / 126

Exemplo de Ataque 1
Man-in-The-Middle

O atacante responde mais rpido, spoofando endereo do recursivo a c

Servidor DNS Autoritativo

"."

Atacante

Servidor DNS Recursivo

Servidor DNS Autoritativo

BR

ENG

exemplo.foo.eng.br ?


. . .

20 . 6.2 2.1 2

C D E F

Servidor DNS Autoritativo

FOO

TUTORIAL

Resolver

30 / 126

Exemplo de Ataque 2
Poluio de Cache ca

31 / 126

Exemplo de Ataque 2
Poluio de Cache ca

32 / 126

Exemplo de Ataque 2
Poluio de Cache ca

33 / 126

Exemplo de Ataque 2
Poluio de Cache ca

34 / 126

Exemplo de Ataque 2
Poluio de Cache ca

O atacante responde mais rpido, spoofando endereo do autoritativo a c

35 / 126

Exemplo de Ataque 2
Poluio de Cache ca

O atacante responde mais rpido, spoofando endereo do autoritativo a c

Servidor DNS Autoritativo

"."

Servidor DNS Recursivo

Servidor DNS Autoritativo

BR

ex em

ENG

plo .fo o.e n

g.b

r?

20 7. 46 .2 32 .1 82

Servidor DNS Autoritativo

FOO

TUTORIAL

Resolver Atacante

36 / 126

Exemplo de Ataque 2
Poluio de Cache ca

O atacante responde mais rpido, spoofando endereo do autoritativo a c

Servidor DNS Autoritativo

"."

Servidor DNS Recursivo

Servidor DNS Autoritativo

BR

ex em

ENG

plo .fo o.e n

g.b

r?

Resolver Atacante

20 7. 46 .2 32 .1 82

20

0.1

60

.10

.2

Servidor DNS Autoritativo

FOO

TUTORIAL

37 / 126

Ambientes Prop cios

Segmentos compartilhados L2 ponto-multiponto Ethernet (no bridge 802.1d) a Ethernet Wireless (802.11)

38 / 126

Ambientes Prop cios

Segmentos compartilhados L2 ponto-multiponto Ethernet (no bridge 802.1d) a Ethernet Wireless (802.11)

Ateno muito cuidado em conferncias ! ca e

38 / 126

Soluoes c
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 / 126

Soluoes c
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 / 126

DNSSEC Domain Name System SECurity extensions

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 / 126

Garantias de DNSSEC

O que garante?
Origem (Autenticidade) Integridade A no existncia de um nome ou tipo a e

41 / 126

Garantias de DNSSEC

O que garante?
Origem (Autenticidade) Integridade A no existncia de um nome ou tipo a e

O que NAO garante?


Condencialidade Proteo contra ataques de negao de servio (DOS) ca ca c

41 / 126

Avano de DNSSEC no Mundo c

fonte: http://www.xelerance.com/dnssec/

42 / 126

Utilizao de DNSSEC ca

Quem pode utilizar DNSSEC abaixo do .br?


Todos os dom nios abaixo do .br podem (e devem) utilizar DNSSEC.
Mais informaes podem ser obtidas no site http://www.registro.br/dominio/dpn.html co

43 / 126

Utilizao de DNSSEC ca

Quem pode utilizar DNSSEC abaixo do .br?


Todos os dom nios abaixo do .br podem (e devem) utilizar DNSSEC.
Mais informaes podem ser obtidas no site http://www.registro.br/dominio/dpn.html co

Onde DNSSEC Obrigatrio? e o


E obrigatrio nos registros que estiverem diretamente abaixo dos dom o nios .B.BR e .JUS.BR

43 / 126

Chaves Assimtricas e

DNSSEC utiliza o conceito de chaves assimtricas e


chave pblica e chave privada u
44 / 126

Chaves Assimtricas e

DNSSEC utiliza o conceito de chaves assimtricas e


chave pblica e chave privada u
45 / 126

Novos Resource Records

DNSKEY Chave pblica u 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 / 126

DNSKEY
E um resource record que armazena a chave pblica da zona u

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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Flags | Protocol | Algorithm | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ / / / Public Key / / / +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Exemplo
foo.eng.br. 900 IN DNSKEY 256 3 5 ( AwEAAeZPN2yMs9q6kgYjFUblEwjCnWWcPq+TGcJrD5ga XXAbP5MAqIkgZ5J4TU1mmpL1A8gMfd/wUmBkVipXR8FK HRajBZSRfgeKnKaQtrxNZ32Ccts2F6Ylv9WaLXtiqebg OZtuJFpQr6pnIt/FoOI+I7BUSNrX28VTq4jXu/qTrmM/ ) ; key id = 62745

47 / 126

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 / 126

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 / 126

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

A zona Pai tem autoridade pelo registro DS


Os registros NS so apenas hints e no so autoritativos no Pai a a a O record DS no deve aparecer no Filho a

50 / 126

DS
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

51 / 126

DS

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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Key Tag | Algorithm | Digest Type | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ / / / Digest / / / +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Exemplo
foo.eng.br. IN DS 817 5 1 EAEC29E4B0958D4D3DFD90CC70C6730AD5880DD3

52 / 126

DS
E poss obter os DS da zona utilizando o sistema Whois. vel

Exemplo de DS pelo Whois


$ whois foo.eng.br domain: foo.eng.br owner: Frederico A. C. Neves address: Av. das Nacoes Unidas, 11541, 7 andar address: 04578-000 - S~o Paulo - SP a country: BR owner-c: FAN admin-c: FAN tech-c: FAN billing-c: FAN nserver: dixit.foo.eng.br 200.160.7.134 nsstat: 20070619 AA nslastaa: 20070619 nserver: sroot.dns.br nsstat: 20070619 AA nslastaa: 20070619 ds-record: 6928 RSA/SHA-1 CA7D9EE79CC37D8DC8011F33D330436DF76220D1 created: 20000103 #237812 expires: 20080103 changed: 20070604 status: published

53 / 126

NSEC - Next Secure


Permite autenticar uma resposta negativa Prximo nome seguro o Indica os tipos de RRsets existentes Ultimo registro da zona aponta para o primeiro (SOA)
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ / Next Domain Name / +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ / Type Bit Maps / +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

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 / 126

NSEC

- Simulao nome no existente ca a

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 / 126

NSEC

- Simulao tipo no existente ca a

Resposta NOERROR + sem resposta

(ANSWER = 0)

- O registro NSEC prova que o tipo consultado no existe a


$ dig @200.160.10.251 foo.eng.br TXT +dnssec ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 60466 ;; flags: qr aa rd; QUERY: 1, ANSWER: 0, AUTHORITY: 4, ADDITIONAL: 1 ;; QUESTION SECTION: ;foo.eng.br. IN TXT ;; AUTHORITY 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= 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=

56 / 126

NSEC

- Simulao nome existente ca

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 / 126

NSEC3

- DNSSEC Hashed Authenticated Denial of Existence

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 / 126

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 / 126

DNSSEC no PKI a e

No existem Certicados a
(Certication Authority, Service Level Agreement, Certicate Revogation List)

Chaves nunca expiram Assinaturas tm prazo de validade e


(inception e expiration do RRSIG)

Pol ticas das chaves so locais ` zona a a

60 / 126

Ancorar Chave - Servidor Recursivo

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.

Obtendo a chave a ser ancorada da zona . (raiz)


https://data.iana.org/root-anchors/

61 / 126

Exemplo
O resolver recursivo j a possui a chave pblica u da zona . (raiz) ancorada

62 / 126

Exemplo

63 / 126

Exemplo

64 / 126

Exemplo

65 / 126

Exemplo

66 / 126

Exemplo

67 / 126

Exemplo

68 / 126

Exemplo

69 / 126

Exemplo
O servidor DNS responde enviando DNSKEY e o RRSIG

70 / 126

Exemplo
Compara a trusted-key com a DNSKEY, caso for vlida continua a com as requisioes c

71 / 126

Exemplo

72 / 126

Exemplo
Retorna sem resposta, mas com referncia e para os Records:
- NS do foo.eng.br

e com autoridade sobre os Records:


- DS do foo.eng.br - RRSIG do Record DS

73 / 126

Exemplo
O servidor DNS recursivo utiliza a DNSKEY para checar a assinatura (RRSIG) do Record DS

74 / 126

Exemplo

75 / 126

Exemplo

76 / 126

Exemplo
O servidor DNS recursivo verica atravs do DS e da e DNSKEY, se este servidor DNS vlido. e a

77 / 126

Exemplo

Servidor DNS Autoritativo


g.b r? s re ido .br

em ex

n o.e .fo plo n re

se cia

rv

fe Re

Servidor DNS Recursivo

exemplo.foo.eng.br ? Referencia servidores foo.eng.br

Servidor DNS Autoritativo

ex em

plo .fo o.e n

Resolver





exemplo.foo.eng.br ?

g.b

r?

Servidor DNS Autoritativo


Autoritativo sobr .ENG. IAL.FOO.ENG.BR

78 / 126

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

Servidor DNS Recursivo

exemplo.foo.eng.br ? Referencia servidores foo.eng.br

Servidor DNS Autoritativo

ex em

plo .fo o.e n . .

Resolver

7

7

88&%$#@8!"!


Servidor DNS Autoritativo
Autoritativo sobre o FOO.ENG. .ENG.

    

exemplo.foo.eng.br ?

g.b

r?

79 / 126

Exemplo
O servidor DNS recursivo utiliza a DNSKEY para checar a assinatura (RRSIG) do Record A

Servidor DNS Autoritativo


g.b r? s re ido .br

em ex

n o.e .fo plo n re

se cia

rv

fe Re

Servidor DNS Recursivo

exemplo.foo.eng.br ? Referencia servidores foo.eng.br

Servidor DNS Autoritativo

ex em

Resolver

HG

HG

RRWVUTSHRPQP I

9B '6
Servidor DNS Autoritativo
Autoritativo sobre o FOO.ENG. .ENG.

96 A9
.

plo .fo o.e n .

66 '

exemplo.foo.eng.br ?

g.b

r?

80 / 126

Exemplo

81 / 126

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 / 126

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 conguraoes de Firewall. e a c

Recomendao ca
Firewalls e DNS, como e porque congurar corretamente ftp://ftp.registro.br/pub/doc/dns-fw.pdf
83 / 126

DNS Vs DNSSEC
Diferenas entre uma requisio DNS e uma requisiao DNSSEC: c ca c

8 Pacotes X Bytes a

12 Pacotes 6X Bytesa Diferena proporcional ao tamanho da chave c

84 / 126

Parte II Utilizando DNSSEC na Prtica a

85 / 126

Softwares
Compatibilidade DNSSEC
DNSSEC bisa NSEC3b Autoritativo Recursivo Caching TSIG IPv6

ANS BIND djbdns DNSSHIM IPControl IPM DNS MaraDNS Microsoft DNS NSD PowerDNS Unbound Vantio VitalQIP
a b c d

RFC 5011

Verso atual do protocolo a 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 / 126

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 / 126

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 / 126

Softwares
Ferramenta para consultas DNS

DIG (Domain Information Groper)


Uma ferramenta para consultas sobre registros DNS
para validao da cadeia de conana ca c e necessrio compilar com a opo sigchase a ca habilitada

DRILL
Uma ferramenta similar ao DIG com suporte nativo a DNSSEC
at a verso 1.2.0 da ldns o DRILL no e a a tinha suporte a validao de Records ca CNAME

89 / 126

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

Erro ao iniciar o servio ISC BIND c


Acesse a propriedade do servio, e na aba Log On selecione a opo c ca Local System account

90 / 126

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 / 126

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 / 126

Softwares
DNSSHIM - DNS Secure Hidden Master

93 / 126

Demonstrao prtica ca a
1

Congurao BIND ca
a Arquivo de zona b named.conf

2 3 4 5

Teste Consulta de Record Registro de dom atualizao dos nameservers nio ca Aguardar nova publicao ca Congurao DNSSEC no BIND ca
a b c d Gerao da chave ca Atualizao do arquivo de zona ca Assinatura da zona Atualizao do named.conf ca

6 7 8 9

Teste Consulta de Record com DNSSEC Atualizao do Record DS no cadastro do dom ca nio Aguardando nova publicao ca Teste Validao da cadeia de conana ca c
94 / 126

Ambiente de Testes

95 / 126

Arquivo de Zona

Arquivo db.foo
foo.eng.br. IN SOA ns1.foo.eng.br. hostmaster.foo.eng.br. ( 1 ; serial 3600 ; refresh 3600 ; retry 3600 ; expire 900 ) ; minimum foo.eng.br. IN NS ns1.foo.eng.br. foo.eng.br. IN NS ns2.foo.eng.br. tutorial.foo.eng.br. IN NS ns2.tutorial.foo.eng.br. tutorial.foo.eng.br. IN NS ns1.tutorial.foo.eng.br. ns1.foo.eng.br. IN A 200.160.3.97 ns2.foo.eng.br. IN A 200.160.10.251 ns1.tutorial.foo.eng.br. IN A 200.160.3.97 ns2.tutorial.foo.eng.br. IN A 200.160.10.251 exemplo.foo.eng.br. IN A 200.160.10.251

96 / 126

named.conf (master)
options { directory "/etc/namedb"; pid-file "/var/run/named/pid"; dump-file "/var/dump/named dump.db"; statistics-file "/var/stats/named.stats"; listen-on { 200.160.10.251; }; }; zone "foo.eng.br" { type master; file "/etc/namedb/db.foo"; allow-transfer { 200.160.3.97; }; }; zone "tutorial.foo.eng.br" { type master; file "/etc/namedb/db.tutorial.foo"; allow-transfer { 200.160.3.97; }; };

97 / 126

named.conf (slave)
options { directory "/etc/namedb"; pid-file "/var/run/named/pid"; dump-file "/var/dump/named dump.db"; statistics-file "/var/stats/named.stats"; listen-on { 200.160.3.97; }; }; zone "foo.eng.br" { type slave; file "/etc/namedb/db.foo"; masters { 200.160.10.251; }; }; zone "tutorial.foo.eng.br" { type slave; file "/etc/namedb/db.tutorial.foo"; masters { 200.160.10.251; }; };

98 / 126

Teste - Consulta de record


Zona foo.eng.br
dig @200.160.10.251 foo.eng.br soa +noadditional +multiline ; <<>> DiG 9.3.3 <<>> @200.160.10.251 foo.eng.br soa +noadditional +multiline ; (1 server found) ;; global options: printcmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 40573 ;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2 ;; QUESTION SECTION: ;foo.eng.br. IN SOA ;; ANSWER SECTION: foo.eng.br. 900 IN SOA ns1.foo.eng.br. hostmaster.foo.eng.br. ( 1 ; serial 3600 ; refresh (1 hour) 3600 ; retry (1 hour) 3600 ; expire (1 hour) 900 ; minimum (15 minutes) ) ;; AUTHORITY SECTION: foo.eng.br. 900 IN NS ns1.foo.eng.br. foo.eng.br. 900 IN NS ns2.foo.eng.br. ;; Query time: 1 msec ;; SERVER: 200.160.10.251#53(200.160.10.251) ;; WHEN: Wed May 23 16:05:56 2007 ;; MSG SIZE rcvd: 143

99 / 126

Registro de dom nios

100 / 126

Registro de dom nios

101 / 126

Registro de dom nio


Delegaoes DNS c

102 / 126

Aguardando nova publicao ca

Aps estes procedimentos necessrio o e a aguardar uma nova publicao ca

103 / 126

Gerao da chave 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 randomizaao, como por exemplo: -r /dev/urandom c OBS1: Guardar o nome das chaves geradas para ser usado futuramente. OBS2: Chaves geradas com dnssec-keygen no possuem passphrase. a

Exemplo de Tamanho de chaves


BR: 1280 bits
104 / 126

Exemplo de arquivos de chaves


Chave pblica (.key) u
foo.eng.br. IN DNSKEY 257 3 5 AwEAAdDaICi4nCQX+dC+kkGlGmi7+Pjww4O5WYZtt+oe1RG329H2+k0Y XhYiZx7tLULD8Fn3DtBC hGTeFND+gCBj0vFS9MEjxHIkD2gtt3fFIbqN /sQIHDjNGr1M6aFngKxWTENWqkl71hT9jOEvzsLOD+deFDge4sDF5qOQ 4D8njiqIIqDsU kt3I1cJoFtP9k9RPIijxWdILWuKgh7nEvKpX7eOEuXO YK1W88Av9ctpm3y6lzbsWC0K4OIl7nGTB+qMCbt/ZdYMwcaVuTBHQpEUKNVuq3m FGj1MxwtadBimmqq+YhleGzn21x0CYmsStwNUAWcb/H9Sqg0G F3CVcH0t86k=

Chave privada (.private)


Private-key-format: v1.2 Algorithm: 5 (RSASHA1) Modulus: 0NogKLicJBf50L6SQaUaaLv4+PDDg7lZhm236h7VEbfb0fb6TRheFiJnHu0tQsPwWfcO0EKEZN4U0P6AIGPS8VL0wSPEciQPaC 23d8Uhuo3+xAgcOM0avUzpoWeArFZMQ1aqSXvWFP2M4S/Ows4P514UOB7iwMXmo5DgPyeOKogioOxSS3cjVwmgW0/2T1E8iKPFZ0gta4qCH ucS8qlft44S5c5grVbzwC/1y2mbfLqXNuxYLQrg4iXucZMH6owJu39l1gzBxpW5MEdCkRQo1W6reYUaPUzHC1p0GKaaqr5iGV4bOfbXHQJi axK3A1QBZxv8f1KqDQYXcJVwfS3zqQ==

...

OBS
Antes de assinar a zona incremente o serial do record SOA para que ocorra a sincronizao com os servidores secundrios. ca a

105 / 126

Assinar as zonas
Ao se assinar a zona so gerados os records RRSIG e NSEC que caro ordenados de forma a 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 sero utilizadas a -z : Ignora o bit SEP da chave e assina toda a zona -e : Data de expirao das assinaturas (formato AAAAMMDDHHMMSS) ca Se no informado considerado 30 dias a e o ltimo parmetro se refere ao arquivo de zona u 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 delegaoes. c o arquivo gerado neste exemplo: dsset-foo.eng.br.

106 / 126

Atualizao do named.conf ca

Necessrio atualizar no Master a

Alterao da referncia para o arquivo de zona ca e


zone "foo.eng.br" { type master; file "/etc/namedb/db.foo.signed"; allow-transfer { 200.160.3.97; }; };

107 / 126

Ancorando a chave da Zona . (Recursivo)


Obtendo a chave a ser ancorada (raiz)
https://registro.br/dominio/root-anchor.html
1 2

3 4

Instalar o BIND, mantendo as conguraes padro co a No arquivo named.conf, denir dnssec-validation yes (BIND 9.4 ou superior) nas opes co Obtenha a chave pblica da zona . (raiz) u Inserir a chave pblica no bloco denominado managed-keys no u arquivo named.conf

Importante - Servidores DNS recursivos com DNSSEC


Os dom nios com.br e org.br utilizam a extenso NSEC3 a Para validar dom nios com DNSSEC - NSEC3 necessrio possuir e a BIND a partir da verso 9.6.0 ou o Unbound a partir da verso 1.2.0 a a A chave ancorada ser automaticamente trocada ao ocorrer um a rollover da chave da raiz, conforme a RFC 5011
108 / 126

Ancorando a chave da Zona . (Recursivo)


Exemplo de incluso de uma Chave a
options { directory "/etc/namedb"; pid-file "/var/run/named/pid"; dump-file "/var/dump/named dump.db"; statistics-file "/var/stats/named.stats"; dnssec-validation yes; # BIND 9.4 ou superior listen-on { 200.160.3.102; }; }; managed-keys { . initial-key 257 3 8 "AwEAAagAIKlVZrpC6Ia7gEzahOR+9W29euxhJhVVLOyQ bSEW0O8gcCjFFVQUTf6v58fLjwBd0YI0EzrAcQqBGCzh /RStIoO8g0NfnfL2MTJRkxoXbfDaUeVPQuYEhg37NZWA JQ9VnMVDxP/VHL496M/QZxkjf5/Efucp2gaDX6RS6CXp oY68LsvPVjR0ZSwzz1apAzvN9dlzEheX7ICJBBtuA6G3 LQpzW5hOA2hzCTMjJPJ8LbqF6dsV6DoBQzgul0sGIcGO Yl7OyQdXfZ57relSQageu+ipAdTTJ25AsRTAoub8ONGc LmqrAmRLKBP1dfwhYB4N7knNnulqQxA+Uk1ihz0="; }; ...

109 / 126

Teste - Consulta de record com DNSSEC


Zona foo.eng.br
dig @200.160.10.251 foo.eng.br soa +dnssec +noadditional +multiline ;; ANSWER SECTION: foo.eng.br. 900 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. 900 IN RRSIG SOA 5 3 900 20070617200428 ( 20070518200428 62745 foo.eng.br. glEeCYyd/CCBfzH64y0RAQf9OxYDsI4xuBNaam+8DZQZ xeoSLQEEtwmp6wBtQ7G10wSM9nEjRRhbZdNPNKJMp2PE lLLgLI+BLwdlz0t8MypcpLOaTm9rc7pP7UR5XLzU1k8D m6ePW1bNkId7i0IPSghyoHM7tPVdL2GW51hCujA= ) ;; 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+1JZlpjEzj U1Uj0HUOHefajXzMv7FlFMWYeU51Ybg49HFe67XQVlK5 4GeAFXWB7YS59yODLoNEBxQl9QEy6g/OOnLpuKTrST8q qd5Fc/eYqN/Ag3GnfcAviZgiQhhveGH9mJHWZyc= )

110 / 126

DS Check

Calcula o record DS a partir da DNSKEY


111 / 126

Atualizao do registro de dom ca nios incluindo o DS


Apartir do arquivo dsset-foo.eng.br.

112 / 126

Aguardando nova publicao ca

Aps estes procedimentos necessrio o e a aguardar uma nova publicao ca

113 / 126

Roteiro - Congurar um Servidor Autoritativo


1 2

Instalar BIND nos servidores Congurar os arquivos de zona e named.conf no servidor Master e named.conf no servidores Slave Executar o BIND (named) no servidores Master e Slave Atualizar o registrar do dom nio (com os records NS) e aguardar publicao ca Realizar testes no servidor (DIG) Criar chave (dnssec-keygen)
(slide 109) (slide 111) (slide 112)

3 4 5

6 7 8 9 10 11

Assinar a zona (dnssec-signzone)

Atualizar o named.conf do servidor Master para utilizar o arquivo de zona .signed Restartar o BIND (named) no servidores Master Adicionar no pai o record DS Aguardar nova publicao ca
(slide 117)

114 / 126

Roteiro - Congurar um Servidor Recursivo

1 2 3 4 5

Instalar BIND (com a biblioteca OpenSSL) Obter a chave do site da IANA


(slide 113) (slide 114)

Congurar o arquivo named.conf habilitando DNSSEC-VALIDATION Incluir a managed-key no arquivo named.conf Executar o BIND (named)
(slide 114)

Recomendao ca
Recomendaoes para Evitar o Abuso de Servidores DNS Recursivos Abertos c http://www.cert.br/docs/whitepapers/dns-recursivo-aberto/

115 / 126

Roteiro - Teste da Cadeia de Conana c

1 2 3 4

Instalar BIND com sigchase Obter a chave do site da IANA


(slide 113)

Incluir a chave no arquivo /etc/trusted-key.key Realizar testes no servidor (DIG +sigchase)

116 / 126

Roteiro - Informaoes Importantes c

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

Servidor Recursivo
A chave ancorada ser automaticamente trocada conforme a RFC 5011 a

117 / 126

Perguntas?
Fim da Apresentao ca Referncias e

118 / 126

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

119 / 126

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, ou SOA s devem se referir a um record o A. 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 120 / 126

Apndice III e
Conceito de Chaves
(1/2)

Por que existem dois tipos de chave?


Permite substituir uma chave de uso frequente (ZSK) sem ter a necessidade de modicar o DS do parent (hash da KSK) Permite criar uma chave de tamanho menor para criar assinaturas menores

Key Signing Key (KSK)


As chaves utilizadas para assinar as chaves da zona. Assinam apenas os RRsets do tipo DNSKEY possui o ag bit SEP ligado

Zone Signing Key (ZSK)


As chaves utilizadas para assinar RRsets da zona sobre o qual tem autoridade

121 / 126

Apndice III 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

122 / 126

Apndice III 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 nica chave! u Entretanto aconselhavl a utilizao de somente uma unica chave. e e ca
Mais informaoes sobre como proceder no slide 111. c

122 / 126

Apndice IV e
Incluso dos Records DS das delegaes a co

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 tutorial.foo.eng.br. IN DS 3112 5 1 386B4390C5B30DB65D74EA8B660978077171948C SHA256 tutorial.foo.eng.br. 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. ... tutorial.foo.eng.br. IN DS 3112 5 1 386B4390C5B30DB65D74EA8B660978077171948C

OBS
A zona deve ser re-assinada aps incluir o record DS o
123 / 126

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
124 / 126

Referncias e
Tutoriais de DNS e DNSSEC - Registro.br http://registro.br/suporte/tutoriais/dnssec.html 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 Recomendaoes para Evitar o Abuso de Servidores DNS Recursivos Abertos c http://www.cert.br/docs/whitepapers/dns-recursivo-aberto 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
125 / 126

Obrigado!

126 / 126

Potrebbero piacerti anche