- O DNSSEC adiciona assinaturas digitais e uma cadeia de confiança ao DNS para garantir a autenticidade e a integridade das respostas.
- A segurança prática exige zonas assinadas, validação do resolvedor e gerenciamento adequado das chaves KSK e ZSK.
- O DNSSEC não criptografa consultas nem impede ataques de negação de serviço (DoS); propostas como o E-DNSSEC também buscam fornecer confidencialidade ao tráfego DNS.

A internet é construída sobre alguns componentes essenciais que quase nunca vemos, mas que estão presentes sempre que abrimos um navegador. Um dos mais importantes é o Sistema de Nomes de Domínio (DNS), e quando falamos de DNSSEC e segurança em uma rede local , estamos na verdade falando sobre fortalecer essa base para evitar redirecionamentos fraudulentos, falsificação de identidade e outros ataques graves.
Antes, a prioridade era simplesmente garantir que tudo funcionasse; hoje sabemos que isso não basta. O DNS nasceu na década de 80 sem levar em conta os ciberataques massivos, mas agora precisamos que ele não apenas resolva nomes, como também valide a autenticidade e a integridade de cada resposta . É aí que entra o DNSSEC e, mais recentemente, propostas como o E-DNSSEC, que visam adicionar confidencialidade — um fator crucial se você se preocupa com a segurança da sua rede local ou corporativa.
O que é DNS e por que é tão importante para a segurança?
O Sistema de Nomes de Domínio (DNS ) é a lista telefônica da internet: ele traduz nomes fáceis de lembrar (como www.exemplo.com) em endereços IP numéricos que os computadores entendem (por exemplo, 192.168.2.15 ou um endereço IPv6). Sem esse mecanismo, teríamos que memorizar números em vez de nomes, o que é completamente impraticável.
Essa infraestrutura é organizada como um banco de dados distribuído em uma estrutura de árvore , com uma zona raiz no topo, seguida por domínios de nível superior (TLDs como .es, .com, .org) e, abaixo disso, domínios e subdomínios. Cada porção desse banco de dados é chamada de " zona " e é hospedada em um ou mais servidores de nomes autorizados, que publicam as informações "oficiais" para cada domínio.
Quando seu computador, celular ou qualquer outro dispositivo deseja acessar um site, ele começa consultando um resolvedor stub , que faz parte do sistema operacional. Esse resolvedor envia a consulta para um servidor DNS recursivo (geralmente o do seu provedor de internet, da sua empresa ou um servidor público como o Google Public DNS , OpenDNS ou Quad9). Esse servidor recursivo, então, busca a resposta consultando diversos servidores autoritativos até encontrar o endereço IP correto.
Os resolvedores recursivos armazenam em cache as respostas recebidas para acelerar as consultas subsequentes. Isso é muito eficiente, mas também abre caminho para que um atacante "envenene o cache DNS" e insira dados falsos , de modo que muitas solicitações subsequentes sejam resolvidas com essas informações manipuladas sem que o usuário perceba.
O principal problema é que, em seu projeto original, o DNS não possui um método robusto para verificar a autenticidade das respostas . O resolvedor basicamente verifica se a resposta parece vir do mesmo endereço IP consultado, mas esse endereço IP de origem pode ser falsificado com relativa facilidade. Isso permite ataques silenciosos de redirecionamento para sites fraudulentos que imitam, por exemplo, o site do seu banco.
Limitações de segurança do DNS tradicional
O protocolo DNS foi criado numa época em que a segurança não era uma preocupação primordial. É por isso que hoje sabemos que as consultas e respostas do DNS trafegam em texto simples , sem criptografia, e que os dados dos registros podem ser falsificados sem proteção adicional.
Isso abre caminho para diversos tipos de ataques, principalmente envenenamento de cache DNS e ataques do tipo "homem no meio". Em ambos os casos, o atacante injeta respostas falsificadas ao longo do caminho, fazendo com que os usuários acessem sites sob seu controle sem perceber nada de incomum, já que o nome de domínio exibido no navegador permanece legítimo.
Imagine que você acessa o site do seu banco: seu computador solicita o endereço IP do domínio do banco ao servidor recursivo, mas um invasor enganou o servidor para que ele aceite uma resposta falsa com o endereço IP de um site idêntico controlado por ele . O usuário insere suas credenciais, pensando que tudo está normal, e o cibercriminoso as recebe em texto simples para usar posteriormente no site verdadeiro.
Mecanismos como as Assinaturas de Transação (TSIG) , definidas na RFC 2845, servem para proteger certas operações entre servidores DNS (por exemplo, transferências de zona entre servidores mestre e escravo e atualizações dinâmicas). A TSIG permite que duas máquinas que compartilham uma chave secreta verifiquem a identidade da outra extremidade e a integridade das mensagens em trânsito.
No entanto, o TSIG tem um escopo muito limitado: ele não autentica a origem "real" dos dados DNS ; apenas garante que a troca entre dois servidores específicos não tenha sido adulterada. Se as informações originais em uma zona já estiverem comprometidas ou manipuladas antes de chegarem a esses servidores, o TSIG não detectará isso. Portanto, embora seja comumente usado para transferências de zona, ele não resolve o problema fundamental da autenticidade dos dados DNS publicados.
O que é DNSSEC e qual a sua contribuição para a segurança?
Em resposta a todas essas fragilidades, foram desenvolvidas as Extensões de Segurança do Sistema de Nomes de Domínio (DNSSEC) . O DNSSEC não substitui o DNS clássico, mas o estende com uma camada de segurança que permite verificar se os dados recebidos são legítimos e não foram alterados.
O DNSSEC é baseado em criptografia de chave pública (criptografia assimétrica) . Cada zona DNS possui um par de chaves: uma chave privada, que é mantida em segredo, e uma chave pública, que é publicada no próprio servidor DNS. O proprietário da zona usa a chave privada para assinar digitalmente os registros nessa zona; a chave pública é usada para verificar essas assinaturas.
Quando um servidor recursivo consulta um domínio usando DNSSEC, além das informações usuais (por exemplo, o endereço IP associado a um nome), ele também recebe as assinaturas digitais e as chaves públicas necessárias para validação . O servidor recursivo valida as assinaturas comparando-as com as chaves públicas publicadas; se a verificação for bem-sucedida, os dados são considerados autênticos e inalterados desde a assinatura.
Se a validação falhar, o resolvedor entende que algo está errado (por exemplo, uma tentativa de falsificação ou adulteração em trânsito) e responde ao cliente com um código de erro, normalmente SERVFAIL . Dessa forma, o usuário não recebe dados potencialmente maliciosos, embora, da sua perspectiva, tudo o que ele verá é que a página "não carrega" ou exibe um erro.
O DNSSEC também introduz o conceito de cadeia de confiança , que aproveita a hierarquia DNS existente. A zona raiz assina as chaves dos domínios de nível superior (como .es, .com), que por sua vez assinam as chaves de seus domínios filhos, e assim por diante, de modo que qualquer domínio possa ser validado usando um único ponto de confiança: a chave pública da zona raiz.
Chaves KSK e ZSK, registros e cadeia de confiança.
Para melhor organizar a segurança, o DNSSEC utiliza dois tipos diferentes de chaves: a Chave de Assinatura de Chave (KSK) e a Chave de Assinatura de Zona (ZSK) . Embora tecnicamente sejam iguais (em termos criptográficos), suas funções dentro do sistema são diferentes.
A chave ZSK é usada para assinar todos os registros de recursos na zona (A, AAAA, MX, etc.). Ela é normalmente rotacionada com frequência para minimizar riscos, já que qualquer comprometimento dessa chave afetaria todos os registros da zona. A chave KSK, por outro lado, é usada principalmente para assinar a própria chave da zona (ZSK), e seu hash é publicado como o registro DS (Delegation Signer) na zona pai.
Graças a essa separação de funções, alterar a ZSK é mais simples: basta gerar uma nova ZSK, assiná-la com a KSK, publicá-la nos registros DNSKEY da zona e deixar que os resolvedores atualizem suas informações. Não é necessário mexer na zona pai, já que o DS continua apontando para a mesma KSK, que permanece estável por mais tempo.
O DNSSEC adiciona vários tipos de registros específicos ao protocolo DNS, projetados para suportar assinatura e validação de dados. Entre os mais importantes estão DNSKEY, RRSIG, DS, NSEC/NSEC3 e NSEC3PARAM . Todos eles permitem criar lógica de autenticação sem alterar o funcionamento básico das consultas.
O registro DNSKEY armazena a chave pública da zona , necessária para verificar assinaturas. O registro RRSIG contém a assinatura digital associada a um conjunto específico de registros (um "Conjunto de Registros de Recursos"). O registro DS é um hash do DNSKEY da zona filha, que é publicado na zona pai e serve como um elo na cadeia de confiança.
Os registros NSEC e NSEC3 são usados para fornecer negação de existência autenticada ; ou seja, para provar criptograficamente que um nome de domínio ou registro não existe, impedindo ataques que tentam inserir respostas falsas indicando que algo não existe quando na verdade existe (ou vice-versa).
Validação da cadeia de confiança e da resposta DNSSEC
A chamada cadeia de confiança no DNSSEC é construída vinculando registros DNSKEY e DS da raiz ao domínio que desejamos validar . O ponto de partida é a chave pública da zona raiz, que atua como uma âncora de confiança e geralmente é configurada diretamente nos resolvedores recursivos.
Por exemplo, se você quiser validar um domínio como mywebsite.es, o processo lógico seria: o resolvedor confia na chave pública da raiz, que assina a chave .es; a zona .es publica um registro DS correspondente à chave KSK de mywebsite.es; ao validar esse DS com a chave .es, o resolvedor confia na DNSKEY de mywebsite.es e, a partir daí, pode verificar os RRSIGs em todos os seus registros.
Se uma assinatura válida estiver ausente em qualquer ponto da cadeia, ou se a assinatura de dados (DS) não estiver presente onde deveria, a cadeia de confiança é quebrada. Nesse caso, o servidor recursivo que realiza a validação não considera os dados seguros e, dependendo de sua configuração, ou não responde com os registros solicitados ou marca a resposta como inválida.
Essa relação hierárquica também significa que, para o DNSSEC ser realmente eficaz, não basta assinar apenas a sua zona : a zona pai (por exemplo, .es) e a zona raiz também devem ser assinadas e ter seus registros DNS publicados corretamente. Atualmente, a zona raiz do DNS e praticamente todos os domínios genéricos de nível superior (gTLDs) e muitos domínios de nível superior de código de país (ccTLDs) já estão assinados.
Quando um servidor recursivo com validação DNSSEC habilitada detecta que a assinatura não corresponde ou que um link está faltando, a resposta que ele retorna ao cliente geralmente é acompanhada por um código de erro RCODE SERVFAIL. Isso pode ser confuso para o usuário final ("o site não está funcionando"), mas, do ponto de vista da segurança, é uma medida de proteção contra dados potencialmente manipulados.
O DNSSEC também introduz duas funcionalidades principais: autenticação de origem de dados , que permite verificar se os registros realmente provêm da zona esperada, e proteção de integridade , que garante que as informações não foram modificadas desde que foram assinadas pelo proprietário da zona com sua chave privada.
Ataques mitigados pelo DNSSEC e sua relação com TLS/HTTPS
A implementação do DNSSEC ajuda a proteger contra diversas ameaças comuns. Em primeiro lugar, torna extremamente difícil a falsificação de respostas DNS , uma vez que o atacante teria de gerar assinaturas válidas sem conhecer a chave privada da zona, o que é criptograficamente impossível se as chaves forem gerenciadas corretamente.
Além disso, o DNSSEC reduz o risco de envenenamento de cache em servidores recursivos , impedindo a aceitação de respostas manipuladas que falham na validação da assinatura. Ele também dificulta ataques do tipo "homem no meio" (MITM) ao tráfego DNS, nos quais um atacante modifica as respostas em trânsito: se a resposta falhar na validação, o resolvedor a descarta.
É importante entender, no entanto, o que o DNSSEC não faz. Essas extensões não foram projetadas para criptografar o conteúdo de consultas ou respostas . Todo o tráfego DNS, mesmo com DNSSEC, ainda trafega em texto simples, a menos que você use outras tecnologias complementares (como DoT, DoH ou soluções do tipo E-DNSSEC). O DNSSEC se concentra em garantir que o que você recebe seja autêntico e não tenha sido alterado, não em ocultar o que você está solicitando.
Isso o diferencia claramente de protocolos como TLS e HTTPS . Enquanto o HTTPS criptografa o tráfego entre o navegador e o servidor web para impedir que terceiros espionem ou modifiquem a comunicação, o DNSSEC simplesmente assina os dados DNS para detectar falsificação. Um site pode ter HTTPS sem DNSSEC ou DNSSEC sem HTTPS, mas a combinação de ambos oferece uma proteção muito mais abrangente contra falsificação e espionagem.
Organizações como a ICANN e a IETF vêm promovendo há anos a adoção generalizada do DNSSEC por registros, registradores, provedores de internet e operadoras de rede. O objetivo é que cada vez mais zonas sejam assinadas e que mais resolvedores as validem ativamente, para que o usuário comum possa se beneficiar dessas garantias criptográficas sem precisar realizar nenhuma ação especial.
DNSSEC em domínios .es e obrigações do proprietário
No caso específico da Espanha, a unidade de domínios ".es" gerenciada pela Red.es incorporou há muito tempo tecnologias e procedimentos adicionais para melhorar a qualidade e a segurança do serviço DNS sob o código de país .es. Entre essas medidas está a implementação de um protocolo de segurança DNSSEC em conformidade com as especificações da IETF.
Os domínios .es são responsáveis por assinar a zona de nível superior .ES e obter autorização da raiz DNS, integrando-se assim à cadeia global de confiança. Isso significa que, se você possui um domínio .es, pode aproveitar essa infraestrutura para proteger seu próprio domínio com DNSSEC.
Como proprietário de um domínio, o procedimento geral para habilitar o DNSSEC envolve garantir que seus servidores DNS autoritativos publiquem a zona assinada. Normalmente, isso implica gerar uma chave pública para sua zona, assinar os registros, publicar a chave DNS e, em seguida, enviar o material da chave (ou o próprio registro DS) ao registro ou ao seu registrador para que eles possam criar o registro DS correspondente na zona pai.
Na prática, muitos provedores de hospedagem DNS e registradores já oferecem uma opção bastante simples para habilitar o DNSSEC, às vezes tão fácil quanto marcar uma caixa no painel de controle. No entanto, pode haver um pequeno custo anual associado a essa funcionalidade, dependendo do provedor e do nível de serviço.
Assim que a zona for assinada e o Sistema de Nomes de Domínio (DNS) for publicado com sucesso, seu domínio passa a fazer parte da cadeia de confiança DNSSEC. A partir desse momento, as resoluções de DNS para o seu domínio podem ser validadas criptograficamente por resolvedores que tenham a validação DNSSEC habilitada, aumentando a confiança do usuário e reduzindo o risco de ataques de falsificação.
DNSSEC na rede local: validação do lado do usuário
Do ponto de vista de um usuário final ou de uma empresa preocupada com a segurança de sua rede local, a questão principal é: o que é necessário para se beneficiar do DNSSEC? A boa notícia é que você não precisa configurar nada individualmente em cada computador , desde que seu servidor DNS recursivo (aquele que seus computadores usam) valide o DNSSEC.
Para isso, basta que seu provedor de DNS (seu provedor de internet, um servidor DNS público ou o DNS interno da sua organização) tenha um servidor recursivo com a validação DNSSEC habilitada e configurada corretamente . Praticamente todos os servidores DNS modernos suportam DNSSEC há anos; habilitá-lo geralmente envolve apenas algumas alterações no arquivo de configuração e a adição da âncora de confiança raiz.
Uma vez que a validação esteja habilitada, quando um dos seus computadores na rede local consultar um domínio assinado, o resolvedor recursivo verificará todas as assinaturas e a cadeia de confiança antes de retornar a resposta. Se algo não corresponder, nenhum registro será retornado e o usuário verá um erro, impedindo-o de se conectar a um site potencialmente fraudulento.
Para verificar se seu domínio está protegido por DNSSEC, existem diversas ferramentas online disponíveis, como o DNSSEC Analyzer e outros utilitários de validação . Ao inserir seu domínio, você deverá ver registros como RRSIG (assinaturas criptográficas), DNSKEY (chaves públicas) e DS (hash do DNSKEY na zona pai). Se a ferramenta indicar que não há assinatura digital associada aos registros, seu domínio será considerado "não assinado" ou "inseguro".
Se, após essa verificação, você constatar que seu domínio ou os servidores DNS que você usa em sua rede local não estão utilizando o DNSSEC, é recomendável entrar em contato com seu provedor de serviços ou ISP para solicitar a ativação. Caso eles não ofereçam essa opção, pode ser um bom momento para considerar a mudança para um provedor que ofereça suporte à validação DNSSEC, aumentando assim o nível de segurança tanto para sua empresa quanto para seus clientes.
Limitações do DNSSEC: privacidade e outros aspectos
Apesar de todas as suas vantagens, o DNSSEC não é uma solução mágica para todos os problemas de segurança do DNS. Uma questão fundamental é que ele não oferece confidencialidade das consultas . Os pacotes DNS, mesmo com DNSSEC, ainda trafegam em texto não criptografado, portanto, qualquer pessoa com acesso ao tráfego (por exemplo, em uma rede Wi-Fi pública não segura ) pode ver quais domínios estão sendo consultados.
Além disso, não oferece controle de acesso nem defesa específica contra ataques de negação de serviço (DoS ou DDoS) . Na verdade, ao adicionar mais dados (assinaturas, chaves, registros adicionais), aumenta o tamanho das respostas de DNS, o que pode ser explorado em ataques de amplificação caso a infraestrutura não esteja devidamente configurada e protegida.
Por outro lado, o DNSSEC introduz alguma complexidade operacional: os pares de chaves devem ser gerenciados, as chaves ZSK e KSK devem ser rotacionadas, a publicação do DS na zona pai deve ser coordenada e deve-se garantir que não haja incompatibilidades que quebrem a cadeia de confiança. Um erro nesses procedimentos pode fazer com que um domínio pare de validar corretamente, gerando aparentes interrupções de serviço.
Dentro do próprio processo DNSSEC, existem bits de controle nas mensagens (como o bit CD nas consultas e o bit AD nas respostas) que influenciam a forma como a validação é realizada e relatada. Um atacante que conseguisse manipular esses bits em um ambiente inseguro poderia tentar degradar a proteção oferecida por um resolvedor recursivo. Portanto, recomenda-se que a comunicação entre resolvedores e clientes que utilizam DNSSEC ocorra por meio de canais seguros.
Apesar dessas limitações, o DNSSEC continua sendo um componente essencial para fortalecer a autenticidade e a integridade do DNS. No entanto, para ir além e garantir também a confidencialidade das consultas, é necessário combiná-lo com outras tecnologias ou evoluir para soluções mais avançadas.
E-DNSSEC: Rumo a um DNS autenticado e criptografado
Para solucionar a lacuna de privacidade deixada pelo DNSSEC, foi proposto o conceito de E-DNSSEC (DNSSEC criptografado) . A ideia por trás dessa abordagem é adicionar criptografia às consultas DNSSEC para que, além de serem autenticadas e assinadas, também sejam protegidas contra inspeção de terceiros durante a transmissão pela internet ou pela rede local.
O objetivo do E-DNSSEC é combinar as propriedades do DNSSEC (autenticidade e integridade) com mecanismos de criptografia que fornecem confidencialidade para as consultas entre o cliente DNSSEC e o servidor DNSSEC . Isso aumenta a segurança geral do serviço DNS, impedindo que observadores externos vejam quais nomes de domínio estão sendo resolvidos.
O processo conceitual envolveria analisar a consulta no servidor recursivo, criptografá-la antes de enviá-la ao servidor autoritativo e, em seguida, descriptografá-la e processá-la normalmente usando DNSSEC . A resposta, por sua vez, poderia ser retornada assinada e criptografada para o servidor recursivo ou para o cliente, mantendo a confidencialidade durante todo o processo.
Essa combinação garantiria que a mensagem DNS estivesse segura do início ao fim do processo de resolução: autenticada e com integridade graças ao DNSSEC, e protegida de olhares indiscretos graças à criptografia adicional. Em um contexto de rede local ou corporativa, essa abordagem poderia ser integrada a outras soluções de segurança de perímetro.
Hoje, propostas como o E-DNSSEC fazem parte de um esforço mais amplo para fortalecer a privacidade do DNS , juntamente com tecnologias como DNS sobre TLS (DoT) e DNS sobre HTTPS (DoH). A direção subjacente é clara: o DNS do futuro deve ser autêntico e confidencial, e não basta simplesmente resolver nomes rapidamente; isso também deve ser feito de forma segura.
Em um ambiente onde os ciberataques, as falsificações de identidade e as ameaças direcionadas a infraestruturas básicas são cada vez mais sofisticados, ter DNSSEC já é um requisito de segurança importante para qualquer domínio sério, e a adoção de soluções criptografadas como o E-DNSSEC ou similares surge como um próximo passo lógico para fortalecer ainda mais a proteção das redes, incluindo as redes locais.
Todo esse ecossistema — do DNS clássico ao DNSSEC e soluções criptografadas como o E-DNSSEC — demonstra que a segurança do DNS não é um extra opcional, mas sim um componente essencial da arquitetura da internet e de qualquer rede local moderna. Ter resolvedores que validam, zonas assinadas, cadeias de confiança bem mantidas e, no futuro, canais criptografados para consultas, faz toda a diferença entre uma rede vulnerável e uma infraestrutura preparada para os desafios atuais e futuros.