DNSSEC Erika Medeiros. DNS – Domain Name System O Sistema de Nomes de Domínio é um banco de...

67
DNSSEC Erika Medeiros

Transcript of DNSSEC Erika Medeiros. DNS – Domain Name System O Sistema de Nomes de Domínio é um banco de...

Page 1: DNSSEC Erika Medeiros. DNS – Domain Name System O Sistema de Nomes de Domínio é um banco de dados distribuido. Isso permite um controle local dos segmentos.

DNSSECErika Medeiros

Page 2: DNSSEC Erika Medeiros. DNS – Domain Name System O Sistema de Nomes de Domínio é um banco de dados distribuido. Isso permite um controle local dos segmentos.

DNS – Domain Name System O Sistema de Nomes de Domínio é um

banco de dados distribuido. Isso permite um controle local dos

segmentos do banco de dados global: Arquitetura hierárquica, dados dispostos em uma

arvore invertida Distribuida eficientemente, sistema

descentralizado e com cache O principal propósito e a resolução de nomes de

domínio em enderecos IP e vice-versa

Page 3: DNSSEC Erika Medeiros. DNS – Domain Name System O Sistema de Nomes de Domínio é um banco de dados distribuido. Isso permite um controle local dos segmentos.

DNS – Domain Name System

Page 4: DNSSEC Erika Medeiros. DNS – Domain Name System O Sistema de Nomes de Domínio é um banco de dados distribuido. Isso permite um controle local dos segmentos.

Hierarquia

Page 5: DNSSEC Erika Medeiros. DNS – Domain Name System O Sistema de Nomes de Domínio é um banco de dados distribuido. Isso permite um controle local dos segmentos.

Hierarquia Cada ponto da árvore de DNS é representada por

muitos computadores. Um nome de domínio é lido da direita para a

