Mudanças entre as edições de "DNSSEC Seguranca do DNS"

De Wiki BPF
Ir para: navegação, pesquisa
Linha 6: Linha 6:
 
=== Como o DNSSEC funciona? ===
 
=== Como o DNSSEC funciona? ===
 
O DNSSEC permite que os detentores de nomes de domínio (registrantes) assinem digitalmente as informações que colocam no DNS. Isso permite que os clientes (através do servidor recursivo do provedor configurado para essa validação) verifiquem se as respostas DNS não foram violadas. Em 2010, a [https://www.icann.org ICANN] permitiu que o nível mais alto do DNS (zona raiz) fosse assinado pelo DNSSEC, facilitando bastante a implementação global do padrão. No entanto, mesmo uma década depois, a adoção significativa do DNSSEC continua atrasada. ([https://stats.labs.apnic.net/dnssec/ Veja aqui as estatísticas de  geradas pelo APNIC])
 
O DNSSEC permite que os detentores de nomes de domínio (registrantes) assinem digitalmente as informações que colocam no DNS. Isso permite que os clientes (através do servidor recursivo do provedor configurado para essa validação) verifiquem se as respostas DNS não foram violadas. Em 2010, a [https://www.icann.org ICANN] permitiu que o nível mais alto do DNS (zona raiz) fosse assinado pelo DNSSEC, facilitando bastante a implementação global do padrão. No entanto, mesmo uma década depois, a adoção significativa do DNSSEC continua atrasada. ([https://stats.labs.apnic.net/dnssec/ Veja aqui as estatísticas de  geradas pelo APNIC])
 +
 +
[[Arquivo:Funcionamento ilustrado do DNSSEC.png|centro|commoldura|Como o DNSSEC funciona? Nesta ilustração um determinado servidor recursivo solicita o número IP para o site www.exemplo.com para o servidor autoritativo. Antes de enviar a resposta, que seria "www.exemplo.com é 192.0.2.1", o servidor autoritativo transforma o conteúdo da resposta em um código numérico de tamanho fixo (chamado ''Hash'') e criptografa este código com uma chave privada gerando uma assinatura. Esta assinatura será enviada juntamente com a resposta pela internet.   
 +
 +
O servidor recursivo recebe a resposta "www.exemplo.com é 192.0.2.1" e a assinatura. Então o recursivo faz duas operações distintas: 1) gera a sua própria "Hash" da resposta através da mesma codificação utilizada pelo autoritativo e; 2) Utiliza uma chave pública para gerar uma segunda "Hash" com base na assinatura recebida da transmissão. Se as duas "Hash's" forem iguais, a informação é autêntica.        ]]
  
 
=== Quais são os benefícios da implantação do DNSSEC? ===
 
=== Quais são os benefícios da implantação do DNSSEC? ===

Edição das 18h24min de 13 de abril de 2020

Resumo do documento "DNSSEC: Securing the DNS" publicado pelo escritório do CTO da ICANN. Íntegra do documento em inglês disponível em OCTO-006.

O que é DNSSEC?

Quando o DNS foi criado no início dos anos 80, a segurança não era o foco do design. Era possível para um invasor, em raros casos, direcionar a consulta de um usuário para outro destino. A solução para essa vulnerabilidade foi apresentada nos anos 90, quando a comunidade técnica do DNS lançou o DNSSEC (DNS Security Extensions) ou Extensões de Segurança do DNS. A RFC 3833 conta este histórico e as RFC 4033 , RFC 4034 e RFC 4035 trazem os detalhes técnicos.

Como o DNSSEC funciona?

O DNSSEC permite que os detentores de nomes de domínio (registrantes) assinem digitalmente as informações que colocam no DNS. Isso permite que os clientes (através do servidor recursivo do provedor configurado para essa validação) verifiquem se as respostas DNS não foram violadas. Em 2010, a ICANN permitiu que o nível mais alto do DNS (zona raiz) fosse assinado pelo DNSSEC, facilitando bastante a implementação global do padrão. No entanto, mesmo uma década depois, a adoção significativa do DNSSEC continua atrasada. (Veja aqui as estatísticas de geradas pelo APNIC)

Como o DNSSEC funciona? Nesta ilustração um determinado servidor recursivo solicita o número IP para o site www.exemplo.com para o servidor autoritativo. Antes de enviar a resposta, que seria "www.exemplo.com é 192.0.2.1", o servidor autoritativo transforma o conteúdo da resposta em um código numérico de tamanho fixo (chamado Hash) e criptografa este código com uma chave privada gerando uma assinatura. Esta assinatura será enviada juntamente com a resposta pela internet. O servidor recursivo recebe a resposta "www.exemplo.com é 192.0.2.1" e a assinatura. Então o recursivo faz duas operações distintas: 1) gera a sua própria "Hash" da resposta através da mesma codificação utilizada pelo autoritativo e; 2) Utiliza uma chave pública para gerar uma segunda "Hash" com base na assinatura recebida da transmissão. Se as duas "Hash's" forem iguais, a informação é autêntica.

Quais são os benefícios da implantação do DNSSEC?

O DNSSEC PROTEGE A INTERNET

