Saltar para o conteúdo

Verificador de DKIM:
a sua chave é suficientemente forte?

Indique um domínio — o seletor é opcional: o verificador sonda os dez nomes mais comuns, ou extrai-o de um cabeçalho DKIM-Signature colado. Depois vai além de «registo encontrado» e mede a própria chave — uma chave de 512 bits passa em qualquer verificação de existência e é forjável desde 2012.

ou cole um cabeçalho DKIM-Signature em bruto → extraímos d= e s= — as duas tags que identificam a sua chave — no seu navegador; o cabeçalho nunca sai dele
Seletor opcional — sondados 10 nomes comuns Chave descodificada em base64 e o seu tamanho medido Veredito em segundos
O que escapa a um DKIM que só confirma «registo encontrado»

Registo válido, DKIM avariado

Um registo DKIM pode ficar intocado durante uma década e continuar a existir. As quatro falhas abaixo devolvem sempre um registo, por isso os verificadores de existência reportam o DKIM como configurado — enquanto a verificação falha.

A relíquia de 512 bits

Em 2012, um matemático fatorizou a chave DKIM de 512 bits da Google com capacidade de computação alugada e enviou e-mails fazendo-se passar por um fundador ao outro. Chaves desse tamanho continuam hoje em DNS — válidas, assinadas e forjáveis.

512 bits · fatorizada em 2012

Um p= vazio que continua a assinar correio

Um p= vazio significa «esta chave foi revogada» — boa prática para um seletor retirado. Mas se a configuração antiga do ESP ainda assina com ele, todas essas mensagens falham o DKIM. Hoje.

p= · vazio = revogada

t=y desde o lançamento

A flag de teste destina-se à semana de lançamento. Deixada ativa, diz aos destinatários para tratarem o seu correio assinado exatamente como correio não assinado — a validação DKIM não lhe traz benefício nenhum, para sempre.

RFC 6376 §3.6.1

O seletor que ninguém registou

O registo vive em selector._domainkey — e o DNS não oferece forma de listar seletores. Não é possível verificar o que não se consegue nomear, por isso os registos DKIM passam anos sem auditoria.

s= · não listável via DNS
Os vereditos

Tamanho da chave, p= e t=y

A maioria das ferramentas para em «registo encontrado». A nota depende do tamanho da chave descodificada e de duas flags — p= vazio e t=y — que a maioria dos verificadores nunca reporta.

rsa · 2048 bits +

A referência atual (a RFC 8301 recomenda-a aos signatários). Descodifica numa chave pública bem formada, suficientemente grande para que a fatorização deixe de ser um ataque viável.

→ o objetivo — agora marque a rotação no calendário
rsa · 1024 bits

Aceitável e ainda comum — mas o NIST retirou o RSA de 1024 bits para assinaturas em 2013, e a margem de segurança encolhe a cada ano que permanece publicada.

→ rode para 2048 na próxima alteração da chave
rsa · abaixo de 1024

A chave de 512 bits foi fatorizada publicamente em 2012 com computação na nuvem alugada; a de 768 caiu em ambiente académico em 2009. Uma chave deste tamanho é um kit de falsificação com o nome do seu domínio escrito nele.

→ rode hoje mesmo — chaves abaixo de 1024 bits são forjáveis
p= vazio · revogada

O sinal deliberado da RFC 6376: «esta chave foi revogada». O estado final correto para um seletor retirado — e uma falha em produção para tudo o que ainda assine com ele.

→ correto, DESDE QUE nada continue a assinar com ele
t=y · modo de teste

Diz aos destinatários para tratarem o seu correio como se não estivesse assinado — mesmo quando a assinatura é válida. Uma ajuda de lançamento que anula silenciosamente o DKIM enquanto ficar ativa.

→ remova a flag assim que o lançamento terminar
sem registo no seletor

Os verificadores recebem «sem chave disponível» e a assinatura falha em permfail. O problema: visto de fora, uma chave eliminada e um seletor mal escrito parecem exatamente iguais — por isso sondamos dez.

→ encontre primeiro o seletor certo — abaixo
Seletores DKIM

Como encontrar o seu seletor

A sua chave pública vive em selector._domainkey.yourdomain.com — e o DNS não tem nenhuma consulta que liste seletores. Só é possível saber o nome ou adivinhá-lo. Quatro formas de o obter:

  • Leia uma mensagem assinada: abra qualquer e-mail que tenha enviado → «Mostrar original» → a tag s= do cabeçalho DKIM-Signature é o seu seletor.
  • Cole aqui o cabeçalho: desdobramo-lo e extraímos d= e s= por si — sem necessidade de leitura.
  • Pergunte ao seu ESP: a página de configuração de DNS que lhe deu o CNAME/TXT indica o nome do seletor.
  • Ou deixe-nos adivinhar bem: deixe o campo em branco e sondamos os dez nomes que os ESP usam — à direita, pela ordem de sondagem.
Sondar os meus seletores

Quem usa que seletor

os 10 que sondamos · predefinições comuns
googleA predefinição do Google Workspace. Um único seletor, rodado no mesmo local — o registo muda sob o mesmo nome.
selector1 · selector2Microsoft 365 — emitido em par para que a chave ativa possa alternar entre eles sem qualquer tempo de inatividade.
k1 · k2Convenção do Mailchimp / Mandrill, amplamente copiada por outros ESP desde então.
s1 · s2O par de segurança automatizada do SendGrid; também um padrão comum em ESP mais recentes.
defaultOpenDKIM, cPanel e a maioria das instalações autoalojadas — o nome que ninguém mudou.
dkim · mailVários ESP e servidores de correio no local — os nomes genéricos que completam o top dez.
Dois seletores ativos é normal — é assim que funciona a rotação sem tempo de inatividade. Dez seletores mortos são sobras que ninguém removeu.
Para quem usa o terminal

