O que é o DNSSEC? Extensões de segurança do DNS explicadas
O DNSSEC (DNS Security Extensions) é um conjunto de extensões que acrescentam autenticação criptográfica às respostas DNS. Sem DNSSEC, um atacante pode forjar respostas DNS e desviar o tráfego para servidores maliciosos — uma técnica conhecida como envenenamento de cache DNS.
O problema que o DNSSEC resolve
O DNS clássico foi concebido sem pensar em segurança. Quando o seu computador pergunta «qual é o endereço IP de bank.com?», confia na resposta que recebe. Um atacante colocado entre si e o servidor DNS pode injectar uma resposta falsa e encaminhá-lo para um site de phishing.
O DNSSEC resolve isto fazendo com que as zonas DNS assinem os seus registos com uma chave privada. Os resolvers podem verificar a assinatura com a chave pública correspondente, garantindo que a resposta veio do legítimo proprietário da zona.
Como funciona o DNSSEC
- O proprietário da zona gera um par de chaves (registos DNSKEY) e assina todos os registos DNS com a chave privada, produzindo registos RRSIG
- A chave pública (DNSKEY) é publicada no DNS
- Um hash da chave pública (registo DS) é submetido à zona superior (.com, .org, etc.)
- A zona superior também está assinada, e assim até à zona raiz
- Quando um resolver recebe uma resposta DNS, segue a cadeia de confiança desde a raiz para verificar as assinaturas
Tipos de registo do DNSSEC
| Record Type | Purpose |
|---|---|
DNSKEY | A chave pública de assinatura da zona |
DS | Hash da DNSKEY da zona inferior, guardado na zona superior |
RRSIG | Assinatura criptográfica sobre um conjunto de registos DNS |
NSEC / NSEC3 | Prova de que um registo não existe (negação de existência) |
A cadeia de confiança
O DNSSEC cria uma cadeia de confiança desde a zona raiz até aos domínios individuais:
Root zone (.) ← Trust anchor, key is published by IANA
└─ .com zone ← Signed, DS record in root zone
└─ example.com ← Signed, DS record in .com zone
└─ DNS records ← Signed with example.com's keyA chave da zona raiz (a «âncora de confiança») está integrada nos resolvers que validam DNSSEC. É o ponto de partida de toda a verificação.
O DNSSEC NÃO cifra o tráfego
Uma confusão comum: o DNSSEC autentica as respostas DNS mas não as encrypt . As consultas e respostas DNS continuam a circular em texto simples. Para privacidade, use:
- DNS-over-HTTPS (DoH) — cifra o tráfego DNS por HTTPS
- DNS-over-TLS (DoT) — cifra o tráfego DNS por TLS
Como activar o DNSSEC no seu domínio
- Verifique se o seu fornecedor de alojamento DNS suporta a assinatura DNSSEC
- Active a assinatura DNSSEC no painel de controlo do seu fornecedor de DNS
- O seu fornecedor gera os registos DNSKEY e assina a sua zona
- Copie os valores do registo DS mostrados pelo seu fornecedor de DNS
- Submeta o registo DS ao seu registrar de domínios (normalmente pelo painel de controlo dele)
- Aguarde a propagação (pode demorar até 48 horas)
Verifique o estado do seu DNSSEC
Veja a teoria na prática — execute Verificação DNSSEC para o seu próprio domínio.