Como o DNS é essencial para a operação da Internet, a proteção dos dados fornecidos pelo DNS é fundamental. Fazendo uma analogia, pense no DNS como placas de trânsito da Internet que direcionam a comunicação ao conteúdo ou serviço correto. Assim como nas placas das estradas, se os invasores apontarem estas placas para outras direções as pessoas podem ser conduzidas a áreas perigosas das cidades.

DNSSEC PROTEGE USUÁRIOS FINAIS

O DNSSEC pode garantir que os dados do nome de domínio recebidos pelos usuários finais são os mesmos dados que o registrante pretendia que o usuário final recebesse. O DNSSEC ajuda a garantir que, quando um usuário ou dispositivo final está tentando obter o conteúdo ou serviço apontado por um nome de domínio, o site com o qual eles estão se comunicando é o site que o registrante pretende acessar.

O DNSSEC PROTEGE EMPRESAS, ORGANIZAÇÕES E GOVERNOS

O DNSSEC reduz a probabilidade de que os usuários finais que desejam usar serviços ou visualizar conteúdos sejam direcionados incorretamente para um site em que possam ser enganados por um invasor. Dessa maneira, é responsabilidade dos provedores (ISPs) ativar o recurso para validar assinaturas DNSSEC nos seus resolvedores e, com isso, gerar um valor agregado aos seus clientes.

DNSSEC PROMOVE A INOVAÇÃO

O DNSSEC fornece uma maneira de verificar e proteger os dados DNS, permitindo que esses dados sejam confiáveis. Consequentemente, pode-se aproveitar o DNS global como um banco de dados seguro para nome/valores (por exemplo, você envia um nome e o DNS retorna um valor) distribuído globalmente e acessível ao público em geral. Como resultado, esse banco de dados seguro pode criar oportunidades de inovação e possibilitar novas tecnologias, serviços e instalações. Por exemplo, uma tecnologia que aproveita este recurso é o DANE (Autenticação de entidades nomeadas com base no DNS), que cria uma nova maneira de proteger conexões na Internet. O DANE aproveita os dados protegidos por DNSSEC no DNS e soluciona algumas das vulnerabilidades da maneira atual em que são feitas conexões seguras na Internet. Isso torna o comércio e as comunicações na Internet mais seguros.

Como posso colocar o DNSSEC em ação?

Em linhas gerais, o DNS possui dois lados: publicação, que é feita pelos registrantes (quem possui o domínio), e consultas (resolução) feitas pelos operadores de redes como os provedores. Para aproveitar os benefícios do DNSSEC, ambos os lados devem fazer suas implementações.

  • REGISTRANTES: Responsáveis pela publicação de informações no DNS, devem garantir que seus dados de DNS estejam assinados com DNSSEC. Historicamente, este processo costumava ser complicado e sujeito a erros. Hoje em dia a maioria dos softwares de DNS e sistemas de registro possuem ferramentas que automatizam as assinaturas de DNSSEC nos dados. (este é o caso do .br que adotou uma excelente prática de configuração automática para todos que optem pelo servidor autoritativo do Registro.br.).
  • PROVEDOR DE INTERNET: No lado das consultas é muito mais fácil. O provedor só precisa habilitar a validação de DNSSEC nos servidores recursivos.
  • USUÁRIOS FINAIS: Usuários finais tipicamente não precisam fazer nada a não ser motivar o seu provedor a habilitar o DNSSEC. Aqui vai um site interessante para verificar: http://www.internet.nl

Quais são os custos associados ao DNSSEC?

Os servidores de DNS em ambos lados de publicação (autoritativos) e de consultas (recursivos) já suportam DNSSEC em suas últimas versões. Pode ser necessário atualizar a versão do software, o que já é uma prática recomendável por diversos outros motivos.

  • Para o servidor recursivo (maioria dos provedores), se o software de DNS instalado for razoavelmente moderno, o custo deve ser praticamente nulo dado que apenas uma única nova configuração é necessária para iniciar a validação.

O que acontece se o DNSSEC não for implementado?

  • Clientes podem estar vulneráveis a ataques: Se uma organização decidir não implementar ou habilitar o DNSSEC, seus usuários podem estar susceptíveis a ataques. Quando um usuário realizar uma consulta, invasores podem inserir respostas falsas e possivelmente redirecionar a comunicação para máquinas controladas por criminosos. Os criminosos podem imitar páginas ou serviços e roubar usuários, senhas, etc. Mesmo que estes ataques sejam raros e dado que o DNSSEC já existe a algum tempo para prevenir exatamente este tipo de vulnerabilidade, as organizações que forem vitimizadas podem ter dificuldades para explicar aos clientes as razões para ainda não ter implementado DNSSEC. Assim como outras tantas formas de ataque são prevenidas, é provável que invasores aproveitem sites ou acessos que não utilizam DNSSEC.

Se o seu provedor ainda não adotou a validação de DNSSEC no servidor recursivo, considere esta possibilidade. Muito provavelmente as dificuldades serão muito menores do que você imagina ou ouviu falar. Solicite ajuda nas listas de discussão do BPF que estaremos prontos para auxiliar.