Dois Registos DNS que Demoram 3 Minutos a Criar: Como o CAA e o DNSSEC Impedem a Emissão de Certificados SSL Fraudulentos

Dois Registos DNS que Demoram 3 Minutos a Criar: Como o CAA e o DNSSEC Impedem a Emissão de Certificados SSL Fraudulentos

A Grande Fragilidade dos Certificados SSL: Confiança Cega em Mais de 100 Entidades

Cada cadeado verde, ligação segura por HTTPS e sessão encriptada na internet assenta numa premissa desconfortável: a infraestrutura mundial de chaves públicas (PKI) baseia-se em confiança mútua e cega.

O teu computador e o browser do teu cliente confiam por omissão em mais de 100 Autoridades de Certificação (CAs) espalhadas por dezenas de países. Pelas regras padrão da web, qualquer uma dessas mais de 100 entidades pode emitir um certificado SSL/TLS legítimo para o teu domínio.

O PERIGO DE CONFIANÇA CEGA NAS AUTORIDADES SSL

  • A Tua Empresa: Usa apenas o Let’s Encrypt no teu servidor com Nginx
  • Um Atacante Invade uma Autoridade Regional num País Distante: Pede um certificado fraudulento para: https://oteudominio.com/
  • A Autoridade Corrompida Emite o Certificado! (Assinado por raiz confiável)
  • O Invasor Faz um Ataque Man-in-the-Middle (MitM) na Ligação do Cliente: O Browser Mostra Cadeado Verde sem Avisos! As Senhas dos Clientes são Roubadas!

Se criminosos conseguirem invadir uma autoridade de certificação menos protegida, enganarem o sistema de validação automática por manipulação de rotas BGP ou corromperem um funcionário interno, podem criar um certificado perfeitamente válido com o nome exato da tua empresa. O browser dos teus utilizadores não vai emitir qualquer aviso de perigo e o tráfego encriptado pode ser escutado e descodificado sem que te apercebas.

Para resolveres este problema grave, só precisas de configurar dois registos no teu DNS: Registos CAA (RFC 8659) e DNSSEC (RFC 4033).

Nos serviços de alojamento gerido e nas sessões de consultoria técnica que prestamos na nossa empresa, ativamos estas proteções em todos os ambientes baseados em Debian GNU/Linux para blindar o domínio contra emissões fraudulentas.


O que São Registos CAA: A Lista Fechada de Emissores Autorizados

O registo CAA (Certificate Authority Authorization) funciona como uma lista de autorização prévia colocada diretamente na raiz do teu domínio.

Desde setembro de 2017, o conselho CA/Browser Forum tornou obrigatório por lei que todas as entidades emissoras comerciais consultem o DNS do domínio antes de assinarem qualquer certificado. Se publicares um registo CAA e uma autoridade não autorizada receber um pedido para o teu site, está proibida de o emitir.

VERIFICAÇÃO OBRIGATÓRIA DO REGISTO CAA

  • O Atacante Tenta Obter um Certificado numa CA Comercial
  • A Entidade Certificadora Faz a Pergunta ao DNS: dig CAA oteudominio.com
  • O TEU REGISTO CAA DEVOLVIDO: oteudominio.com. IN CAA 0 issue “letsencrypt.org” oteudominio.com. IN CAA 0 iodef “mailto:seguranca@oteudominio.com”
  • A Entidade Verifica: “Eu não sou o Let’s Encrypt! Não posso emitir nada!”
  • O Pedido é BLOQUEADO! É Enviado um Alerta para seguranca@oteudominio.com!

Os Três Tipos de Parâmetros num Registo CAA:

  • issue: Declara quais as autoridades autorizadas a emitir certificados para o domínio ou subdomínios (ex: "letsencrypt.org").
  • issuewild: Controla a emissão de certificados com asterisco (*.oteudominio.com). Se definires issue "letsencrypt.org" e colocares issuewild ";" (um ponto e vírgula), nenhuma entidade no mundo poderá emitir certificados wildcard para o teu site.
  • iodef: Define o email ou endereço web para onde devem ser enviados relatórios imediatos se alguém tentar violar a regra.

