Se você já tem o básico do seu servidor de e-mail rodando (Postfix, Dovecot, MariaDB, DNS no Cloudflare, Certbot e Webmail), falta só a etapa fundamental para garantir a autenticidade das suas mensagens: configurar o DKIM (DomainKeys Identified Mail).
O que é DKIM?
DKIM é um sistema de autenticação de e-mails que usa criptografia assimétrica para assinar digitalmente as mensagens enviadas, garantindo ao destinatário que o e-mail realmente veio do seu domínio e não foi alterado no caminho.
Para isso, você precisa gerar um par de chaves (privada e pública) e configurar:
- A chave privada no servidor (OpenDKIM)
- A chave pública no DNS como registro TXT
Passo a passo para configurar DKIM usando OpenDKIM
1. Instalar o OpenDKIM e as ferramentas
apt update
apt install opendkim opendkim-tools
2. Criar a estrutura de diretórios para as chaves
mkdir -p /etc/opendkim/keys/seudominio.com.br
chown -R opendkim:opendkim /etc/opendkim
chmod go-rwx /etc/opendkim/keys/seudominio.com.br
3. Gerar o par de chaves para o seu domínio
cd /etc/opendkim/keys/seudominio.com.br
opendkim-genkey -s default -d seudominio.com.br
chown opendkim:opendkim default.private
-s defaultdefine o seletor, usado no DNS e na assinatura- Arquivos gerados:
default.private— chave privada (mantenha em segredo)default.txt— conteúdo para o DNS TXT
4. Publicar a chave pública no DNS (Cloudflare)
Exiba o conteúdo para copiar:
cat default.txt
No Cloudflare, crie um registro TXT com:
- Nome:
default._domainkey(substituadefaultpelo seletor se usar outro) - Conteúdo: valor da chave pública dentro do TXT, por exemplo:
v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtV1...
Desative o proxy da nuvem (deixe como DNS only).
5. Configurar o OpenDKIM
Edite ou crie /etc/opendkim.conf com:
AutoRestart Yes
AutoRestartRate 10/1h
Syslog yes
SyslogSuccess yes
LogWhy yes
Canonicalization relaxed/simple
Mode sv
SubDomains no
KeyFile /etc/opendkim/keys/seudominio.com.br/default.private
Selector default
Socket inet:12345@localhost
UserID opendkim:opendkim
TrustedHosts /etc/opendkim/trusted.hosts
6. Definir hosts confiáveis
Crie /etc/opendkim/trusted.hosts com:
127.0.0.1
localhost
seudominio.com.br
7. Integrar OpenDKIM ao Postfix
No /etc/postfix/main.cf, adicione:
milter_default_action = accept
milter_protocol = 6
smtpd_milters = inet:localhost:12345
non_smtpd_milters = inet:localhost:12345
8. Reinicie os serviços
systemctl restart opendkim
systemctl enable opendkim
systemctl restart postfix
9. Testar a configuração
Teste localmente:
opendkim-testkey -d seudominio.com.br -s default -vvv
Envie e-mail para serviços como:
- mail-tester.com
- [email protected]
e confirme que a assinatura DKIM está presente e válida.
Considerações finais
- Repita o processo para cada domínio que você hospeda, criando chaves e registros DNS específicos.
- Selecione nomes de seletor (
default,mail,dkim2025, etc.) para facilitar a rotação futura de chaves. - Combine DKIM com SPF e DMARC para garantir alta entregabilidade e segurança.
- Mantenha as chaves privadas bem protegidas e backup seguro.
- Automatize a criação e rotação de chaves para segurança avançada.
