DNSSEC: autenticando respostas DNS
Aprenda como o DNSSEC usa assinaturas digitais para proteger o DNS contra falsificação e ataques de envenenamento de cache.
DNSSEC: autenticando respostas DNS é uma aula grátis de Cryptology Academy no CoddyKit. Esta é a aula 4 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Cryptology Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Cryptology Academy inclui 4 aulas no total.
Envenenamento de cache do DNS: o ataque Kaminsky
Em 2008, o pesquisador Dan Kaminsky divulgou um ataque crítico contra resolvedores de DNS. O ataque explorava o pequeno campo de ID de transação de 16 bits nas respostas DNS. Ao inundar um resolvedor com respostas falsificadas contendo valores de ID de transação aleatórios, um invasor poderia ter sucesso estatístico ao coincidir com o ID de transação legítimo antes que a resposta real chegasse. Um cache envenenado redireciona todos os usuários desse resolvedor para servidores controlados pelo invasor durante semanas, até o cache expirar.
O que o DNSSEC acrescenta ao DNS
DNSSEC (Extensões de Segurança do DNS) acrescenta autenticação criptográfica às respostas DNS. Cada conjunto de registros DNS em uma zona assinada com DNSSEC é acompanhado por uma assinatura digital. Os resolvedores validadores verificam essas assinaturas antes de aceitar os registros. Uma resposta falsificada ou modificada terá uma assinatura inválida e será rejeitada. DNSSEC protege contra envenenamento de cache e falsificação de respostas, mas não criptografa as consultas DNS.
Chave de assinatura da zona e chave de assinatura de chaves
DNSSEC usa uma hierarquia de duas chaves por zona. A chave de assinatura da zona (ZSK) é usada para a assinatura cotidiana de conjuntos individuais de registros DNS. A chave de assinatura de chaves (KSK) assina apenas o conjunto de registros DNSKEY, que contém as chaves públicas da ZSK e da KSK. A ZSK pode ser alternada com frequência, mensalmente, enquanto a KSK muda com menos frequência, anualmente, porque o hash da KSK precisa ser registrado na zona pai e a alternância é operacionalmente complexa.
RRSIG: assinaturas de registros de recursos
Cada conjunto de registros DNS assinado, chamado RRset, tem um registro RRSIG correspondente que contém a assinatura criptográfica desse RRset. Quando um resolvedor solicita um registro DNS, a resposta inclui tanto o registro quanto seu RRSIG. O resolvedor verifica o RRSIG usando a chave pública da zona. A assinatura abrange o conteúdo, o tipo, a classe e o tempo de expiração do registro, impedindo tanto modificações quanto a reprodução de assinaturas válidas antigas.
Registros DS: vinculando zonas pai e filhas
A cadeia de confiança no DNSSEC é construída por meio de registros de Assinante de Delegação (DS). Quando uma zona delega para uma zona filha, a zona pai publica um registro DS contendo um hash da KSK da zona filha. Um resolvedor que confia na zona pai pode verificar se o hash da KSK da filha corresponde ao registro DS, estabelecendo confiança nas assinaturas da zona filha. Essa cadeia se estende da zona raiz do DNS, passando pelos domínios de nível superior, até as zonas de domínios individuais.
Registro DNSKEY: publicando a chave pública da zona
Cada zona assinada com DNSSEC publica suas chaves públicas de assinatura em registros DNSKEY. Normalmente, há dois registros DNSKEY: um para a ZSK e outro para a KSK. O hash da chave pública da KSK é registrado como um registro DS na zona pai, ancorando a confiança da zona à sua zona pai. O hash da KSK da zona raiz é incorporado aos resolvedores validadores como a âncora de confiança definitiva, chamada Âncora de Confiança da Zona Raiz.
A cadeia de confiança da raiz à folha
A validação do DNSSEC começa na zona raiz, cuja âncora de confiança da KSK é incorporada aos resolvedores. A DNSKEY da zona raiz é usada para verificar seu RRSIG, que autentica os registros DS de domínios de nível superior como .com. A DNSKEY da zona .com verifica seu RRSIG nos registros DS de domínios individuais. Essa cadeia de verificação criptográfica se estende da raiz até o domínio consultado, garantindo que cada elo seja autenticado.
Validação do DNSSEC em resolvedores
Quando um resolvedor que valida DNSSEC recebe uma resposta, ele realiza a verificação completa da cadeia de confiança. Ele recupera registros DNSKEY, verifica assinaturas RRSIG, rastreia registros DS até a âncora raiz e verifica os tempos de expiração das assinaturas. Se a validação falhar, o resolvedor retorna um erro SERVFAIL em vez dos registros potencialmente falsificados. A maioria dos principais resolvedores públicos, incluindo o 1.1.1.1 da Cloudflare e o 8.8.8.8 do Google, realiza validação do DNSSEC.
Desafios da implantação do DNSSEC
A implantação do DNSSEC tem sido lenta, apesar de seus benefícios de segurança. A rotação de chaves exige coordenação entre os operadores das zonas e os registros das zonas pai. Um erro durante a rotação da KSK pode tornar toda a zona inacessível. A rotação da KSK raiz da ICANN em 2019 exigiu anos de preparação. O tamanho das zonas aumenta significativamente com as assinaturas. Os operadores precisam implementar rotação automática de chaves e monitoramento. Essas complexidades operacionais levaram muitos operadores de domínios menores a evitar o DNSSEC.
DNSSEC não criptografa o tráfego DNS
Um equívoco comum é pensar que DNSSEC fornece privacidade para consultas DNS. Não fornece. DNSSEC apenas autentica respostas; as consultas e respostas continuam trafegando como pacotes UDP em texto simples na porta 53. Qualquer pessoa que monitore a rede ainda poderá ver todos os nomes de domínio consultados. DNS sobre TLS (DoT) e DNS sobre HTTPS (DoH) fornecem privacidade às consultas ao criptografar o tráfego DNS. DNSSEC e DoH/DoT são complementares: um fornece autenticidade e os outros fornecem confidencialidade.
DNSSEC no mundo real
Em 2024, aproximadamente 90% da zona raiz do DNS e dos principais domínios de nível superior estavam assinados com DNSSEC. No entanto, apenas cerca de 20% a 30% dos nomes de domínio individuais estavam assinados. A adoção da validação do DNSSEC por navegadores e aplicativos é desigual. O benefício de segurança do DNSSEC é maior quando combinado com DANE (Autenticação baseada em DNS de entidades nomeadas), que usa DNSSEC para publicar impressões digitais de certificados TLS e permite que os clientes verifiquem certificados sem depender exclusivamente de autoridades certificadoras.
Cadeia de confiança do DNSSEC
Como um resolvedor que valida DNSSEC estabelece confiança nos registros DNS de um domínio começando do zero?
DNSSEC: principais conclusões
DNSSEC adiciona assinaturas criptográficas às respostas DNS para impedir envenenamento de cache e falsificação de respostas. As ZSKs assinam conjuntos de registros; as KSKs assinam registros DNSKEY; os registros DS estabelecem a cadeia de confiança entre zonas pai e filhas. A validação começa na Âncora de Confiança da Zona Raiz, incorporada aos sistemas. DNSSEC não criptografa o tráfego DNS; DoH e DoT fornecem privacidade, enquanto DNSSEC fornece autenticidade. A complexidade operacional, incluindo a rotação de chaves, retardou a adoção generalizada.
Perguntas Frequentes
A aula “DNSSEC: autenticando respostas DNS” é grátis?
Sim — o texto completo de “DNSSEC: autenticando respostas DNS” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Cryptology Academy, atualize para CoddyKit PRO. O curso de Cryptology Academy inclui 4 aulas no total.
O que vou aprender em “DNSSEC: autenticando respostas DNS”?
Aprenda como o DNSSEC usa assinaturas digitais para proteger o DNS contra falsificação e ataques de envenenamento de cache. Você pratica Cryptology Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Cryptology Academy?
Nenhuma experiência prévia é necessária. Cryptology Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 4 de 4.
Quanto tempo leva a aula “DNSSEC: autenticando respostas DNS”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Cryptology Academy?
Sim. Cada aula de Cryptology Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- O que torna um protocolo seguro
- SSH: protegendo o acesso remoto
- SFTP e SCP: transferência segura de arquivos
- DNSSEC: autenticando respostas DNS