SlideShare ist ein Scribd-Unternehmen logo
1 von 55
Downloaden Sie, um offline zu lesen
DNS, DNSSEC e Boas Pr´aticas
David Robert Camargo de Campos
Wilson Rogerio Lopes
<tutorial-dnssec@registro.br>
Registro.br
21 de outubro de 2010
1 / 54
DNS - Domain Name System
O Sistema de Nomes de Dom´ınio ´e um banco de dados distribu´ı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
atrav´es de um esquema cliente-servidor.
- Arquitetura hier´arquica
- Distribu´ıda eficientemente, sistema descentralizado e com cache
- O principal prop´osito ´e a resolu¸c˜ao de nomes de dom´ınio em
endere¸cos IP e vice-versa
exemplo.foo.eng.br ←→ 200.160.10.251
www.cgi.br ←→ 200.160.4.2
www.registro.br ←→ 2001:12ff:0:2::3
2 / 54
Registro de dom´ınios (.br)
Reserva o direito da pessoa f´ısica ou jur´ıdica sobre um determinado
nome de endere¸co na Internet.
Dom´ınios n˜ao registrados n˜ao podem ser encontrados na Internet.
Sistema WEB
A interface WEB permite de maneira pr´atica gerenciar os dom´ınios de
qualquer pessoa f´ısica ou jur´ıdica.
− http://registro.br/suporte/tutoriais/novo-registro.html
3 / 54
Publica¸c˜ao quasi-on-line
O que ´e uma Publica¸c˜ao?
As modifica¸c˜oes que s˜ao realizadas pela interface de provisionamento n˜ao
s˜ao efetivadas imediatamente. A cada intervalo de tempo pr´e-determinado
ocorre uma publica¸c˜ao DNS a qual atualiza o sistema DNS.
4 / 54
Publica¸c˜ao quasi-on-line
O que ´e uma Publica¸c˜ao?
As modifica¸c˜oes que s˜ao realizadas pela interface de provisionamento n˜ao
s˜ao efetivadas imediatamente. A cada intervalo de tempo pr´e-determinado
ocorre uma publica¸c˜ao DNS a qual atualiza o sistema DNS.
As publica¸c˜oes DNS ocorrem a cada 30 minutos
No caso do registro de um novo dom´ınio ele j´a estar´a vis´ıvel na
Internet ap´os a pr´oxima publica¸c˜ao.
No caso da altera¸c˜ao de dados de um dom´ınio, ap´os a pr´oxima
publica¸c˜ao, o dom´ınio passar´a por um per´ıodo de transi¸c˜ao que
poder´a durar at´e 24 horas.
4 / 54
Tipos de servidores
Servidor Autoritativo
Ao receber requisi¸c˜oes de resolu¸c˜ao de nome, responde um endere¸co caso
possua, uma referˆencia caso conhe¸ca o caminho da resolu¸c˜ao ou uma
nega¸c˜ao caso n˜ao conhe¸ca
Servidor Recursivo
Ao receber requisi¸c˜oes de resolu¸c˜ao de nomes, faz requisi¸c˜oes para os
servidores autoritativos e conforme a resposta recebida dos mesmos
continua a realizar requisi¸c˜oes para outros servidores autoritativos at´e
obter a resposta satisfat´oria
5 / 54
Tipos de dados que podem ser armazenados
Os dados associados com os nomes de dom´ınio est˜ao contidos em
Resource Records ou RRs (Registro de Recursos)
Atualmente existe uma grande variedade de tipos
Alguns Tipos Comuns de Records
SOA Indica onde come¸ca a autoridade a zona
NS Indica um servidor de nomes para a zona
A Mapeamento de nome a endere¸co (IPv4)
AAAA Mapeamento de nome a endere¸co (IPv6)
MX Indica um mail exchanger para um nome (servidor de email)
CNAME Mapeia um nome alternativo (apelido ou indire¸c˜ao)
TXT Campo de texto livre
6 / 54
Exemplo de requisi¸c˜ao de endere¸co
Resolver
Servi¸co localizado
no cliente que tem
como
responsabilidade
resolver as
requisi¸c˜oes DNS
para diversos
aplicativos
7 / 54
Exemplo de requisi¸c˜ao de endere¸co
Supondo que o
cache est´a vazio ou
sem informa¸c˜oes
relevantes
8 / 54
Exemplo de requisi¸c˜ao de endere¸co
9 / 54
Exemplo de requisi¸c˜ao de endere¸co
10 / 54
Exemplo de requisi¸c˜ao de endere¸co
11 / 54
Exemplo de requisi¸c˜ao de endere¸co
12 / 54
Exemplo de requisi¸c˜ao de endere¸co
13 / 54
Exemplo de requisi¸c˜ao de endere¸co
14 / 54
Exemplo de requisi¸c˜ao de endere¸co
15 / 54
Exemplo de requisi¸c˜ao de endere¸co
16 / 54
Fluxo de dados
1 Resolver faz consultas no Recursivo
2 Recursivo faz consultas no Autoritativo (Master ou Slave)
3 Master tem os dados originais
4 Slave recebe os dados do Master
17 / 54
Vulnerabilidades
18 / 54
Exemplo de Ataque
Polui¸c˜ao de Cache
19 / 54
Exemplo de Ataque
Polui¸c˜ao de Cache
20 / 54
Exemplo de Ataque
Polui¸c˜ao de Cache
21 / 54
Exemplo de Ataque
Polui¸c˜ao de Cache
22 / 54
Exemplo de Ataque
Polui¸c˜ao de Cache
O atacante responde mais r´apido, spoofando endere¸co do autoritativo
23 / 54
Exemplo de Ataque
Polui¸c˜ao de Cache
O atacante responde mais r´apido, spoofando endere¸co do autoritativo
24 / 54
Exemplo de Ataque
Polui¸c˜ao de Cache
O atacante responde mais r´apido, spoofando endere¸co do autoritativo
25 / 54
DNSSEC
Domain Name System SECurity extensions
Extens˜ao da tecnologia DNS
(o que existia continua a funcionar)
Possibilita maior seguran¸ca para o usu´ario na Internet
(corrige falhas do DNS)
Garantias do DNSSEC
Origem (Autenticidade)
Integridade
26 / 54
Parte II
Como configurar DNSSEC no servidor autoritativo
27 / 54
Como configurar DNSSEC no servidor autoritativo
Objetivo
Implantar DNSSEC no servidor autoritativo para determinado dominio
Todas as opera¸c˜oes ser˜ao executadas no servidor principal (Master)
Requisitos
Bind 9.7 − http://www.isc.org/downloads
28 / 54
Passo 1 − Cria¸c˜ao de Chaves
Utiliza¸c˜ao do comando dnssec-keygen para gera¸c˜ao de chaves:
$ dnssec-keygen -r /dev/urandom -f KSK -a RSASHA1 -b 1024 -n ZONE dominio.com.br
Onde, dominio.com.br deve ser substituido pelo seu dominio.
- O comando ira gerar dois arquivos com extens˜oes .key e .private
29 / 54
Passo 2 − Assinar o dominio (arquivo de zona)
Utiliza¸c˜ao do comando dnssec-signzone para assinatura
$ dnssec-signzone -S -z -o dominio.com.br db.dominio.com.br
Onde, dominio.com.br deve ser substituido pelo nome do dominio e
db.dominio.com.br pelo nome do arquivo de zona.
- O comando ira gerar um novo arquivo de zona com a extens˜ao .signed
30 / 54
Passo 3 − Atualiza¸c˜ao do named.conf
Altera¸c˜ao da referˆencia para o arquivo de zona
zone "dominio.com.br" {
auto-dnssec maintain;
type master;
file "/etc/namedb/db.dominio.com.br";
key-directory "/etc/namedb/dominio.com.br/";
...
};
Onde, dominio.com.br deve ser substituido pelo nome do domino e
db.dominio.com.br deve ser substituido pelo nome do arquivo de zona.
31 / 54
Passo 4 − Reiniciar o Bind
Reiniciar o Bind
32 / 54
Passo 5 − Adicionar o DS no site do Registro.br
Copiar os dados de KeyTag e Digest do arquivo dsset-dominio.com.br para a
interface no site do Registro.br.
Exemplo: $ cat dsset-dominio.com.br.| head -1
KeyTag Digest
dominio.com.br IN DS 15469 5 1 5EC0184678E0B7DC3AACFFA5D0EB9DBA1F3F6C37
- Onde, dominio.com.br deve ser substituido pelo nome do domino
33 / 54
Passo 6 − Aguardar nova publica¸c˜ao
Aguardar nova publica¸c˜ao no site do Registro.br
34 / 54
Roteiro − Configurar um Servidor Autoritativo
1 Criar chave (dnssec-keygen) (slide 30)
2 Assinar a zona (dnssec-signzone) (slide 31)
3 Modificar o named.conf (slide 32)
4 Restartar o BIND (named) no servidores Master
5 Adicionar o DS no site do Registro.br (slide 34)
6 Aguardar nova publica¸c˜ao
35 / 54
Parte III
Como configurar DNSSEC no servidor recursivo
36 / 54
Como configurar DNSSEC no servidor recursivo
Objetivo
Implamntar DNSSEC no servidor recursivo
Requisitos
Bind 9.7 − http://www.isc.org/downloads
37 / 54
Passo 1 − Obtendo a chave a da raiz da Internet
Como obter a chave da raiz no formato do Bind
https://registro.br/dominio/root-anchor.html
Exemplo de resultado:
. initial-key 257 3 8 "AwEAAagAIKlVZrpC6Ia7gEzahOR+9W29euxhJhVVLOyQbSEW0O8gcCjF
FVQUTf6v58fLjwBd0YI0EzrAcQqBGCzh/RStIoO8g0NfnfL2MTJRkxoX
bfDaUeVPQuYEhg37NZWAJQ9VnMVDxP/VHL496M/QZxkjf5/Efucp2gaD
X6RS6CXpoY68LsvPVjR0ZSwzz1apAzvN9dlzEheX7ICJBBtuA6G3LQpz
W5hOA2hzCTMjJPJ8LbqF6dsV6DoBQzgul0sGIcGOYl7OyQdXfZ57relS
Qageu+ipAdTTJ25AsRTAoub8ONGcLmqrAmRLKBP1dfwhYB4N7knNnulq
QxA+Uk1ihz0=";
38 / 54
Passo 2 − Inclus˜ao no arquivo de configura¸c˜ao
Habilitar a op¸c˜ao dnssec-validation
Colar a chave da raiz (obtida no slide anterior)
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=";
};
...
39 / 54
Passo 3 − Reiniciar o Bind
Reiniciar o Bind
40 / 54
Parte IV
Boas Pr´aticas
41 / 54
DNS Reverso
Motiva¸c˜ao
Identifica¸c˜ao do host − dom´ınio de origem
Servi¸cos consultam DNS reverso − Ex. smtp
Maior facilidade no tratamento de incidentes e comunica¸c˜ao com
outros provedores
42 / 54
Recursivos abertos
Riscos
Ser v´ıtima de ataques de envenenamento de cache
Uso do servidor para desferir ataques DoS
Consultas/Respostas indevidas acarretam consumo de banda e
recursos computacionais
Possibilidade de ser responsabilizado por ataques
43 / 54
44 / 54
Separar Recursivo do Autoritativo
Servidor fisicamente separado
Configura¸c˜ao simplificada
ACLs e Regras de firewall espec´ıficas
Dimensionamento espec´ıfico de recursos
Mesmo servidor f´ısico − Views
Configura¸c˜ao de maior complexidade
Consultas recursivas/autoritativas usando mesmo recursos
45 / 54
Recursivo pr´oprio
1 Controle sobre a infraestrutura
2 Possibilidade de habilitar valida¸c˜ao DNSSEC
3 Garantia de uso da estrutura regional
◮ Alguns autoritativos respondem de acordo com o IP do cliente
46 / 54
Servi¸co DNS do google − 8.8.8.8
M´aquina nos EUA
$ traceroute -q1 8.8.8.8
traceroute to 8.8.8.8 (8.8.8.8), 64 hops max, 40 byte packets
1 vrrp1-hosting.lax.dns.icann.org (199.4.28.210) 2.477 ms
2 ge0-0-3.J6352.lax.dns.icann.org (199.4.30.50) 2.709 ms
3 67.17.195.233 (67.17.195.233) 1.709 ms
4 72.14.197.161 (72.14.197.161) 1.711 ms
5 216.239.46.40 (216.239.46.40) 30.448 ms
6 209.85.253.178 (209.85.253.178) 14.208 ms
7 209.85.251.94 (209.85.251.94) 17.329 ms
8 google-public-dns-a.google.com (8.8.8.8) 12.707 ms
47 / 54
M´aquina nos EUA
M´aquina nos EUA
$ dig @8.8.8.8 google.com +short
72.14.213.105
72.14.213.103
72.14.213.104
72.14.213.147
72.14.213.99
72.14.213.106
48 / 54
Traceroute local para IP recebido na consulta nos EUA
traceroute -q1 72.14.213.105
traceroute to 72.14.213.105 (72.14.213.105), 30 hops max, 60 byte packets
1 xxx.REGISTRO.BR (200.160.xx.xx) 0.228 ms
2 xxx.registro.br (200.160.xx.xx) 1.570 ms
3 xxx.registro.br (200.160.xx.xx) 1.182 ms
4 as15169.sp.ptt.br (200.219.130.55) 1.197 ms
5 209.85.250.246 (209.85.250.246) 1.277 ms
6 209.85.243.198 (209.85.243.198) 1.167 ms
7 72.14.238.49 (72.14.238.49) 46.466 ms
8 209.85.249.229 (209.85.249.229) 171.007 ms
9 72.14.232.85 (72.14.232.85) 194.361 ms
10 209.85.250.144 (209.85.250.144) 197.207 ms
11 64.233.174.101 (64.233.174.101) 197.476 ms
12 209.85.253.6 (209.85.253.6) 203.432 ms
13 pv-in-f105.1e100.net (72.14.213.105) 197.467 ms
49 / 54
M´aquina no Brasil
$ traceroute -q1 8.8.8.8
traceroute to 8.8.8.8 (8.8.8.8), 30 hops max, 60 byte packets
1 xx.REGISTRO.BR (200.160.xx.xx) 0.135 ms
2 xx.registro.br (200.160.xx.xx) 1.181 ms
3 xx.registro.br (200.160.xx.xx) 0.992 ms
4 as15169.sp.ptt.br (200.219.130.55) 1.143 ms
5 209.85.250.246 (209.85.250.246) 1.253 ms
6 209.85.243.200 (209.85.243.200) 1.615 ms
7 72.14.233.93 (72.14.233.93) 1.900 ms
8 64.233.175.62 (64.233.175.62) 13.092 ms
9 google-public-dns-a.google.com (8.8.8.8) 2.087 ms
50 / 54
M´aquina no Brasil
$ dig @8.8.8.8 google.com +short
64.233.163.104
$traceroute -q1 64.233.163.104
traceroute to 64.233.163.104 (64.233.163.104), 30 hops max, 60 byte packets
1 xx.REGISTRO.BR (200.160.xx.xx) 0.301 ms
2 xx.registro.br (200.160.xx.xx) 1.258 ms
3 xx.registro.br (200.160.xx.xx) 1.168 ms
4 as15169.sp.ptt.br (200.219.130.55) 1.175 ms
5 209.85.250.246 (209.85.250.246) 1.396 ms
6 209.85.243.200 (209.85.243.200) 1.773 ms
7 72.14.233.93 (72.14.233.93) 1.995 ms
8 64.233.175.18 (64.233.175.18) 5.963 ms
9 bs-in-f104.1e100.net (64.233.163.104) 2.217 ms
51 / 54
Implementa¸c˜ao de um recursivo est´avel e escal´avel
S.O. Unix-like
BIND
Quagga − OSPF+ECMP
ftp://ftp.registro.br/pub/gter/gter23/05-DNSrecEstavelEscalavel.pdf
52 / 54
Perguntas?http://registro.br/suporte/tutoriais/dnssec.html
Envie suas d´uvidas para tutorial-dnssec@registro.br
53 / 54
Referˆencias
Como configurar DNSSEC no seu dominio (servidor autoritativo)
ftp://ftp.registro.br/pub/doc/configuracao dnssec dominio.pdf
Como configurar DNSSEC no servidor recursivo
ftp://ftp.registro.br/pub/doc/configuracao dnssec servidor recursivo.pdf
Tutorial de DNSSEC
https://registro.br/suporte/tutoriais/dnssec.html
Recomenda¸c˜oes para Evitar o Abuso de Servidores DNS Recursivos Abertos
http://www.cert.br/docs/whitepapers/dns-recursivo-aberto/
RFC 5358 / BCP 140: Preventing Use of Recursive Nameservers in Reflector Attacks
http://www.ietf.org/rfc/rfc5358.txt
54 / 54