Porque Precisas do DNSSEC para o Teu CAA Ser Inviolável

Um registo CAA sozinho tem uma fraqueza crítica: o DNS vulgar viaja em texto claro.

Por omissão, as perguntas de DNS viajam pela rede sem encriptação através da porta UDP 53. Se um atacante tiver controlo sobre o router do teu fornecedor de internet ou conseguir injetar respostas falsas no servidor de DNS, ele pode responder à autoridade certificadora dizendo: “O domínio oteudominio.com não tem qualquer registo CAA.” A autoridade assume que não existem restrições e emite o certificado falso.

É por esta razão que o DNSSEC (Domain Name System Security Extensions) é obrigatório.

A CADEIA CRIPTOGRÁFICA DE CONFIANÇA DO DNSSEC

  • Zona Raiz ICANN (.) → Assina a chave da zona .pt / .com
  • Registo do TLD (.pt) → Assina a chave do teu domínio (Registo DS)
  • Os Teus Nameservers → Assinam o registo CAA com a tua chave (Registo RRSIG)
  • O Servidor de DNS / CA: Valida a assinatura matemática em milissegundos!
  • Resultado: É impossível apagar ou alterar o teu CAA em trânsito!

O DNSSEC não serve para esconder os nomes dos teus domínios; serve para anexar uma assinatura digital matemática (RRSIG) a cada entrada da tua zona de DNS. A cadeia de confiança começa na raiz mundial da ICANN, desce até ao registo do teu país (como a DNS.PT) e valida a resposta do teu servidor de nomes.

Se alguém tentar falsificar ou esconder o teu registo CAA no caminho, a assinatura digital não bate certo e o servidor recursivo descarta a resposta falsa com o erro SERVFAIL.


Configuração em 3 Minutos: Como Adicionar o CAA e Ativar o DNSSEC

Vamos configurar estas duas barreiras de segurança. O processo é extremamente simples em serviços como a Cloudflare ou no teu gestor de DNS habitual.

1. Adiciona os Registos CAA na Tua Zona de DNS

Insere as seguintes entradas na tabela de DNS do teu domínio:

; Autoriza apenas o Let's Encrypt para emissão comum
oteudominio.com.    3600    IN    CAA    0 issue "letsencrypt.org"

; Bloqueia terminantemente a criação de certificados wildcard (*.dominio)
oteudominio.com.    3600    IN    CAA    0 issuewild ";"

; Recebe notificações de segurança em caso de tentativas suspeitas
oteudominio.com.    3600    IN    CAA    0 iodef "mailto:seguranca@oteudominio.com"

Se a tua infraestrutura também usar certificados da Google Trust Services ou da DigiCert, basta acrescentares uma segunda linha issue:

oteudominio.com.    3600    IN    CAA    0 issue "pki.goog"

2. Ativa o DNSSEC com um Clique

  1. No painel da Cloudflare (ou no teu fornecedor de DNS), entra na secção DNS → Definições → DNSSEC.
  2. Clica em Ativar DNSSEC. O sistema vai gerar automaticamente as informações do teu registo DS (Delegation Signer):
    • Key Tag (ex: 2371)
    • Algoritmo (ex: 13 - ECDSA Curve P-256 com SHA-256)
    • Tipo de Digest (ex: 2 - SHA-256)
    • Digest Criptográfico (ex: E2D3C4...)
  3. Copia esses dados e cola-os na área de gestão do teu registrador de domínio (Namecheap, PTisp, OVH, etc.).
  4. Passados 15 minutos, a zona do teu domínio fica assinada e protegida a nível mundial.

Como Validar as Tuas Novas Defesas na Consola Linux

Nunca dês uma configuração de segurança como concluída sem a testares diretamente no terminal do teu computador:

# 1. Confirma se os registos CAA estão a ser entregues publicamente
dig +noall +answer CAA oteudominio.com

# 2. Testa a validação criptográfica do DNSSEC com o dig
dig +dnssec +multiline oteudominio.com CAA

Presta atenção especial às informações devolvidas no cabeçalho:

;; flags: qr rd ra ad; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 1

