Autenticação e DNS
DKIM
DKIM é uma assinatura digital que o servidor de envio coloca em cada e-mail. Ela prova que o e-mail saiu do seu domínio e que ninguém mudou o conteúdo no caminho. O servidor de destino confere a assinatura com uma chave pública que você publica no DNS.
O que é DKIM?
DKIM significa DomainKeys Identified Mail. É uma assinatura digital que vai dentro de cada e-mail que você envia. O padrão está definido na RFC 6376.
A assinatura DKIM prova duas coisas ao servidor que recebe o e-mail:
- O e-mail foi enviado por um servidor autorizado pelo seu domínio. O domínio é a parte do endereço depois do @.
- O texto e os principais cabeçalhos não foram alterados depois do envio. Cabeçalhos são as linhas de informação no topo do e-mail, como De, Para, Assunto e Data.
Como o DKIM funciona: um exemplo
Uma loja online usa o domínio example.com. Uma cliente, Carla, faz uma compra. A loja envia o recibo para o Gmail dela. Veja o que acontece:
- O servidor de e-mail da loja prepara o recibo.
- Ele usa uma chave privada para criar uma assinatura. A chave privada é um código secreto que fica só no servidor da loja.
- A assinatura é colocada no recibo, em um cabeçalho chamado DKIM-Signature.
- O recibo chega ao Gmail.
- O Gmail lê o cabeçalho e vê que a assinatura é de example.com.
- O Gmail busca no DNS de example.com a chave pública correspondente. O DNS é o sistema público que guarda informações sobre cada domínio.
- O Gmail usa a chave pública para conferir a assinatura. Se o recibo foi alterado no caminho, a assinatura não confere.
- A assinatura confere. O resultado é DKIM pass.
Só quem tem a chave privada consegue criar uma assinatura que confere com a chave pública. Por isso um golpista não consegue assinar e-mails em nome de example.com.
A assinatura DKIM no e-mail
A assinatura DKIM fica no cabeçalho DKIM-Signature. Ele tem várias partes, chamadas tags. Duas são as mais úteis para entender:
- d= é o domínio que assinou o e-mail. No exemplo,
d=example.com. - s= é o seletor. É um nome curto que indica qual chave foi usada. Exemplo:
s=s2026a.
Com o domínio e o seletor, o servidor de destino sabe exatamente onde buscar a chave pública.
O registro DKIM no DNS
O registro DKIM é um registro DNS TXT. Um registro TXT é uma linha de texto que você adiciona às configurações de DNS do seu domínio. O registro DKIM fica em um endereço com este formato:
s2026a._domainkey.example.com
O valor do registro é assim, com a chave encurtada:
v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA...
v=DKIM1diz que é um registro DKIM.k=rsaé o tipo de chave.p=é a chave pública.
A chave privada nunca vai para o DNS. Ela fica só no servidor que envia o e-mail. Use uma chave de 2048 bits. O Gmail aceita no mínimo 1024 bits e recomenda 2048. A RFC 8301 recomenda que quem assina use 2048 bits.
Por que o DKIM importa
O DKIM resolve um problema que o SPF não resolve. Quando alguém encaminha o seu e-mail, o servidor que encaminha usa o próprio endereço IP. Um endereço IP é o número que identifica um servidor na internet. Esse IP não está no seu registro SPF, então o SPF falha. A assinatura DKIM continua válida, porque o conteúdo não mudou.
O DKIM também é uma das duas checagens que o DMARC usa. Sem DKIM, o seu DMARC depende só do SPF.
As diretrizes para remetentes do Google exigem SPF, DKIM e DMARC de quem envia 5.000 ou mais e-mails por dia para contas do Gmail. A Microsoft exige os mesmos três registros para o mesmo volume enviado ao Outlook.com, Hotmail e Live.
Como configurar o DKIM
O caminho depende de quem envia o seu e-mail.
- Você usa um serviço de e-mail, como Google Workspace, Microsoft 365, Mailchimp ou SendGrid. O serviço cria a chave para você. Ele mostra o nome e o valor do registro. Você copia esses dados para o painel de DNS do seu domínio e ativa o DKIM no serviço.
- Você tem o seu próprio servidor de e-mail. Você precisa criar o par de chaves. O nosso gerador de DKIM (em inglês) cria a chave e o registro no seu navegador. Depois você instala a chave privada no servidor e publica o registro no DNS.
Como conferir se o DKIM passa
- Envie um e-mail do seu domínio para uma conta pessoal do Gmail.
- Abra o e-mail no Gmail.
- Clique nos três pontos e escolha Mostrar original.
- Procure a linha DKIM. Ela deve dizer PASS, com o seu domínio.
Se aparecer FAIL, confira se o registro DNS já foi publicado. Confira também se o seletor no servidor é igual ao seletor no DNS.
DKIM e verificação de e-mail
O DKIM prova que o e-mail é seu, mas não diz se o endereço do destinatário existe. Um e-mail com assinatura válida ainda volta como hard bounce se a caixa de entrada não existir. Um validador de e-mail confere cada endereço antes do envio. Um validador de e-mail em massa faz isso para a lista toda. Com DKIM e verificação de e-mail juntos, o seu e-mail é autenticado e vai para endereços que existem.
Termos relacionados
- Registro SPFUm registro SPF é uma lista pública, no DNS do seu domínio, dos servidores que podem enviar e-mail em nome desse domínio. Os servidores de destino consultam essa lista. Assim eles confirmam que um e-mail que diz vir do seu domínio saiu mesmo de um dos seus servidores.
- DMARCDMARC é uma regra que você publica no DNS do seu domínio. Ela diz aos servidores de destino o que fazer com um e-mail que usa o seu domínio mas não passa nas checagens SPF e DKIM. Ela também diz para onde enviar relatórios sobre esses e-mails.
- Registro DNS TXTUm registro DNS TXT é uma linha de texto guardada nas configurações do seu domínio. Os servidores de e-mail leem registros TXT para verificar SPF, DKIM e DMARC. Outros serviços leem esses registros para confirmar que o domínio é seu.
- Spoofing de e-mailSpoofing de e-mail é enviar um e-mail com um endereço de remetente falso, para parecer que ele veio de outra pessoa ou empresa. O golpista escreve no campo De um endereço que não é dele. Os registros SPF, DKIM e DMARC permitem que os servidores de destino detectem e bloqueiem esses e-mails.
- BIMI (e-mail)BIMI é um padrão de e-mail que mostra o logo da sua marca ao lado dos seus e-mails, nas caixas de entrada que o aceitam. Você publica o logo no DNS do seu domínio. O logo só aparece se o seu domínio já tiver DMARC com quarantine ou reject.
