Email Configuration · 1 min read · Sep 27, 2025

Configurar Postfix DKIM Com dkim-milter

Configurar Postfix DKIM Com dkim-milter

Este guia foi substituído por http://www.topdog.za.net/postfix_dkim_milter

Introdução

DKIM é uma estrutura de autenticação que armazena chaves públicas no DNS e assina digitalmente e-mails com base no domínio. Foi criada como resultado da fusão das domainkeys do Yahoo e da especificação de e-mail Identified Internet da Cisco. Está definido na RFC 4871.

Usaremos a implementação milter do dkim http://dkim-milter.sf.net no CentOS 5.1

Instalação

Instale o rpm, ignore as dependências, pois csh é uma dependência, mas não afeta o dkim-milter; é necessário apenas para alguns scripts de exemplo que são enviados com o rpm.

rpm -Uvh http://www.c-corp.net/linux/centos/5/general/RPMS/i386/dkim-milter-2.2.1-1.i386.rpm --nodeps  
mkdir /etc/dkim-milter  
chown dkim-milt.dkim-milt /etc/dkim-milter  
chmod 700 /etc/dkim-milter  
chgrp postfix /var/run/dkim-milter  
chmod 770 /var/run/dkim-milter

Gerar As Chaves

Baixe este script que você pode usar para gerar facilmente as chaves para assinar o e-mail:

./dkim-genkey.sh -d 

Substitua pelo nome do domínio para o qual você assinará o e-mail. Isso criará dois arquivos default.txt e default.private, default.txt é a linha que você precisa adicionar ao seu arquivo de zona - um exemplo está abaixo:

default._domainkey IN TXT "v=DKIM1; g=*; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDG81CNNVOlWwfhENOZEnJKNlikTB3Dnb5kUC8/zvht/S8SQnx+YgZ/KG7KOus0By8cIDDvwn3ElVRVQ6Jhz/HcvPU5DXCAC5owLBf/gX5tvAnjF1vSL8ZBetxquVHyJQpMFH3VW37m/mxPTGmDL+zJVW+CKpUcI8BJD03iW2l1CwIDAQAB"
; ----- DKIM default para topdog-software.com

default.private contém sua chave privada. Mova este arquivo para /etc/dkim-milter e renomeie-o para _default.key.pem:

mv default.private /etc/dkim-milter/_default.key.pem

Edite o arquivo /etc/sysconfig/dkim-milter e defina as variáveis:

USER="dkim-milt"
PORT=local:/var/run/dkim-milter/dkim.sock
SIGNING_DOMAIN=""
SELECTOR_NAME="default"
KEYFILE="/etc/dkim-milter/${SIGNING_DOMAIN}_${SELECTOR_NAME}.key.pem"
SIGNER=yes
VERIFIER=yes
CANON=simple
SIGALG=rsa-sha1
REJECTION="bad=r,dns=t,int=t,no=a,miss=r"
EXTRA_ARGS="-h -l -D"

Correção do Script de Inicialização

Instale meu script de inicialização modificado, pois o que é fornecido com o rpm tem um bug.

wget http://www.topdog-software.com/files/dkim-milter -O /etc/init.d/dkim-milter  
chkconfig --level 345 dkim-milter on   
service dkim-milter start

Configurar Postfix

Adicione isso ao arquivo de configuração do postfix /etc/postfix/main.cf:

smtpd_milters = unix:/var/run/dkim-milter/dkim.sock
non_smtpd_milters = unix:/var/run/dkim-milter/dkim.sock

Anexe aos milters existentes se você já tiver outros milters configurados.

Inicie o dkim-milter e reinicie o Postfix:

 service dkim-milter start
service postfix restart

Testando

Envie uma mensagem para [email protected]; o sistema retornará uma resposta para informá-lo se o DKIM está funcionando. Examine os cabeçalhos dos e-mails de domínios como gmail para ver se seu sistema está verificando as assinaturas DKIM do e-mail recebido.

E-mail DKIM no Gmail

Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.