Weitere ähnliche Inhalte

Was ist angesagt?

O Que é Shell (bash)
O Que é Shell (bash)O Que é Shell (bash)
O Que é Shell (bash)Sérgio Silva
 
Para se configurar um servidor de dns no free bsd
Para se configurar um servidor de dns no free bsdPara se configurar um servidor de dns no free bsd
Para se configurar um servidor de dns no free bsdAnderson Batista Batista
 
Linux - Shell e Comandos Básicos
Linux - Shell e Comandos BásicosLinux - Shell e Comandos Básicos
Linux - Shell e Comandos BásicosFrederico Madeira
 
Dicas e Princípios Básicos do Linux
Dicas e Princípios Básicos do LinuxDicas e Princípios Básicos do Linux
Dicas e Princípios Básicos do LinuxWellington Oliveira
 
Comandos do linux
Comandos do linuxComandos do linux
Comandos do linuxPeslPinguim
 
Comandos Básicos Linux
Comandos Básicos LinuxComandos Básicos Linux
Comandos Básicos LinuxSoftD Abreu
 
Comandos, Permissões e Partições Linux
Comandos, Permissões e Partições LinuxComandos, Permissões e Partições Linux
Comandos, Permissões e Partições LinuxVirgínia
 
DNS – domain name system
DNS – domain name systemDNS – domain name system
DNS – domain name systemMariana Amorim
 
