Guia Completo OpenDKIM – Autenticação de E-mail Profissional para Servidores Postfix

Introdução

O OpenDKIM é uma implementação open source do protocolo DKIM (DomainKeys Identified Mail), que permite a assinatura digital das mensagens enviadas por servidores de e-mail. Essa assinatura possibilita que o servidor receptor verifique a autenticidade da mensagem, melhorando a reputação do domínio, reduzindo falsificações (spoofing) e aumentando a entregabilidade.

Neste post, abordaremos o funcionamento do OpenDKIM, sua importância, configuração básica em servidores Postfix e dicas para garantir uma autenticação robusta.


O que é DKIM?

DKIM insere no cabeçalho da mensagem uma assinatura criptográfica baseada em uma chave privada mantida no servidor remetente. O servidor receptor utiliza a chave pública, publicada no DNS do domínio remetente via registro TXT, para validar essa assinatura. Se a assinatura for válida, garante-se que:

  • A mensagem não foi alterada durante o transporte.
  • A mensagem foi enviada por um servidor autorizado daquele domínio.

Por que usar OpenDKIM?

  • Reduz rejeições: Muitos provedores, como Gmail, Outlook e Yahoo, exigem autenticação para não marcar mensagens como spam.
  • Previne spoofing e phishing: Dificulta o envio de mensagens falsas usando seu domínio.
  • Melhora reputação: Ajuda a manter uma reputação limpa do IP e do domínio.
  • Compatível com SPF e DMARC: Complementa essas políticas de autenticação, tornando sua infraestrutura mais segura.

Componentes principais do OpenDKIM

  • Chaves criptográficas: Par de chave pública e privada.
  • Serviço de assinatura (milter): Interface entre o Postfix e o OpenDKIM, responsável por assinar as mensagens.
  • Configurações: Arquivos para definir domínios, tabelas de chaves, hosts confiáveis, entre outros.
  • Publicação DNS: Entrada TXT contendo a chave pública para validação do receptor.

Configuração básica do OpenDKIM com Postfix

Passo 1 – Instalação

apt install opendkim opendkim-tools

Passo 2 – Gerar chaves

mkdir -p /etc/opendkim/keys/seu-dominio.com.br
cd /etc/opendkim/keys/seu-dominio.com.br
opendkim-genkey -s default -d seu-dominio.com.br
chown opendkim:opendkim default.private
chmod 600 default.private

Passo 3 – Configurar OpenDKIM

Edite /etc/opendkim.conf para incluir:

AutoRestart             Yes
AutoRestartRate         10/1h
Syslog                  yes
UMask                   002
Canonicalization        relaxed/simple
Mode                    sv
SubDomains              no
Socket                  inet:12301@localhost
PidFile                 /var/run/opendkim/opendkim.pid
UserID                  opendkim:opendkim
KeyTable                /etc/opendkim/key.table
SigningTable            /etc/opendkim/signing.table
ExternalIgnoreList      /etc/opendkim/trusted.hosts
InternalHosts           /etc/opendkim/trusted.hosts

Passo 4 – Criar arquivos de mapeamento

/etc/opendkim/key.table

default._domainkey.seu-dominio.com.br seu-dominio.com.br:default:/etc/opendkim/keys/seu-dominio.com.br/default.private

/etc/opendkim/signing.table

*@seu-dominio.com.br default._domainkey.seu-dominio.com.br

/etc/opendkim/trusted.hosts

127.0.0.1
localhost
seu-dominio.com.br

Passo 5 – Configurar Postfix para usar OpenDKIM

No arquivo /etc/postfix/main.cf, adicione:

milter_default_action = accept
milter_protocol = 2
smtpd_milters = inet:localhost:12301
non_smtpd_milters = inet:localhost:12301

Reinicie os serviços:

systemctl restart opendkim
systemctl restart postfix

Passo 6 – Publicar chave pública no DNS

O conteúdo para o registro TXT está no arquivo:

cat /etc/opendkim/keys/seu-dominio.com.br/default.txt

Exemplo de entrada DNS:

default._domainkey.seu-dominio.com.br IN TXT "v=DKIM1; k=rsa; p=MIIBIjANBgkqh..."

Publique no painel DNS do seu domínio.


Testes e validação

  • Verifique o registro DNS com:
dig +short TXT default._domainkey.seu-dominio.com.br
  • Envie um e-mail para ferramentas de verificação como:
  • Analise os cabeçalhos recebidos para confirmar a presença da assinatura DKIM válida.

Considerações finais

  • Manutenção das chaves: Renove periodicamente as chaves para segurança.
  • SPF e DMARC: Utilize em conjunto para maior eficácia na proteção.
  • Monitoramento: Acompanhe os relatórios DMARC para identificar abusos.

Referências

Rolar para cima