Upload
wilson-rogerio-lopes
View
1.180
Download
2
Embed Size (px)
Citation preview
DNS, DNSSEC e Boas Praticas
David Robert Camargo de Campos
Wilson Rogerio Lopes
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. Issopermite um controle local dos segmentos do banco de dados global,embora os dados em cada segmento estejam disponıveis em toda a redeatraves de um esquema cliente-servidor.
- Arquitetura hierarquica
- Distribuıda eficientemente, sistema descentralizado e com cache
- O principal proposito e a resolucao de nomes de domınio emenderecos IP e vice-versa
exemplo.foo.eng.br ←→ 200.160.10.251www.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 determinadonome de endereco na Internet.
Domınios nao registrados nao podem ser encontrados na Internet.
Sistema WEB
A interface WEB permite de maneira pratica gerenciar os domınios dequalquer pessoa fısica ou jurıdica.− http://registro.br/suporte/tutoriais/novo-registro.html
3 / 54
Publicacao quasi-on-line
O que e uma Publicacao?
As modificacoes que sao realizadas pela interface de provisionamento naosao efetivadas imediatamente. A cada intervalo de tempo pre-determinadoocorre uma publicacao DNS a qual atualiza o sistema DNS.
4 / 54
Publicacao quasi-on-line
O que e uma Publicacao?
As modificacoes que sao realizadas pela interface de provisionamento naosao efetivadas imediatamente. A cada intervalo de tempo pre-determinadoocorre uma publicacao DNS a qual atualiza o sistema DNS.
As publicacoes DNS ocorrem a cada 30 minutos
No caso do registro de um novo domınio ele ja estara visıvel naInternet apos a proxima publicacao.
No caso da alteracao de dados de um domınio, apos a proximapublicacao, o domınio passara por um perıodo de transicao quepodera durar ate 24 horas.
4 / 54
Tipos de servidores
Servidor Autoritativo
Ao receber requisicoes de resolucao de nome, responde um endereco casopossua, uma referencia caso conheca o caminho da resolucao ou umanegacao caso nao conheca
Servidor Recursivo
Ao receber requisicoes de resolucao de nomes, faz requisicoes para osservidores autoritativos e conforme a resposta recebida dos mesmoscontinua a realizar requisicoes para outros servidores autoritativos ateobter a resposta satisfatoria
5 / 54
Tipos de dados que podem ser armazenados
Os dados associados com os nomes de domınio estao contidos emResource Records ou RRs (Registro de Recursos)
Atualmente existe uma grande variedade de tipos
Alguns Tipos Comuns de Records
SOA Indica onde comeca a autoridade a zona
NS Indica um servidor de nomes para a zona
A Mapeamento de nome a endereco (IPv4)
AAAA Mapeamento de nome a endereco (IPv6)
MX Indica um mail exchanger para um nome (servidor de email)
CNAME Mapeia um nome alternativo (apelido ou indirecao)
TXT Campo de texto livre
6 / 54
Exemplo de requisicao de endereco
ResolverServico localizado
no cliente que tem
como
responsabilidade
resolver as
requisicoes DNS
para diversos
aplicativos
7 / 54
Exemplo de requisicao de endereco
Supondo que o
cache esta vazio ou
sem informacoes
relevantes
8 / 54
Exemplo de requisicao de endereco
9 / 54
Exemplo de requisicao de endereco
10 / 54
Exemplo de requisicao de endereco
11 / 54
Exemplo de requisicao de endereco
12 / 54
Exemplo de requisicao de endereco
13 / 54
Exemplo de requisicao de endereco
14 / 54
Exemplo de requisicao de endereco
15 / 54
Exemplo de requisicao de endereco
16 / 54
Fluxo de dados
1 Resolver faz consultas no Recursivo2 Recursivo faz consultas no Autoritativo (Master ou Slave)3 Master tem os dados originais4 Slave recebe os dados do Master
17 / 54
Vulnerabilidades
18 / 54
Exemplo de AtaquePoluicao de Cache
19 / 54
Exemplo de AtaquePoluicao de Cache
20 / 54
Exemplo de AtaquePoluicao de Cache
21 / 54
Exemplo de AtaquePoluicao de Cache
22 / 54
Exemplo de AtaquePoluicao de Cache
O atacante responde mais rapido, spoofando endereco do autoritativo
23 / 54
Exemplo de AtaquePoluicao de Cache
O atacante responde mais rapido, spoofando endereco do autoritativo
24 / 54
Exemplo de AtaquePoluicao de Cache
O atacante responde mais rapido, spoofando endereco do autoritativo
25 / 54
DNSSEC
Domain Name System SECurity extensions
Extensao da tecnologia DNS(o que existia continua a funcionar)
Possibilita maior seguranca para o usuario 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 operacoes serao executadas no servidor principal (Master)
Requisitos
Bind 9.7 − http://www.isc.org/downloads
28 / 54
Passo 1 − Criacao de Chaves
Utilizacao do comando dnssec-keygen para geracao 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 extensoes .key e .private
29 / 54
Passo 2 − Assinar o dominio (arquivo de zona)
Utilizacao 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 edb.dominio.com.br pelo nome do arquivo de zona.
- O comando ira gerar um novo arquivo de zona com a extensao .signed
30 / 54
Passo 3 − Atualizacao do named.conf
Alteracao da referencia 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 edb.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 publicacao
Aguardar nova publicacao 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 publicacao
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 − Inclusao no arquivo de configuracao
Habilitar a opcao dnssec-validation
Colar a chave da raiz (obtida no slide anterior)
named.confoptions {
...
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 Praticas
41 / 54
DNS Reverso
Motivacao
Identificacao do host − domınio de origem
Servicos consultam DNS reverso − Ex. smtp
Maior facilidade no tratamento de incidentes e comunicacao comoutros 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 erecursos computacionais
Possibilidade de ser responsabilizado por ataques
43 / 54
44 / 54
Separar Recursivo do Autoritativo
Servidor fisicamente separado
Configuracao simplificada
ACLs e Regras de firewall especıficas
Dimensionamento especıfico de recursos
Mesmo servidor fısico − Views
Configuracao de maior complexidade
Consultas recursivas/autoritativas usando mesmo recursos
45 / 54
Recursivo proprio
1 Controle sobre a infraestrutura
2 Possibilidade de habilitar validacao DNSSEC3 Garantia de uso da estrutura regional
◮ Alguns autoritativos respondem de acordo com o IP do cliente
46 / 54
Servico DNS do google − 8.8.8.8
Maquina 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
Maquina nos EUA
Maquina 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
Maquina 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
Maquina 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
Implementacao de um recursivo estavel e escalavel
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 duvidas para [email protected]
53 / 54
Referencias
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
Recomendacoes 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