Trabalhando na Linha de comando
Trabalhando na  Linha de comandoTrabalhando na  Linha de comando
Trabalhando na Linha de comandoSoftD Abreu
 
Linux comandos gerais e servidores de rede
Linux   comandos gerais e servidores de redeLinux   comandos gerais e servidores de rede
Linux comandos gerais e servidores de redefernandao777
 
YUM, APT-GET, DPKG, RPM
YUM, APT-GET, DPKG, RPMYUM, APT-GET, DPKG, RPM
YUM, APT-GET, DPKG, RPMSoftD Abreu
 
Certificação LPI sem mistérios
Certificação LPI sem mistériosCertificação LPI sem mistérios
Certificação LPI sem mistériosBruna Griebeler
 

Was ist angesagt? (18)

Shell Scipt - Comandos
Shell Scipt - ComandosShell Scipt - Comandos
Shell Scipt - Comandos
 
O Que é Shell (bash)
O Que é Shell (bash)O Que é Shell (bash)
O Que é Shell (bash)
 
Para se configurar um servidor de dns no free bsd
Para se configurar um servidor de dns no free bsdPara se configurar um servidor de dns no free bsd
Para se configurar um servidor de dns no free bsd
 
Linux - Shell e Comandos Básicos
Linux - Shell e Comandos BásicosLinux - Shell e Comandos Básicos
Linux - Shell e Comandos Básicos
 
