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

De Wiki BPF
Ir para navegação Ir para pesquisar
(Olá. Envio rascunho de texto sobre DNSSEC como contribuição ao BPF. Sujeito a edições e melhorias, sempre bem-vindas. Se for julgado não adequado, sintam-se a vontade para deletar. Obrigado ! Daniel)
 
 
(4 revisões intermediárias por 2 usuários não estão sendo mostradas)
Linha 1: Linha 1:
Resumo do documento "[https://www.icann.org/en/system/files/files/octo-006-en.pdf DNSSEC: Securing the DNS]" publicado pelo escritório do CTO da ICANN. Íntegra do documento em inglês disponível em [https://www.icann.org/resources/pages/octo-publications-2019-05-24-en OCTO-006].
+
Resumo do documento "[https://www.icann.org/en/system/files/files/octo-006-en.pdf DNSSEC: Securing the DNS]" publicado pelo escritório do CTO da ICANN com adaptações para a comunidade BPF. Íntegra do documento em inglês disponível em [https://www.icann.org/resources/pages/octo-publications-2019-05-24-en OCTO-006].
 
 
Deixe sua opinião sobre o tema nos comentários.
 
  
 
=== O que é DNSSEC? ===
 
=== O que é DNSSEC? ===
Quando o DNS foi criado no início dos anos 80, a segurança não era o foco dos desenvolvimentos. Ao invés de acessar o site solicitado no navegador, um invasor pode comprometer as mensagens DNS e direcioná-lo para outro site. Nos anos 90, a comunidade técnica do DNS apresentou a solução definitiva para esse problema, conhecida como DNS Security Extensions ou 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? ===
 
=== Como o DNSSEC funciona? ===
O DNSSEC permite que os registrantes assinem digitalmente as informações que colocam no DNS. Isso permite que os clientes (por exemplo, seu navegador da web) 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 implantação global do DNSSEC. No entanto, mesmo uma década depois, a implementação significativa do DNSSEC continua atrasada. ([https://stats.labs.apnic.net/dnssec/ Estatísticas de adoção 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? ===
  
 
==== O DNSSEC PROTEGE A INTERNET ====
 
==== O DNSSEC PROTEGE A INTERNET ====
Como o DNS é essencial para a operação da Internet, a proteção dos dados fornecidos pelo DNS é fundamental. Pensando em uma analogia, pense no DNS como placas de trânsito da Internet, fazendo com que a comunicação seja direcionada ao conteúdo ou serviço correto. Assim como nas placas das estradas, se os invasores mudarem para onde essas placas apontam, as pessoas podem ser direcionadas para áreas perigosas das cidades.
+
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 ====
 
==== DNSSEC PROTEGE USUÁRIOS FINAIS ====
Linha 21: Linha 22:
  
 
==== DNSSEC PROMOVE A INOVAÇÃO ====
 
==== 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 por qualquer pessoa na Internet. 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.
+
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 [[wikipedia:DNS-based_Authentication_of_Named_Entities|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? ===
 
=== Como posso colocar o DNSSEC em ação? ===
Em linhas gerais, o DNS possui dois lados: '''publicação''', que é feita pelos registrantes ou seus agentes, e '''consultas''' (resolução) feitas pelos operadores de redes como os provedores. Para aproveitar os benefícios do DNSSEC, ambos os lados devem implementar.
+
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. Assim, registrantes ou seus agentes simplesmente necessitam habilitar a assinatura de DNSSEC nos seus servidores (ou nos seus Registros/Registradores) fornecendo a informação de ''Delegation Signer Record'' para estabelecer a cadeia de confiança.
+
* 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 [https://registro.br .br] que adotou uma excelente prática de configuração automática para todos que optem pelo servidor autoritativo do [https://registro.br/tecnologia/dnssec/politica/ 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.
 
* PROVEDOR DE INTERNET: No lado das consultas é muito mais fácil. O provedor só precisa habilitar a validação de DNSSEC nos servidores recursivos.
  
Linha 31: Linha 32:
  
 
=== Quais são os custos associados ao DNSSEC? ===
 
=== Quais são os custos associados ao DNSSEC? ===
Os servidores de DNS em ambos lados de publicação e de consultas já suportam DNSSEC em suas últimas versões. Pode ser necessário atualizar a versão do software, o que é uma prática recomendável por diversos outros motivos.
+
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 é uma prática recomendável por diversos outros motivos.
* No lado da publicação, pode ser necessário modificar processos para enviar o parâmetro de ''Delegation Signer Record''  para o Registro. Pode haver custos operacionais nesta modificação, mas é um investimento feito uma única vez.
+
* 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.  
* No lado da resolução (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? ===
 
=== O que acontece se o DNSSEC não for implementado? ===
* <u>Clientes podem estar vulneráveis a ataques</u>: 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 formas de ataque são prevenidas, é provável que invasores aproveitem sites ou acessos que não utilizam DNSSEC.
+
* <u>Clientes podem estar vulneráveis a ataques</u>: 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.
 +
 
 +
=== Referência: ===
 +
"[https://www.icann.org/en/system/files/files/octo-006-en.pdf DNSSEC: Securing the DNS]

Edição atual tal como às 18h29min de 13 de abril de 2020

Resumo do documento "DNSSEC: Securing the DNS" publicado pelo escritório do CTO da ICANN com adaptações para a comunidade BPF. Í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.

Referência:

"DNSSEC: Securing the DNS