O que é DKIM?
DKIM (DomainKeys Identified Mail) é um mecanismo de autenticação de email definido na RFC 6376. Ele permite assinar criptograficamente os emails enviados para comprovar sua origem e integridade.
Por que configurar DKIM:
- Autenticar seus emails — Comprove que o email realmente vem do seu domínio
- Proteger contra falsificação — A assinatura detecta qualquer modificação do conteúdo
- Melhorar a entregabilidade — Emails assinados com DKIM são melhor aceitos pelo Gmail, Outlook, Yahoo
- Pré-requisito para DMARC — DKIM é um dos dois pilares da autenticação DMARC (junto com SPF)
Como funciona o DKIM?
DKIM utiliza criptografia assimétrica (chave pública/privada):
- Assinatura no envio: Seu servidor de email calcula um hash da mensagem e o assina com a chave privada
- Publicação DNS: A chave pública é publicada em um registro TXT em
selector._domainkey.dominio.com - Verificação na recepção: O servidor destinatário recupera a chave pública via DNS e verifica a assinatura
Envio: Mensagem → Hash → Assinatura (chave privada) → Header DKIM-Signature
Recepção: Header → Chave pública (DNS) → Verificação da assinatura → Pass/Fail
Sintaxe de um registro DKIM
Um registro DKIM é um registro DNS TXT publicado em <selector>._domainkey.<domínio>:
v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA...
Tags DKIM
| Tag | Descrição | Obrigatório | Valores |
|---|---|---|---|
v | Versão | Recomendado | DKIM1 |
k | Tipo de chave | Não (padrão: rsa) | rsa, ed25519 |
p | Chave pública | Sim | Base64 DER |
h | Algoritmos de hash | Não | sha256, sha1 |
t | Flags | Não | y (teste), s (estrito) |
s | Tipos de serviço | Não | email, * |
n | Notas | Não | Texto livre |
Exemplos de registros
RSA 2048 bits (recomendado):
default._domainkey.captaindns.com TXT "v=DKIM1; k=rsa; p=MIIBIjANBgkq..."
Ed25519:
default._domainkey.captaindns.com TXT "v=DKIM1; k=ed25519; p=MCowBQYDK2Vw..."
RSA vs Ed25519: qual algoritmo escolher?
| Critério | RSA 2048 | RSA 4096 | Ed25519 |
|---|---|---|---|
| Segurança | Boa | Excelente | Excelente |
| Suporte | Universal | Universal | Parcial (~80%) |
| Tamanho do registro | ~400 chars | ~800 chars | ~90 chars |
| Desempenho | Bom | Lento | Muito rápido |
| Recomendação | Produção | Sensível | Avançado |
Recomendações
- RSA 2048 bits: Padrão atual, máxima compatibilidade. Escolha esta opção por padrão.
- RSA 4096 bits: Para ambientes muito sensíveis. Atenção às limitações DNS.
- Ed25519: Para configurações avançadas. Considere um seletor duplo (RSA + Ed25519).
- RSA 1024 bits: Depreciado desde 2020. Evite.
Tamanho das chaves e limites DNS
O limite de 255 caracteres
Os registros DNS TXT são limitados a 255 caracteres por string. Veja o impacto por algoritmo:
| Algoritmo | Tamanho do registro | Compatível DNS |
|---|---|---|
| Ed25519 | ~90 chars | ✅ Sempre |
| RSA 1024 | ~230 chars | ✅ Sempre |
| RSA 2048 | ~400 chars | ⚠️ Divisão automática |
| RSA 4096 | ~800 chars | ⚠️ Verificar provedor |
Como os provedores gerenciam registros longos
A maioria dos provedores DNS (Cloudflare, AWS Route 53, Google Cloud DNS) divide automaticamente registros longos em várias strings. O protocolo DNS concatena na leitura.
Se seu provedor não suportar registros longos, prefira RSA 2048 bits ou Ed25519.
Casos de uso concretos
Novo domínio: primeira configuração DKIM
Contexto: Você está configurando um novo servidor de email (Postfix, etc.)
Solução:
- Gere uma chave RSA 2048 bits com o seletor
default - Baixe a chave privada e configure o OpenDKIM
- Publique o registro TXT na sua zona DNS
- Verifique com o DKIM Checker
Rotação de chave DKIM
Contexto: Sua chave DKIM tem mais de 12 meses ou foi comprometida
Solução:
- Gere uma nova chave com um novo seletor (ex: s2, 202602)
- Configure a nova chave em seu servidor de email
- Publique o novo registro DNS
- Aguarde 24-48h de propagação DNS
- Remova o registro antigo
Seletor duplo: RSA + Ed25519
Contexto: Você quer aproveitar o Ed25519 mantendo a compatibilidade RSA
Solução:
- Gere uma chave RSA 2048 com o seletor
rsa - Gere uma chave Ed25519 com o seletor
ed - Configure seu servidor para assinar com ambas as chaves
- Servidores modernos verificarão Ed25519, os antigos usarão RSA
Flags DKIM: modo teste e estrito
Flag t=y (modo teste)
Ativa o modo teste DKIM. Falhas de verificação são tratadas como neutras (nem pass nem fail).
Uso: Teste sua configuração sem arriscar rejeições. Remova a flag após validação.
Flag t=s (modo estrito)
Exige alinhamento estrito entre o domínio de assinatura DKIM e o domínio From. Por padrão, o alinhamento relaxado autoriza subdomínios.
Uso: Reforce a segurança em produção. Certifique-se de que todos os seus emails são assinados a partir do domínio exato.
❓ FAQ - Perguntas frequentes
P: Como gerar uma chave DKIM para meu domínio?
R: Use nosso gerador: digite seu domínio e um seletor, escolha RSA 2048 bits, clique em Gerar. Baixe a chave privada e publique o registro TXT no seu DNS.
P: Qual a diferença entre RSA e Ed25519?
R: RSA é suportado por todos os servidores. Ed25519 é mais moderno com chaves mais curtas, mas o suporte não é universal (~80%). Recomendação: RSA 2048 bits para produção.
P: Qual tamanho de chave RSA escolher?
R: RSA 2048 bits é o padrão. RSA 1024 está depreciado. RSA 4096 oferece mais segurança, mas gera registros muito longos.
P: O que é um seletor DKIM?
R: Um identificador que permite ter várias chaves DKIM. Exemplos: default, google, s1. O registro é publicado em selector._domainkey.dominio.com.
P: A chave privada é armazenada?
R: Não. Gerada uma única vez, transmitida e excluída. Baixe-a imediatamente.
P: Por que meu registro excede 255 caracteres?
R: RSA 4096 gera registros de mais de 800 caracteres. A maioria dos provedores divide automaticamente. Caso contrário, prefira RSA 2048 ou Ed25519.
P: Como configurar DKIM com Google Workspace?
R: O Google gera suas próprias chaves. Admin Console > Gmail > Authenticate email > Generate new record. Nossa ferramenta é para servidores personalizados.
Ferramentas complementares
| Ferramenta | Utilidade |
|---|---|
| DKIM Record Check | Verifique se seu DKIM está publicado e válido |
| DKIM Syntax Check | Valide a sintaxe de um registro DKIM |
| SPF Generator | Crie seu registro SPF |
| DMARC Generator | Configure o DMARC para completar a autenticação |
| Mail Tester | Teste a entregabilidade dos seus emails |
Recursos úteis
- RFC 6376 - DomainKeys Identified Mail (DKIM) Signatures — Especificação oficial DKIM
- RFC 8463 - A New Cryptographic Signature Method for DKIM (Ed25519) — Suporte Ed25519 para DKIM
- RFC 8301 - Cryptographic Algorithm and Key Usage Update to DKIM — Recomendações de segurança atuais
- OpenDKIM - Configuration Guide — Documentação para Postfix/OpenDKIM
- Google Workspace - Set up DKIM — Guia oficial Google
- Microsoft 365 - Use DKIM — Guia oficial Microsoft