esquerda; Existem os domínios primários (chamados de top

level domains, ou TLD's), como .com, .net, .info, .cc, .biz, etc.

Existem os domínios secundários (country code TLD's, ou ccTLD's), que recebem o prefixo de cada país, como .com.br ou .net.br.

Nesse caso, o "com" é um subdomínio do domínio "br".

Page 6: DNSSEC Erika Medeiros. DNS – Domain Name System O Sistema de Nomes de Domínio é um banco de dados distribuido. Isso permite um controle local dos segmentos.

Hierarquia

Page 7: DNSSEC Erika Medeiros. DNS – Domain Name System O Sistema de Nomes de Domínio é um banco de dados distribuido. Isso permite um controle local dos segmentos.

Domínio x Zona Zona armazena todos os dados a qual ela

tem autoridade; Um domínio armazena a zona e todos os

seus subdomínios; Cada subdomínio tem sua própria zona;

Page 8: DNSSEC Erika Medeiros. DNS – Domain Name System O Sistema de Nomes de Domínio é um banco de dados distribuido. Isso permite um controle local dos segmentos.

Delegação

Page 9: DNSSEC Erika Medeiros. DNS – Domain Name System O Sistema de Nomes de Domínio é um banco de dados distribuido. Isso permite um controle local dos segmentos.

Como fazer parte da árvore DNS? Precisa-se registrar o domínio; Reserva o direito da pessoa física ou jurídica

sobre um determinado nome de endereço na Internet.

Domínios não registrados não podem ser encontrados na Internet.

Page 10: DNSSEC Erika Medeiros. DNS – Domain Name System O Sistema de Nomes de Domínio é um banco de dados distribuido. Isso permite um controle local dos segmentos.

Formas de Registro

Page 11: DNSSEC Erika Medeiros. DNS – Domain Name System O Sistema de Nomes de Domínio é um banco de dados distribuido. Isso permite um controle local dos segmentos.

Exercício Visitar o site

http://www.domaintools.com/internet-statistics/ Checar as estatísticas

Page 12: DNSSEC Erika Medeiros. DNS – Domain Name System O Sistema de Nomes de Domínio é um banco de dados distribuido. Isso permite um controle local dos segmentos.

Top Level Domain Para registrar um domínio TLD basta

escolher uma empresa de registro e pagar; Os registrars TLD reconhecidos pelo ICANN

podem ser encontrados em

http://www.icann.org/en/registrars/accredited-list.html

Page 13: DNSSEC Erika Medeiros. DNS – Domain Name System O Sistema de Nomes de Domínio é um banco de dados distribuido. Isso permite um controle local dos segmentos.
Page 14: DNSSEC Erika Medeiros. DNS – Domain Name System O Sistema de Nomes de Domínio é um banco de dados distribuido. Isso permite um controle local dos segmentos.

Domain Parking Uma prática muito comum é registrar domínios em

que se tenha interesse, mas que não pretenda usar de imediato;

Mostra-se uma página genérica, contendo um "em construção" ou alguns links de anúncios;

Esta prática é chamada de "domain parking" (reserva de domínios, ou estacionamento de domínios)

Sai mais barato registrar um domínio antecipadamente do que ter que disputá-lo mais tarde;

Page 15: DNSSEC Erika Medeiros. DNS – Domain Name System O Sistema de Nomes de Domínio é um banco de dados distribuido. Isso permite um controle local dos segmentos.

Cybersquatting Existem também casos de registros de

domínios contendo: Marcas; Palavras similares a marcas;

O objetivo é enganar os visitantes (encaminhando-os a outras páginas) e/ou lesar ou extorquir os proprietários da marca;

Esta prática é ilegal na maioria dos países, incluindo o Brasil.

Page 16: DNSSEC Erika Medeiros. DNS – Domain Name System O Sistema de Nomes de Domínio é um banco de dados distribuido. Isso permite um controle local dos segmentos.

UDRP - Uniform Domain-Name Dispute-Resolution Policy Serve para TLD; É possível disputar a posse de um domínio

registrado; Esse processo se aplica em casos em que a

empresa é detentora de uma marca registrada, ou é proprietária de um site que esteja sendo lesado por um domínio similar, registrado com o propósito de roubar visitantes;

Detalhes em: http://www.icann.org/udrp/udrp.htm

Page 17: DNSSEC Erika Medeiros. DNS – Domain Name System O Sistema de Nomes de Domínio é um banco de dados distribuido. Isso permite um controle local dos segmentos.

Como disputar domínios ccTLD? Os ccTLDs são os domínios com código de país; São responsabilidade de entidades separadas; O processo para disputa da posse do domínio varia; Algumas entidades aceitam a aplicação do UDRP; Outras entidades aplicam conjuntos particulares de

regras; Outras entidades simplesmente não possuem uma

política definida, se limitando a acatar decisões judiciais.

Page 18: DNSSEC Erika Medeiros. DNS – Domain Name System O Sistema de Nomes de Domínio é um banco de dados distribuido. Isso permite um controle local dos segmentos.

Em que categoria está o Registro.br? O Registro.br ainda faz parte da terceira

categoria; Mas, existem negociações com relação à

adoção do UDRP; Pode-se ver algumas cartas trocadas entre

os responsáveis pelo Registro.br e a ICANN, disponíveis no: http://www.icann.org/cctlds/br/br-icann-letters-10may07.pdf

Page 19: DNSSEC Erika Medeiros. DNS – Domain Name System O Sistema de Nomes de Domínio é um banco de dados distribuido. Isso permite um controle local dos segmentos.

Publicação

Page 20: DNSSEC Erika Medeiros. DNS – Domain Name System O Sistema de Nomes de Domínio é um banco de dados distribuido. Isso permite um controle local dos segmentos.

Publicação

Page 21: DNSSEC Erika Medeiros. DNS – Domain Name System O Sistema de Nomes de Domínio é um banco de dados distribuido. Isso permite um controle local dos segmentos.

Resource Records Os dados associados com os nomes de

domnio estão contidos em Resource Records ou RRs (Registro de Recursos);

São divididos em classes e tipos;

Page 22: DNSSEC Erika Medeiros. DNS – Domain Name System O Sistema de Nomes de Domínio é um banco de dados distribuido. Isso permite um controle local dos segmentos.

Classes do RR IN – Internet CH (Chaos Network) – Rede antiga HS - MIT

Page 23: DNSSEC Erika Medeiros. DNS – Domain Name System O Sistema de Nomes de Domínio é um banco de dados distribuido. Isso permite um controle local dos segmentos.

Tipos de RR Atualmente existe uma grande variedade de

tipos; O conjunto de resource records com o

mesmo nome de domínio, classe e tipo e denominado RRset;

Page 24: DNSSEC Erika Medeiros. DNS – Domain Name System O Sistema de Nomes de Domínio é um banco de dados distribuido. Isso permite um controle local dos segmentos.

Tipos de RR

Page 25: DNSSEC Erika Medeiros. DNS – Domain Name System O Sistema de Nomes de Domínio é um banco de dados distribuido. Isso permite um controle local dos segmentos.

Tipo SOA Guarda a versão da atualização da Zona; Numa zona existem vários computadores:

Computador primário; Computadores secundários (guardam cópias dos

computadores primários); É através do incremento do SOA que os

computadores secundários sabem que houve mudanças no computador primário;

Page 26: DNSSEC Erika Medeiros. DNS – Domain Name System O Sistema de Nomes de Domínio é um banco de dados distribuido. Isso permite um controle local dos segmentos.

Tipo NS Guarda os endereços de todos os servidores; Os servidores estão na própria zona; Ou os servidores estão na delegação logo

abaixo dele;

Page 27: DNSSEC Erika Medeiros. DNS – Domain Name System O Sistema de Nomes de Domínio é um banco de dados distribuido. Isso permite um controle local dos segmentos.

Exemplo de um arquivo de zona

NOME DE DOMÍNIOIN - INTERNET

INFORMAÇÕES PARA OS SERVIDORES SECUNDÁRIOS

SERIAL – VERSÃO SOAREFRESH – DE QUANTO EM QUANTO TEMPO O SERVIDORSECUNDÁRIO TEM QUE PERGUNTAR AO PRIMÁRIO A SUA VERSÃOCOM FINS DE SE ATUALIZAR

RETRY – CASO O SERVIDOR PRIMÁRIO ESTEJA OFF, EM QUANTO TEMPO O SERVIDOR SECUNDÁRIO VAI TENTAR NOVA CONEXÃO,PARA FINS DE SE ATUALIZAR.

EXPIRE – CASO O RETRY FALHE, POR QUANTO TEMPO OS DADOS DO DNS AINDA SERÃO VÁLIDOS EM REQUISIÇÕES CLIENTES;

TTL Minimum – TEMPO DE VIDA NOS SERVIDORES RECURSIVOS;

Page 28: DNSSEC Erika Medeiros. DNS – Domain Name System O Sistema de Nomes de Domínio é um banco de dados distribuido. Isso permite um controle local dos segmentos.

TTL – Tempo de Vida As informações do cache são armazenadas

por um determinado período de tempo através de um parâmetro conhecido por TTL (Time-to-Live).

Utilizado para evitar que as informações gravadas se tornem desatualizadas.

O período de tempo do TTL varia conforme o servidor e administrador;

Page 29: DNSSEC Erika Medeiros. DNS – Domain Name System O Sistema de Nomes de Domínio é um banco de dados distribuido. Isso permite um controle local dos segmentos.

Onde fica fisicamento o arquivo de zona? Nos servidores autoritativos; Servidores autoritativos são:

Servidor Master Servidor Slave

Page 30: DNSSEC Erika Medeiros. DNS – Domain Name System O Sistema de Nomes de Domínio é um banco de dados distribuido. Isso permite um controle local dos segmentos.

Tipos de Servidores

Page 31: DNSSEC Erika Medeiros. DNS – Domain Name System O Sistema de Nomes de Domínio é um banco de dados distribuido. Isso permite um controle local dos segmentos.

Exemplo de requisição de endereço

Page 32: DNSSEC Erika Medeiros. DNS – Domain Name System O Sistema de Nomes de Domínio é um banco de dados distribuido. Isso permite um controle local dos segmentos.

Fluxo de Dados Atualizações – Referentes a Zona Requisições

Page 33: DNSSEC Erika Medeiros. DNS – Domain Name System O Sistema de Nomes de Domínio é um banco de dados distribuido. Isso permite um controle local dos segmentos.

Fluxo de Dados

Page 34: DNSSEC Erika Medeiros. DNS – Domain Name System O Sistema de Nomes de Domínio é um banco de dados distribuido. Isso permite um controle local dos segmentos.

Atualizações de Zona Atualizações estáticas

Pára o servidor Recebe o arquivo da Zona

Atualizações dinâmicas Não pára o servidor

Page 35: DNSSEC Erika Medeiros. DNS – Domain Name System O Sistema de Nomes de Domínio é um banco de dados distribuido. Isso permite um controle local dos segmentos.

Comunicação entre Master/Slave AXFR

Master passa todas as informações que ele tem para o servidor Slave

IXFR Master checa o SOA dos Slaves; Manda apenas as modificações desde a última

atualização;

Page 36: DNSSEC Erika Medeiros. DNS – Domain Name System O Sistema de Nomes de Domínio é um banco de dados distribuido. Isso permite um controle local dos segmentos.

Vulnerabilidades

Page 37: DNSSEC Erika Medeiros. DNS – Domain Name System O Sistema de Nomes de Domínio é um banco de dados distribuido. Isso permite um controle local dos segmentos.

Vulnerabilidades nas atualizações Hoje não existe autenticidade; Pode haver atualizações indevidas;

Page 38: DNSSEC Erika Medeiros. DNS – Domain Name System O Sistema de Nomes de Domínio é um banco de dados distribuido. Isso permite um controle local dos segmentos.

Ambientes Propícios Ethernet Ethernet Wireless (802.11)

Page 39: DNSSEC Erika Medeiros. DNS – Domain Name System O Sistema de Nomes de Domínio é um banco de dados distribuido. Isso permite um controle local dos segmentos.

Vulnerabilidades nas requisições

Page 40: DNSSEC Erika Medeiros. DNS – Domain Name System O Sistema de Nomes de Domínio é um banco de dados distribuido. Isso permite um controle local dos segmentos.

Exemplo do Man-in-the-Middle

Page 41: DNSSEC Erika Medeiros. DNS – Domain Name System O Sistema de Nomes de Domínio é um banco de dados distribuido. Isso permite um controle local dos segmentos.

Cenário – Cache Poisoning O servidor recursivo é também servidor de

cache; Isto significa que se uma estação solicitar um

IP para um endereço, a resposta pode estar na cache;

Porém, eventualmente a entrada da cache expira;

Page 42: DNSSEC Erika Medeiros. DNS – Domain Name System O Sistema de Nomes de Domínio é um banco de dados distribuido. Isso permite um controle local dos segmentos.

Cenário – Cache Poisoning Quando o servidor recursivo precisa enviar

uma consulta, o atacante “ganha” o servidor autoritativo;

O objetivo é forjar uma resposta e enviá-la ao servidor recursivo;

Se a resposta do atacante chegar ao servidor recursivo, antes da resposta verdadeira e o atacante conseguir o ID da consulta, o servidor recursivo irá fazer cache da informação.

Page 43: DNSSEC Erika Medeiros. DNS – Domain Name System O Sistema de Nomes de Domínio é um banco de dados distribuido. Isso permite um controle local dos segmentos.

Como realizar o ataque? (Tipo I)

A consulta do servidor recursivo ao servidor autoritativo gera um ID da transação;

A resposta terá o mesmo ID; O ID da transação é um número entre 0 e

65.535; Quanto mais tentativas de ataque, maior a

chance de haver um match com ID da transação;

Page 44: DNSSEC Erika Medeiros. DNS – Domain Name System O Sistema de Nomes de Domínio é um banco de dados distribuido. Isso permite um controle local dos segmentos.

Como realizar o ataque? (Tipo II) Pode-se fazer um flooding no servidor

recursivo, tornando-o vulnerável; O atacante envia inúmeras requisições falsas

ao servidor recursivo, com a certeza que este não possui as informações;

Por exemplo, qual o IP para o endereço qqq.richbank.com?

Page 45: DNSSEC Erika Medeiros. DNS – Domain Name System O Sistema de Nomes de Domínio é um banco de dados distribuido. Isso permite um controle local dos segmentos.

Como realizar o ataque?(Tipo II) O procedimento irá forçar o servidor

recursivo a enviar solicitações ao servidor autoritativo;

As solicitações podem ser interceptadas; Uma resposta possível do atacante, seria

enviar ao servidor recursivo que não tem a informação requisitada mas um servidor autoritativo fake deve ter;

Page 46: DNSSEC Erika Medeiros. DNS – Domain Name System O Sistema de Nomes de Domínio é um banco de dados distribuido. Isso permite um controle local dos segmentos.

Soluções para vulnerabilidade de requisições e atualizações

Page 47: DNSSEC Erika Medeiros. DNS – Domain Name System O Sistema de Nomes de Domínio é um banco de dados distribuido. Isso permite um controle local dos segmentos.

TSIG Os servidores distribuem a mesma chave

simétrica para os servidores que vão fazer as atualizações;

Desta forma eles assinam o trafégo de atualização;

Page 48: DNSSEC Erika Medeiros. DNS – Domain Name System O Sistema de Nomes de Domínio é um banco de dados distribuido. Isso permite um controle local dos segmentos.

DNSSEC Domain Name System SECurity extensions Extensão da tecnologia DNS O que existia continua a funcionar Possibilita maior segurança para o usuário

na Internet Corrige falhas do DNS Atualmente na versão denominada DNSSEC

bis com opcional NSEC3

Page 49: DNSSEC Erika Medeiros. DNS – Domain Name System O Sistema de Nomes de Domínio é um banco de dados distribuido. Isso permite um controle local dos segmentos.

DNSSEC Suas vericações ocorrem antes de diversas

aplicações de seguranca (SSL, SSH, PGP, etc...)

Page 50: DNSSEC Erika Medeiros. DNS – Domain Name System O Sistema de Nomes de Domínio é um banco de dados distribuido. Isso permite um controle local dos segmentos.

Garantias do DNSSEC

Page 51: DNSSEC Erika Medeiros. DNS – Domain Name System O Sistema de Nomes de Domínio é um banco de dados distribuido. Isso permite um controle local dos segmentos.

Quem pode utilizar o DNSSEC Dominios abaixo do .br; b.br – Domínios para bancos eng.br gov.br eti.br blog.br

Page 52: DNSSEC Erika Medeiros. DNS – Domain Name System O Sistema de Nomes de Domínio é um banco de dados distribuido. Isso permite um controle local dos segmentos.

Não utilizarão o DNSSEC gov.br com.br

Page 53: DNSSEC Erika Medeiros. DNS – Domain Name System O Sistema de Nomes de Domínio é um banco de dados distribuido. Isso permite um controle local dos segmentos.

Chaves Assimétricas Cada zona segura requer um par de chaves; A chave privada da zona estará armazenada

em algum lugar seguro; A chave pública da zona é o DNSKEY record

e está associada ao domínio da zona; As chaves serão usadas para os processos

de autenticação do DNS;

Page 54: DNSSEC Erika Medeiros. DNS – Domain Name System O Sistema de Nomes de Domínio é um banco de dados distribuido. Isso permite um controle local dos segmentos.

Chaves assimétricas

Page 55: DNSSEC Erika Medeiros. DNS – Domain Name System O Sistema de Nomes de Domínio é um banco de dados distribuido. Isso permite um controle local dos segmentos.

Chaves assimétricas

Page 56: DNSSEC Erika Medeiros. DNS – Domain Name System O Sistema de Nomes de Domínio é um banco de dados distribuido. Isso permite um controle local dos segmentos.

Novos tipos de RR para DNSSEC DNSKEY - Chave publica RRSIG - Assinatura do RRset (somente

registros com autoridade) DS - Delegation Signer (Ponteiro para a

cadeia de confiança) NSEC - Aponta para o próximo nome e

indica quais os tipos dos RRsets para o nome atual

Page 57: DNSSEC Erika Medeiros. DNS – Domain Name System O Sistema de Nomes de Domínio é um banco de dados distribuido. Isso permite um controle local dos segmentos.

Breve Resumo Uma zona assina seu RRset autoritativo

usando sua chave privada. Um resolver pode usar a chave pública da

zona, obtida através de uma query para o DNSKEY type;

Page 58: DNSSEC Erika Medeiros. DNS – Domain Name System O Sistema de Nomes de Domínio é um banco de dados distribuido. Isso permite um controle local dos segmentos.

DNSKEY

NOME DO DOMÍNIO A QUEM PERTENCE A CHAVE

TTL

CLASSE DO RR

RR TYPE256 implica que o DNSKEY contem a chave pública do DNS 0 implica que o DNS possui alguma outra chave3 é fixo – Compatibilidade com protocolos anteriores

Identifica o algoritmo de chave pública.

Page 59: DNSSEC Erika Medeiros. DNS – Domain Name System O Sistema de Nomes de Domínio é um banco de dados distribuido. Isso permite um controle local dos segmentos.

Algoritemos de chave pública DNSKey

Page 60: DNSSEC Erika Medeiros. DNS – Domain Name System O Sistema de Nomes de Domínio é um banco de dados distribuido. Isso permite um controle local dos segmentos.

Usando o Dig para encontrar informações acerca dos servidores Usar a aplicação WEB:

http://www.epideme.com/digger/

Page 61: DNSSEC Erika Medeiros. DNS – Domain Name System O Sistema de Nomes de Domínio é um banco de dados distribuido. Isso permite um controle local dos segmentos.

DIG

DEIXAR EM BRANCO

SELECIONAR

Page 62: DNSSEC Erika Medeiros. DNS – Domain Name System O Sistema de Nomes de Domínio é um banco de dados distribuido. Isso permite um controle local dos segmentos.

Prática – Tipo I

ROOT SERVERS

Page 63: DNSSEC Erika Medeiros. DNS – Domain Name System O Sistema de Nomes de Domínio é um banco de dados distribuido. Isso permite um controle local dos segmentos.
Page 64: DNSSEC Erika Medeiros. DNS – Domain Name System O Sistema de Nomes de Domínio é um banco de dados distribuido. Isso permite um controle local dos segmentos.

Exemplo Prático Obtendo o DNSKEY de ns1.dnssec-tools.org;

Page 65: DNSSEC Erika Medeiros. DNS – Domain Name System O Sistema de Nomes de Domínio é um banco de dados distribuido. Isso permite um controle local dos segmentos.

DNSKEY

Page 66: DNSSEC Erika Medeiros. DNS – Domain Name System O Sistema de Nomes de Domínio é um banco de dados distribuido. Isso permite um controle local dos segmentos.

RRSIG

Page 67: DNSSEC Erika Medeiros. DNS – Domain Name System O Sistema de Nomes de Domínio é um banco de dados distribuido. Isso permite um controle local dos segmentos.

RRSIG