Comandos Linux Parte 1
Comandos Linux Parte 1Comandos Linux Parte 1
Comandos Linux Parte 1
 
Comandos basicos linux
Comandos basicos linuxComandos basicos linux
Comandos basicos linux
 
Comandos Linux Parte 2
Comandos Linux Parte 2Comandos Linux Parte 2
Comandos Linux Parte 2
 
Dicas e Princípios Básicos do Linux
Dicas e Princípios Básicos do LinuxDicas e Princípios Básicos do Linux
Dicas e Princípios Básicos do Linux
 
Comandos do linux
Comandos do linuxComandos do linux
Comandos do linux
 
Comandos Básicos Linux
Comandos Básicos LinuxComandos Básicos Linux
Comandos Básicos Linux
 
Comandos, Permissões e Partições Linux
Comandos, Permissões e Partições LinuxComandos, Permissões e Partições Linux
Comandos, Permissões e Partições Linux
 
DNS – domain name system
DNS – domain name systemDNS – domain name system
DNS – domain name system
 
Trabalhando na Linha de comando
Trabalhando na  Linha de comandoTrabalhando na  Linha de comando
Trabalhando na Linha de comando
 
Redes - DNS
Redes  - DNSRedes  - DNS
Redes - DNS
 
Linux comandos gerais e servidores de rede
Linux   comandos gerais e servidores de redeLinux   comandos gerais e servidores de rede
Linux comandos gerais e servidores de rede
 
YUM, APT-GET, DPKG, RPM
YUM, APT-GET, DPKG, RPMYUM, APT-GET, DPKG, RPM
YUM, APT-GET, DPKG, RPM
 
Comandos linux
Comandos linuxComandos linux
Comandos linux
 
Certificação LPI sem mistérios
Certificação LPI sem mistériosCertificação LPI sem mistérios
Certificação LPI sem mistérios
 

Ähnlich wie DNS,DNSSEC and Best Practices

Ähnlich wie DNS,DNSSEC and Best Practices (20)

DNS
DNSDNS
DNS
 
Como funciona a Internet - DNS
Como funciona a Internet - DNSComo funciona a Internet - DNS
Como funciona a Internet - DNS
 
Protocolo FTP e DNS
Protocolo FTP e DNSProtocolo FTP e DNS
Protocolo FTP e DNS
 
Redes de computadores II - 5.Serviços em Redes TCP/IP
Redes de computadores II - 5.Serviços em Redes TCP/IPRedes de computadores II - 5.Serviços em Redes TCP/IP
Redes de computadores II - 5.Serviços em Redes TCP/IP
 
Dns uma visao geral
Dns uma visao geralDns uma visao geral
Dns uma visao geral
 
Servico dns
Servico dnsServico dns
Servico dns
 
Dns
DnsDns
Dns
 
DNS - Aula
DNS - AulaDNS - Aula
DNS - Aula
 
R&c 05 14_3 - Protocolo IP (Parte 3)
R&c 05 14_3 - Protocolo IP (Parte 3)R&c 05 14_3 - Protocolo IP (Parte 3)
R&c 05 14_3 - Protocolo IP (Parte 3)
 
Aula 2
Aula 2Aula 2
Aula 2
 
(16) dns
(16) dns(16) dns
(16) dns
 
Desmistificando Replicação no PostgreSQL
Desmistificando Replicação no PostgreSQLDesmistificando Replicação no PostgreSQL
Desmistificando Replicação no PostgreSQL
 