O que pode verificar manualmente

Depois de saber o seletor, o material em bruto está a um dig de distância.

Obter o registo — se souber o seletordig +short TXT google._domainkey.example.com
Encontrar o seu seletor numa mensagem enviadagrep -io 's=[^;]*' message.eml | head -1
Descodificar a chave e medi-laecho "$P" | base64 -d | openssl rsa -pubin -inform DER -noout -text | head -1
Sondar um seletor adivinhadodig +short TXT selector1._domainkey.example.com
Sondar dez seletores, percorrer o DER, avaliar o módulo, ler as flags# não há um comando direto para isto — ↑ é para isso que serve esta ferramenta
FAQ

Perguntas frequentes sobre DKIM

Introduza o domínio acima — o seletor é opcional. Vamos buscar o registo TXT em selector._domainkey.yourdomain (sondando dez seletores comuns se o deixar em branco), analisamos cada tag face à RFC 6376 e depois validamos a própria chave: o valor p= é descodificado em base64, a estrutura DER interna é percorrida campo a campo, e o módulo é medido e classificado — abaixo de 1024 bits é fraca, 1024 é aceitável, 2048+ é recomendado. Grátis, sem registo.

O seletor é o nome que vem antes de ._domainkey — escolhido por quem configurou a assinatura, invisível a qualquer listagem de DNS. Três formas de encontrar o seu: abra uma mensagem que enviou e leia a tag s= no cabeçalho DKIM-Signature («Mostrar original» no Gmail); cole esse cabeçalho completo nesta ferramenta e nós extraímo-lo; ou deixe o seletor em branco e sondamos as dez predefinições mais comuns — google, selector1/2, k1/k2, s1/s2, default, dkim, mail. Encontrar dois seletores ativos é normal — é a rotação a funcionar.

Aceitável, envelhecida, e vale a pena agendar a substituição. Ninguém fatorizou publicamente o RSA-1024 — mas o NIST proibiu-o para novas assinaturas em 2013, a RFC 8301 diz aos signatários DKIM que devem usar 2048, e os grandes fornecedores de correio assinam eles próprios com 2048. O 1024 não é a emergência — essa é a de 512, fatorizada em 2012 com computação na nuvem alugada. É a chave que roda segundo o seu próprio calendário, em vez de, eventualmente, o de um atacante.

Modo de teste. A RFC 6376 §3.6.1 instrui os verificadores a tratarem o correio de um domínio em modo de teste exatamente como correio não assinado — mesmo quando a assinatura verifica na perfeição. Existe para permitir testar o DKIM durante o lançamento sem consequências. O problema é que funciona bem demais: nada se avaria enquanto está ativo, por isso nunca é removido. O domínio passa então anos a assinar correio sem qualquer benefício. Se esta ferramenta encontrar um, a correção é eliminar quatro caracteres.

Uma revogação deliberada. A RFC 6376 define um p= vazio como «esta chave pública foi revogada». É o sinal formal correto para um seletor retirado, e mais claro do que eliminar o registo, que fica indistinguível de um erro de escrita. Daqui resultam duas leituras. Se já rodou para outro seletor e nada assina com este, é boa prática: deixe-o assim. Se algum remetente ainda assinar com ele, todas essas mensagens estão a falhar o DKIM neste momento. Verifique os seus relatórios DMARC à procura de dkim=fail com este seletor.

Os verificadores têm de suportar até 4096 bits (RFC 8301). Mas uma chave de 4096 bits produz um valor TXT longo o suficiente para exigir divisão em várias strings, o que algumas interfaces de fornecedores de DNS estragam. Não traz segurança prática adicional face aos 2048 bits para uma chave que deve rodar de qualquer forma, por isso 2048 é o ponto ideal. A outra direção é k=ed25519 (RFC 8463): chaves minúsculas de 32 bytes, criptografia moderna. O suporte dos verificadores ainda não é universal, por isso as implementações que o usam costumam assinar em duplicado com RSA. Esta ferramenta lê k= e diz qual publicou.

Sozinha — não, e preferimos dizê-lo já. O DKIM prova duas coisas: que a mensagem não foi alterada desde a assinatura, e que o domínio em d= a apadrinha. Não prova que a linha From: que o destinatário vê corresponde a esse domínio — um falsificador pode assinar impecavelmente com o seu próprio domínio enquanto mostra o seu. Fechar essa lacuna é trabalho do DMARC (alinhamento), e dizer que servidores podem enviar de todo é trabalho do SPF. A combinação que funciona é SPF + DKIM + DMARC. Esta ferramenta garante que a parte do DKIM é real — uma chave revogada ou em modo de teste enfraquece silenciosamente as outras duas.

As ferramentas grátis são só o começo.
O Uptimia cuida dos seus sites.

Uptime, SSL, validade de domínio, velocidade de página, transações — monitorização em 171+ locais em todo o mundo. Grátis por 30 dias.

30 dias grátis sem cartão cancele quando quiser plano gratuito após o teste
Mais de 100.000 sites monitorizados · conforme o RGPD