O que é DNSSEC?
O DNSSEC (Domain Name System Security Extensions) assina criptograficamente as respostas do DNS, de modo que quem consulta consegue distinguir a resposta autêntica de uma resposta forjada. Ele não esconde nada e não acelera nada: resolve a impossibilidade histórica de saber se a tradução de um nome pode ser confiada. A verificação sobe por uma cadeia de assinaturas até a raiz da internet, e só protege quando as duas pontas fazem a sua parte, porque assinar é decisão de quem tem o domínio e validar é decisão de quem consulta.
Como o DNSSEC funciona
A ideia é simples e a execução é encadeada: cada nível do DNS assina o seu conteúdo, e aponta para o nível de cima o suficiente para que ele confirme quem é. Quem consulta só precisa confiar no primeiro elo.
A zona é assinada
O dono do domínio gera um par de chaves e assina os seus registros. A assinatura de cada conjunto de registros vai num registro próprio, o RRSIG, que viaja junto da resposta.
A chave pública é publicada
A metade pública do par entra na própria zona, num registro DNSKEY. É com ela que qualquer resolvedor do mundo confere as assinaturas daquele domínio.
O elo com o nível de cima é registrado
Um resumo dessa chave é publicado na zona do pai, como registro DS, através do registrador do domínio. É esse passo, feito fora do painel de DNS, que amarra o seu domínio à cadeia.
O resolvedor sobe a cadeia e decide
Ao receber a resposta, o resolvedor confere a assinatura com a chave, confere a chave com o DS do nível de cima, e assim por diante até a raiz. Se algum elo não fechar, ele recusa a resposta em vez de repassá-la.
Fonte: RFC 4033, a especificação oficial do IETF que introduz o DNSSEC e define a cadeia de confiança como uma sequência alternada de registros DNSKEY e DS, cada elo atestando o seguinte, a RFC 4035, que define o comportamento do resolvedor validador e a recusa da resposta que não confere, e o material de medição do APNIC Labs sobre a diferença entre assinar e validar.
O que o DNSSEC não faz
- Ele não esconde a consulta. A norma é explícita: o DNSSEC não foi desenhado para oferecer confidencialidade nem controle de acesso. Quem observa a rede continua vendo quais nomes você procurou; o que muda é que a resposta não pode mais ser trocada sem que se perceba.
- Ele não protege contra indisponibilidade. Também está escrito na norma: o DNSSEC não oferece proteção alguma contra ataques de negação de serviço. Autenticidade e disponibilidade são problemas diferentes.
- Ele não impede o sequestro na origem. Se o criminoso obtém acesso à conta do domínio no registrador, ele passa a ser quem assina, e a cadeia fecha perfeitamente para uma resposta que é oficialmente errada.
- O benefício não aparece do seu lado. Assinar o seu domínio não protege a sua navegação: protege quem procura por você, e somente se o resolvedor dessa pessoa validar assinaturas. Você faz a sua metade inteira, e a outra metade nunca chega a ser sua.
As peças da cadeia de confiança
- DNSKEY (DNS Public Key), a chave pública da zona Fica publicada no próprio domínio e é o que permite a qualquer servidor do mundo conferir as assinaturas dele. Expor essa metade é intencional e não representa risco: com ela se verifica, nunca se assina.
- RRSIG (Resource Record Signature), a assinatura de cada conjunto Cada grupo de registros ganha a sua própria assinatura, que viaja junto da resposta e tem prazo de validade. Assinatura vencida não passa na conferência, o que faz da renovação uma tarefa contínua, não um projeto que termina.
- DS (Delegation Signer), o elo com o nível de cima Um resumo da sua chave, publicado na zona do pai através do registrador. É o único passo que não acontece no seu painel de DNS, e por isso é o que mais deixa projeto pela metade: a zona fica assinada e ninguém consegue validá-la.
- A raiz, a âncora de confiança O topo da cadeia já vem configurado de antemão em qualquer resolvedor que valide na internet pública. A norma chama isso de âncora de confiança: uma chave em que se confia por configuração, não por conferência. É o que torna o modelo viável: ninguém precisa confiar em cada domínio, só no primeiro elo.
Quem paga a conta e quem colhe o benefício
A característica que mais confunde quem decide é que o DNSSEC é um protocolo de duas pontas com donos diferentes. Assinar o seu domínio é uma decisão sua e você a executa sozinho; validar assinaturas é decisão de quem consulta, e você não manda nisso. Isso significa que o benefício de assinar não aparece no seu ambiente, aparece na experiência de terceiros que procuram por você, e apenas naqueles cujo resolvedor faz a conferência. É o oposto da intuição de quem está acostumado a comprar controles que protegem o próprio perímetro. Para uma empresa, a consequência prática é escolher o lado certo em cada caso: assinar o domínio protege clientes, parceiros e os servidores que entregam o seu e-mail contra receberem uma resposta forjada em seu nome; usar resolvedores validadores protege a sua própria operação contra ser levada ao lugar errado. As duas coisas são baratas e são independentes uma da outra, e a segunda é a que costuma ficar para trás por um motivo banal: a maior parte das redes usa o resolvedor que veio por padrão do provedor de acesso, e a validação hoje está concentrada em poucos resolvedores públicos (APNIC Labs). Trocar o resolvedor por um que valida é decisão de configuração, não de orçamento.
Como implantar o DNSSEC sem quebrar o domínio
Errar aqui não degrada o serviço, tira o domínio do ar para todo mundo que valida. A ordem existe por isso:
- Confirme que o provedor de DNS e o registrador suportamOs dois precisam suportar, e nem sempre são a mesma empresa. Descobrir isso depois de assinar é o que produz o domínio assinado que ninguém consegue validar.
- Assine a zona e confira antes de publicar o eloCom a zona assinada e ainda sem o DS no pai, nada muda para o mundo: é a janela para verificar se as assinaturas estão corretas sem risco de indisponibilidade.
- Publique o DS no registrador com o valor exatoEste é o passo manual e o mais perigoso: um resumo errado ou publicado fora de ordem faz todo resolvedor validador recusar o seu domínio. Confira o valor antes e verifique a cadeia depois.
- Trate a rotação de chave como rotina, não como projetoAs assinaturas vencem. Automatize a renovação e a troca de chave, e monitore o vencimento como você monitora certificado de site, porque a falha tem o mesmo efeito: o nome para de resolver.
- Do outro lado, use resolvedores que validamAssinar cuida de quem procura por você. Para proteger a sua própria operação, o que conta é o resolvedor que a sua rede usa conferir as assinaturas que recebe.
Na prática
É um reconhecimento de firma em cadeia: cada nível atesta a assinatura do nível abaixo, até um primeiro elo que todo mundo já conhece de antemão. E é isso que torna o modelo viável em escala planetária: a confiança não precisa ser negociada domínio a domínio, ela desce de um único ponto conhecido. Por isso a pergunta a fazer nunca é se você confia naquele domínio, e sim se a cadeia dele fecha até lá em cima.
Como a Zamak trata o DNSSEC
A Zamak Technologies trata o DNSSEC como duas decisões separadas, porque são: assinar a zona do cliente, com o elo publicado corretamente no registrador e a rotação de chave automatizada e monitorada, e do outro lado garantir que os resolvedores usados pela operação conferem assinatura. É a base que sustenta a autenticação de e-mail, já que DMARC e os demais registros de autenticação são respostas de DNS, e é a resposta direta ao envenenamento de cache DNS. Não se confunde com a filtragem de DNS, que decide se um domínio deve ser bloqueado: aqui a pergunta é se a resposta é autêntica. Quem quiser ver o estado do próprio domínio antes de qualquer conversa pode rodar a verificação gratuita de domínio, que mostra se a zona está assinada junto com o restante da autenticação. Isso faz parte da Cibersegurança gerenciada do Método Zamak.