Uma análise do protocolo DNS e suas extensões - Simpoets 2008 [Artigo]
Uma análise do protocolo DNS e suas extensões - Simpoets 2008 [Artigo]Uma análise do protocolo DNS e suas extensões - Simpoets 2008 [Artigo]
Uma análise do protocolo DNS e suas extensões - Simpoets 2008 [Artigo]
 
Dawi o protocolo-http
Dawi o protocolo-httpDawi o protocolo-http
Dawi o protocolo-http
 
Redes de computadores 2 - Aula 6 - DNS, DHCP
Redes de computadores 2 - Aula 6 - DNS, DHCPRedes de computadores 2 - Aula 6 - DNS, DHCP
Redes de computadores 2 - Aula 6 - DNS, DHCP
 
1 serviços de-rede-dns-dhcp-web
1 serviços de-rede-dns-dhcp-web1 serviços de-rede-dns-dhcp-web
1 serviços de-rede-dns-dhcp-web
 
Aula 4 infraestrutura - 14012012
Aula 4   infraestrutura - 14012012Aula 4   infraestrutura - 14012012
Aula 4 infraestrutura - 14012012
 
Introdução ao DNS
Introdução ao DNSIntrodução ao DNS
Introdução ao DNS
 
FLISOL 2014 - Banco de dados Firebird rodando em CentOS - Faceca
FLISOL 2014 - Banco de dados Firebird rodando em CentOS - FacecaFLISOL 2014 - Banco de dados Firebird rodando em CentOS - Faceca
FLISOL 2014 - Banco de dados Firebird rodando em CentOS - Faceca
 
Servidor dns
Servidor dnsServidor dns
Servidor dns
 

Mehr von Wilson Rogerio Lopes

DNS na AWS - Zero To Hero using Route 53
DNS na AWS - Zero To Hero using Route 53DNS na AWS - Zero To Hero using Route 53
DNS na AWS - Zero To Hero using Route 53Wilson Rogerio Lopes
 
Zero to Hero for Network Admins on AWS
Zero to Hero for Network Admins on AWSZero to Hero for Network Admins on AWS
Zero to Hero for Network Admins on AWSWilson Rogerio Lopes
 
Uso do MacSec (802.1ae) em complemento ao 802.1x em redes corporativas - Cont...
Uso do MacSec (802.1ae) em complemento ao 802.1x em redes corporativas - Cont...Uso do MacSec (802.1ae) em complemento ao 802.1x em redes corporativas - Cont...
Uso do MacSec (802.1ae) em complemento ao 802.1x em redes corporativas - Cont...Wilson Rogerio Lopes
 
DDoS Attacks - Scenery, Evolution and Mitigation
DDoS Attacks - Scenery, Evolution and MitigationDDoS Attacks - Scenery, Evolution and Mitigation
DDoS Attacks - Scenery, Evolution and MitigationWilson Rogerio Lopes
 
Cisco TrustSec - Software Defined Segmentation e sua aplicabilidade em Segura...
Cisco TrustSec - Software Defined Segmentation e sua aplicabilidade em Segura...Cisco TrustSec - Software Defined Segmentation e sua aplicabilidade em Segura...
Cisco TrustSec - Software Defined Segmentation e sua aplicabilidade em Segura...Wilson Rogerio Lopes
 
Ataques DDoS - Panorama, Mitigação e Evolução
Ataques DDoS - Panorama, Mitigação e EvoluçãoAtaques DDoS - Panorama, Mitigação e Evolução
Ataques DDoS - Panorama, Mitigação e EvoluçãoWilson Rogerio Lopes
 
DNSSEC -Provisioning and Automatization using Bind
DNSSEC -Provisioning and Automatization using BindDNSSEC -Provisioning and Automatization using Bind
DNSSEC -Provisioning and Automatization using BindWilson Rogerio Lopes
 
Palestra sobre DNS apresentada no 3 PTT Forum
Palestra sobre DNS apresentada no 3 PTT ForumPalestra sobre DNS apresentada no 3 PTT Forum
Palestra sobre DNS apresentada no 3 PTT ForumWilson Rogerio Lopes
 

Mehr von Wilson Rogerio Lopes (10)

DNS na AWS - Zero To Hero using Route 53
DNS na AWS - Zero To Hero using Route 53DNS na AWS - Zero To Hero using Route 53
DNS na AWS - Zero To Hero using Route 53
 
Zero to Hero for Network Admins on AWS
Zero to Hero for Network Admins on AWSZero to Hero for Network Admins on AWS
Zero to Hero for Network Admins on AWS
 
Uso do MacSec (802.1ae) em complemento ao 802.1x em redes corporativas - Cont...
Uso do MacSec (802.1ae) em complemento ao 802.1x em redes corporativas - Cont...Uso do MacSec (802.1ae) em complemento ao 802.1x em redes corporativas - Cont...
Uso do MacSec (802.1ae) em complemento ao 802.1x em redes corporativas - Cont...
 
DDoS Attacks - Scenery, Evolution and Mitigation
DDoS Attacks - Scenery, Evolution and MitigationDDoS Attacks - Scenery, Evolution and Mitigation
DDoS Attacks - Scenery, Evolution and Mitigation
 
Cisco TrustSec - Software Defined Segmentation e sua aplicabilidade em Segura...
Cisco TrustSec - Software Defined Segmentation e sua aplicabilidade em Segura...Cisco TrustSec - Software Defined Segmentation e sua aplicabilidade em Segura...
Cisco TrustSec - Software Defined Segmentation e sua aplicabilidade em Segura...
 
Ataques DDoS - Panorama, Mitigação e Evolução
Ataques DDoS - Panorama, Mitigação e EvoluçãoAtaques DDoS - Panorama, Mitigação e Evolução
Ataques DDoS - Panorama, Mitigação e Evolução
 
Implementação do DNSSEC no iG
Implementação do DNSSEC no iGImplementação do DNSSEC no iG
Implementação do DNSSEC no iG
 