O detalhe fundamental é a presença da sigla ad (Authenticated Data) nas flags! Esta marca certifica que o servidor de DNS validou matematicamente a assinatura criptográfica desde a raiz da internet até ao teu registo.

LISTA DE VALIDAÇÃO DO TEU DOMÍNIO NA CONSOLA

  • Comando: dig +dnssec oteudominio.com CAA
  • Passo 1: O cabeçalho apresenta a flag “ad” (Authenticated Data)? → SIM!
  • Passo 2: O registo RRSIG com a assinatura digital é devolvido? → SIM!
  • Passo 3: Se procurares um subdomínio falso, recebes prova NSEC3? → SIM!

Como Funcionam os Alertas de Tentativas Suspeitas

Se alguém tentar pedir um certificado para o teu domínio junto de outra autoridade, o sistema bloqueia o pedido e a entidade envia-te um alerta automático para o endereço indicado no iodef:

{
  "caa-report": {
    "certificate-authority": "digicert.com",
    "domain": "oteudominio.com",
    "request-time": "2026-10-19T14:32:00Z",
    "validation-method": "dns-01",
    "account-id": "ip-desconhecido-198.51.100.42",
    "status": "rejected-caa-policy-violation"
  }
}

Esta notificação dá-te um aviso prévio crucial para investigares se existem contas de colaboradores com credenciais expostas ou se alguém está a tentar realizar um ataque contra a tua marca.

Em escassos minutos consegues fechar uma das portas de ataque mais negligenciadas na web. Com base no nosso lema de anti-over-engineering, elevas a segurança dos teus sistemas recorrendo aos padrões abertos e nativos da própria internet. Podes ainda consultar ferramentas de auditoria no GitHub para acompanhares o estado do teu domínio permanentemente.

No terreno, em conjunto com a experiência acumulada na Webxtek Studio, aplicamos exatamente estes padrões operacionais em setores exigentes como cibersegurança b2b e inteligência corporativa e cibersegurança. Quando alinhas a tua estrutura através de alojamento gerido para websites e aplicações e consultoria técnica antes de construir, transformas boas práticas técnicas numa vantagem competitiva real e mensurável para o teu negócio.

[+] [ INDEX_DIRECTORY ] 17 tópicos ▼
[ SYSTEM.FAQ ]

Perguntas Frequentes

O que é um registo DNS do tipo CAA (Certificate Authority Authorization)?

O registo CAA (RFC 8659) é uma entrada de DNS que declara quais as entidades certificadoras (CAs) autorizadas a emitir certificados SSL/TLS para o teu domínio. Desde 2017 que todas as autoridades mundiais são legalmente obrigadas a consultar estes registos antes de emitirem qualquer certificado. Se um invasor tentar pedir um certificado numa entidade não autorizada, o pedido é rejeitado de imediato.

Porque é que ter um registo CAA não serve de nada se não tiveres o DNSSEC ativo?

Se o teu domínio não tiver DNSSEC, as respostas de DNS circulam em texto claro por UDP na porta 53. Um atacante que manipule a rede local ou faça envenenamento de cache de DNS pode falsificar uma resposta dizendo que o teu domínio não tem regras CAA, permitindo a uma autoridade corrompida emitir o certificado falso. O DNSSEC assina criptograficamente as respostas, impedindo adulterações.

Para que serve a propriedade iodef dentro do teu registo CAA?

O parâmetro `iodef` indica um endereço de email ou endpoint web para onde as autoridades de certificação devem enviar relatórios automáticos de telemetria em formato JSON sempre que alguém tentar emitir um certificado não autorizado para o teu domínio.

Ativar o DNSSEC torna a navegação no teu site mais lenta para os clientes?

Não notas nenhuma diferença de velocidade. Os servidores de DNS recursivos guardam as respostas e chaves públicas em cache respeitando o TTL configurado. A validação criptográfica matemática acontece na memória do processador em frações de milissegundo, sem atrasar o carregamento da tua página.

> INICIAR_PROJETO

Precisa de um website que transmita confiança, apareça na pesquisa e dê mais força à sua presença digital? Comece a conversa aqui.