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.
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 2012Um 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 = revogadat=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.1O 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 DNSTamanho 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.
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.
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.
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.
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.
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.
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.
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.
Quem usa que seletor
os 10 que sondamos · predefinições comunsO que pode verificar manualmente
Depois de saber o seletor, o material em bruto está a um dig de distância.
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.
Continuar a explorar
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.