DNSSEC -Provisioning and Automatization using Bind
DNSSEC -Provisioning and Automatization using BindDNSSEC -Provisioning and Automatization using Bind
DNSSEC -Provisioning and Automatization using Bind
 
BGP Traffic Engineering on IXP
BGP Traffic Engineering on IXPBGP Traffic Engineering on IXP
BGP Traffic Engineering on IXP
 
Palestra sobre DNS apresentada no 3 PTT Forum
Palestra sobre DNS apresentada no 3 PTT ForumPalestra sobre DNS apresentada no 3 PTT Forum
Palestra sobre DNS apresentada no 3 PTT Forum
 

DNS,DNSSEC and Best Practices

  • 1. DNS, DNSSEC e Boas Pr´aticas David Robert Camargo de Campos Wilson Rogerio Lopes <tutorial-dnssec@registro.br> Registro.br 21 de outubro de 2010 1 / 54
  • 2. DNS - Domain Name System O Sistema de Nomes de Dom´ınio ´e um banco de dados distribu´ı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 atrav´es de um esquema cliente-servidor. - Arquitetura hier´arquica - Distribu´ıda eficientemente, sistema descentralizado e com cache - O principal prop´osito ´e a resolu¸c˜ao de nomes de dom´ınio em endere¸cos IP e vice-versa exemplo.foo.eng.br ←→ 200.160.10.251 www.cgi.br ←→ 200.160.4.2 www.registro.br ←→ 2001:12ff:0:2::3 2 / 54
  • 3. Registro de dom´ınios (.br) Reserva o direito da pessoa f´ısica ou jur´ıdica sobre um determinado nome de endere¸co na Internet. Dom´ınios n˜ao registrados n˜ao podem ser encontrados na Internet. Sistema WEB A interface WEB permite de maneira pr´atica gerenciar os dom´ınios de qualquer pessoa f´ısica ou jur´ıdica. − http://registro.br/suporte/tutoriais/novo-registro.html 3 / 54
  • 4. Publica¸c˜ao quasi-on-line O que ´e uma Publica¸c˜ao? As modifica¸c˜oes que s˜ao realizadas pela interface de provisionamento n˜ao s˜ao efetivadas imediatamente. A cada intervalo de tempo pr´e-determinado ocorre uma publica¸c˜ao DNS a qual atualiza o sistema DNS. 4 / 54
  • 5. Publica¸c˜ao quasi-on-line O que ´e uma Publica¸c˜ao? As modifica¸c˜oes que s˜ao realizadas pela interface de provisionamento n˜ao s˜ao efetivadas imediatamente. A cada intervalo de tempo pr´e-determinado ocorre uma publica¸c˜ao DNS a qual atualiza o sistema DNS. As publica¸c˜oes DNS ocorrem a cada 30 minutos No caso do registro de um novo dom´ınio ele j´a estar´a vis´ıvel na Internet ap´os a pr´oxima publica¸c˜ao. No caso da altera¸c˜ao de dados de um dom´ınio, ap´os a pr´oxima publica¸c˜ao, o dom´ınio passar´a por um per´ıodo de transi¸c˜ao que poder´a durar at´e 24 horas. 4 / 54
  • 6. Tipos de servidores Servidor Autoritativo Ao receber requisi¸c˜oes de resolu¸c˜ao de nome, responde um endere¸co caso possua, uma referˆencia caso conhe¸ca o caminho da resolu¸c˜ao ou uma nega¸c˜ao caso n˜ao conhe¸ca Servidor Recursivo Ao receber requisi¸c˜oes de resolu¸c˜ao de nomes, faz requisi¸c˜oes para os servidores autoritativos e conforme a resposta recebida dos mesmos continua a realizar requisi¸c˜oes para outros servidores autoritativos at´e obter a resposta satisfat´oria 5 / 54
  • 7. Tipos de dados que podem ser armazenados Os dados associados com os nomes de dom´ınio est˜ao contidos em Resource Records ou RRs (Registro de Recursos) Atualmente existe uma grande variedade de tipos Alguns Tipos Comuns de Records SOA Indica onde come¸ca a autoridade a zona NS Indica um servidor de nomes para a zona A Mapeamento de nome a endere¸co (IPv4) AAAA Mapeamento de nome a endere¸co (IPv6) MX Indica um mail exchanger para um nome (servidor de email) CNAME Mapeia um nome alternativo (apelido ou indire¸c˜ao) TXT Campo de texto livre 6 / 54
  • 8. Exemplo de requisi¸c˜ao de endere¸co Resolver Servi¸co localizado no cliente que tem como responsabilidade resolver as requisi¸c˜oes DNS para diversos aplicativos 7 / 54
  • 9. Exemplo de requisi¸c˜ao de endere¸co Supondo que o cache est´a vazio ou sem informa¸c˜oes relevantes 8 / 54
  • 10. Exemplo de requisi¸c˜ao de endere¸co 9 / 54
  • 11. Exemplo de requisi¸c˜ao de endere¸co 10 / 54
  • 12. Exemplo de requisi¸c˜ao de endere¸co 11 / 54
  • 13. Exemplo de requisi¸c˜ao de endere¸co 12 / 54
  • 14. Exemplo de requisi¸c˜ao de endere¸co 13 / 54
  • 15. Exemplo de requisi¸c˜ao de endere¸co 14 / 54
  • 16. Exemplo de requisi¸c˜ao de endere¸co 15 / 54
  • 17. Exemplo de requisi¸c˜ao de endere¸co 16 / 54
  • 18. Fluxo de dados 1 Resolver faz consultas no Recursivo 2 Recursivo faz consultas no Autoritativo (Master ou Slave) 3 Master tem os dados originais 4 Slave recebe os dados do Master 17 / 54
  • 20. Exemplo de Ataque Polui¸c˜ao de Cache 19 / 54
  • 21. Exemplo de Ataque Polui¸c˜ao de Cache 20 / 54
  • 22. Exemplo de Ataque Polui¸c˜ao de Cache 21 / 54
  • 23. Exemplo de Ataque Polui¸c˜ao de Cache 22 / 54
  • 24. Exemplo de Ataque Polui¸c˜ao de Cache O atacante responde mais r´apido, spoofando endere¸co do autoritativo 23 / 54
  • 25. Exemplo de Ataque Polui¸c˜ao de Cache O atacante responde mais r´apido, spoofando endere¸co do autoritativo 24 / 54
  • 26. Exemplo de Ataque Polui¸c˜ao de Cache O atacante responde mais r´apido, spoofando endere¸co do autoritativo 25 / 54
  • 27. DNSSEC Domain Name System SECurity extensions Extens˜ao da tecnologia DNS (o que existia continua a funcionar) Possibilita maior seguran¸ca para o usu´ario na Internet (corrige falhas do DNS) Garantias do DNSSEC Origem (Autenticidade) Integridade 26 / 54
  • 28. Parte II Como configurar DNSSEC no servidor autoritativo 27 / 54
  • 29. Como configurar DNSSEC no servidor autoritativo Objetivo Implantar DNSSEC no servidor autoritativo para determinado dominio Todas as opera¸c˜oes ser˜ao executadas no servidor principal (Master) Requisitos Bind 9.7 − http://www.isc.org/downloads 28 / 54
  • 30. Passo 1 − Cria¸c˜ao de Chaves Utiliza¸c˜ao do comando dnssec-keygen para gera¸c˜ao de chaves: $ dnssec-keygen -r /dev/urandom -f KSK -a RSASHA1 -b 1024 -n ZONE dominio.com.br Onde, dominio.com.br deve ser substituido pelo seu dominio. - O comando ira gerar dois arquivos com extens˜oes .key e .private 29 / 54
  • 31. Passo 2 − Assinar o dominio (arquivo de zona) Utiliza¸c˜ao do comando dnssec-signzone para assinatura $ dnssec-signzone -S -z -o dominio.com.br db.dominio.com.br Onde, dominio.com.br deve ser substituido pelo nome do dominio e db.dominio.com.br pelo nome do arquivo de zona. - O comando ira gerar um novo arquivo de zona com a extens˜ao .signed 30 / 54
  • 32. Passo 3 − Atualiza¸c˜ao do named.conf Altera¸c˜ao da referˆencia para o arquivo de zona zone "dominio.com.br" { auto-dnssec maintain; type master; file "/etc/namedb/db.dominio.com.br"; key-directory "/etc/namedb/dominio.com.br/"; ... }; Onde, dominio.com.br deve ser substituido pelo nome do domino e db.dominio.com.br deve ser substituido pelo nome do arquivo de zona. 31 / 54
  • 33. Passo 4 − Reiniciar o Bind Reiniciar o Bind 32 / 54
  • 34. Passo 5 − Adicionar o DS no site do Registro.br Copiar os dados de KeyTag e Digest do arquivo dsset-dominio.com.br para a interface no site do Registro.br. Exemplo: $ cat dsset-dominio.com.br.| head -1 KeyTag Digest dominio.com.br IN DS 15469 5 1 5EC0184678E0B7DC3AACFFA5D0EB9DBA1F3F6C37 - Onde, dominio.com.br deve ser substituido pelo nome do domino 33 / 54
  • 35. Passo 6 − Aguardar nova publica¸c˜ao Aguardar nova publica¸c˜ao no site do Registro.br 34 / 54
  • 36. Roteiro − Configurar um Servidor Autoritativo 1 Criar chave (dnssec-keygen) (slide 30) 2 Assinar a zona (dnssec-signzone) (slide 31) 3 Modificar o named.conf (slide 32) 4 Restartar o BIND (named) no servidores Master 5 Adicionar o DS no site do Registro.br (slide 34) 6 Aguardar nova publica¸c˜ao 35 / 54
  • 37. Parte III Como configurar DNSSEC no servidor recursivo 36 / 54
  • 38. Como configurar DNSSEC no servidor recursivo Objetivo Implamntar DNSSEC no servidor recursivo Requisitos Bind 9.7 − http://www.isc.org/downloads 37 / 54
  • 39. Passo 1 − Obtendo a chave a da raiz da Internet Como obter a chave da raiz no formato do Bind https://registro.br/dominio/root-anchor.html Exemplo de resultado: . initial-key 257 3 8 "AwEAAagAIKlVZrpC6Ia7gEzahOR+9W29euxhJhVVLOyQbSEW0O8gcCjF FVQUTf6v58fLjwBd0YI0EzrAcQqBGCzh/RStIoO8g0NfnfL2MTJRkxoX bfDaUeVPQuYEhg37NZWAJQ9VnMVDxP/VHL496M/QZxkjf5/Efucp2gaD X6RS6CXpoY68LsvPVjR0ZSwzz1apAzvN9dlzEheX7ICJBBtuA6G3LQpz W5hOA2hzCTMjJPJ8LbqF6dsV6DoBQzgul0sGIcGOYl7OyQdXfZ57relS Qageu+ipAdTTJ25AsRTAoub8ONGcLmqrAmRLKBP1dfwhYB4N7knNnulq QxA+Uk1ihz0="; 38 / 54
  • 40. Passo 2 − Inclus˜ao no arquivo de configura¸c˜ao Habilitar a op¸c˜ao dnssec-validation Colar a chave da raiz (obtida no slide anterior) 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="; }; ... 39 / 54
  • 41. Passo 3 − Reiniciar o Bind Reiniciar o Bind 40 / 54
  • 43. DNS Reverso Motiva¸c˜ao Identifica¸c˜ao do host − dom´ınio de origem Servi¸cos consultam DNS reverso − Ex. smtp Maior facilidade no tratamento de incidentes e comunica¸c˜ao com outros provedores 42 / 54
  • 44. Recursivos abertos Riscos Ser v´ıtima de ataques de envenenamento de cache Uso do servidor para desferir ataques DoS Consultas/Respostas indevidas acarretam consumo de banda e recursos computacionais Possibilidade de ser responsabilizado por ataques 43 / 54
  • 46. Separar Recursivo do Autoritativo Servidor fisicamente separado Configura¸c˜ao simplificada ACLs e Regras de firewall espec´ıficas Dimensionamento espec´ıfico de recursos Mesmo servidor f´ısico − Views Configura¸c˜ao de maior complexidade Consultas recursivas/autoritativas usando mesmo recursos 45 / 54
  • 47. Recursivo pr´oprio 1 Controle sobre a infraestrutura 2 Possibilidade de habilitar valida¸c˜ao DNSSEC 3 Garantia de uso da estrutura regional ◮ Alguns autoritativos respondem de acordo com o IP do cliente 46 / 54
  • 48. Servi¸co DNS do google − 8.8.8.8 M´aquina nos EUA $ traceroute -q1 8.8.8.8 traceroute to 8.8.8.8 (8.8.8.8), 64 hops max, 40 byte packets 1 vrrp1-hosting.lax.dns.icann.org (199.4.28.210) 2.477 ms 2 ge0-0-3.J6352.lax.dns.icann.org (199.4.30.50) 2.709 ms 3 67.17.195.233 (67.17.195.233) 1.709 ms 4 72.14.197.161 (72.14.197.161) 1.711 ms 5 216.239.46.40 (216.239.46.40) 30.448 ms 6 209.85.253.178 (209.85.253.178) 14.208 ms 7 209.85.251.94 (209.85.251.94) 17.329 ms 8 google-public-dns-a.google.com (8.8.8.8) 12.707 ms 47 / 54
  • 49. M´aquina nos EUA M´aquina nos EUA $ dig @8.8.8.8 google.com +short 72.14.213.105 72.14.213.103 72.14.213.104 72.14.213.147 72.14.213.99 72.14.213.106 48 / 54
  • 50. Traceroute local para IP recebido na consulta nos EUA traceroute -q1 72.14.213.105 traceroute to 72.14.213.105 (72.14.213.105), 30 hops max, 60 byte packets 1 xxx.REGISTRO.BR (200.160.xx.xx) 0.228 ms 2 xxx.registro.br (200.160.xx.xx) 1.570 ms 3 xxx.registro.br (200.160.xx.xx) 1.182 ms 4 as15169.sp.ptt.br (200.219.130.55) 1.197 ms 5 209.85.250.246 (209.85.250.246) 1.277 ms 6 209.85.243.198 (209.85.243.198) 1.167 ms 7 72.14.238.49 (72.14.238.49) 46.466 ms 8 209.85.249.229 (209.85.249.229) 171.007 ms 9 72.14.232.85 (72.14.232.85) 194.361 ms 10 209.85.250.144 (209.85.250.144) 197.207 ms 11 64.233.174.101 (64.233.174.101) 197.476 ms 12 209.85.253.6 (209.85.253.6) 203.432 ms 13 pv-in-f105.1e100.net (72.14.213.105) 197.467 ms 49 / 54
  • 51. M´aquina no Brasil $ traceroute -q1 8.8.8.8 traceroute to 8.8.8.8 (8.8.8.8), 30 hops max, 60 byte packets 1 xx.REGISTRO.BR (200.160.xx.xx) 0.135 ms 2 xx.registro.br (200.160.xx.xx) 1.181 ms 3 xx.registro.br (200.160.xx.xx) 0.992 ms 4 as15169.sp.ptt.br (200.219.130.55) 1.143 ms 5 209.85.250.246 (209.85.250.246) 1.253 ms 6 209.85.243.200 (209.85.243.200) 1.615 ms 7 72.14.233.93 (72.14.233.93) 1.900 ms 8 64.233.175.62 (64.233.175.62) 13.092 ms 9 google-public-dns-a.google.com (8.8.8.8) 2.087 ms 50 / 54
  • 52. M´aquina no Brasil $ dig @8.8.8.8 google.com +short 64.233.163.104 $traceroute -q1 64.233.163.104 traceroute to 64.233.163.104 (64.233.163.104), 30 hops max, 60 byte packets 1 xx.REGISTRO.BR (200.160.xx.xx) 0.301 ms 2 xx.registro.br (200.160.xx.xx) 1.258 ms 3 xx.registro.br (200.160.xx.xx) 1.168 ms 4 as15169.sp.ptt.br (200.219.130.55) 1.175 ms 5 209.85.250.246 (209.85.250.246) 1.396 ms 6 209.85.243.200 (209.85.243.200) 1.773 ms 7 72.14.233.93 (72.14.233.93) 1.995 ms 8 64.233.175.18 (64.233.175.18) 5.963 ms 9 bs-in-f104.1e100.net (64.233.163.104) 2.217 ms 51 / 54
  • 53. Implementa¸c˜ao de um recursivo est´avel e escal´avel S.O. Unix-like BIND Quagga − OSPF+ECMP ftp://ftp.registro.br/pub/gter/gter23/05-DNSrecEstavelEscalavel.pdf 52 / 54
  • 55. Referˆencias Como configurar DNSSEC no seu dominio (servidor autoritativo) ftp://ftp.registro.br/pub/doc/configuracao dnssec dominio.pdf Como configurar DNSSEC no servidor recursivo ftp://ftp.registro.br/pub/doc/configuracao dnssec servidor recursivo.pdf Tutorial de DNSSEC https://registro.br/suporte/tutoriais/dnssec.html Recomenda¸c˜oes para Evitar o Abuso de Servidores DNS Recursivos Abertos http://www.cert.br/docs/whitepapers/dns-recursivo-aberto/ RFC 5358 / BCP 140: Preventing Use of Recursive Nameservers in Reflector Attacks http://www.ietf.org/rfc/rfc5358.txt 54 / 54