Mise en place de DKIM avec Postfix

Cette documentation décrit la mise en place de DKIM (DomainKeys Identified Mail), une norme d’authentification du nom de domaine de l’expéditeur d’un mail.

Elle fait suite à la documentation de mise en place d’un serveur mail.

On prendra en domaine de test domain.org et comme nom de serveur server.domain.org

On utilise opendkim pour gérer dkim. Postfix transmet ensuite le mail à OpenDKIM (via socket).

# apt-get install opendkim opendkim-tools
# mkdir -p /etc/opendkim

On génère les clés, et on utilise “server” en tant que selector (choisi arbitrairement, on peut aussi utiliser “default”).

# opendkim-genkey -D /etc/opendkim/ -d domain.org -s server
# rm /etc/opendkim.conf
# vim /etc/opendkim/opendkim.conf
 
UserID    opendkim:opendkim
Domain    domain.org
KeyFile  /etc/opendkim/server.private
Selector        server
AutoRestart     yes
DNSTimeout  5
UMask      002
 
# ln -s /etc/opendkim/opendkim.conf /etc/opendkim.conf
# chown opendkim:opendkim -R /etc/opendkim
# vim /etc/default/opendkim
 
SOCKET="local:/var/spool/postfix/var/run/opendkim/opendkim.sock"
 
# mkdir /var/spool/postfix/var/run/opendkim
# chmod 775 /var/spool/postfix/var/run/opendkim
# chown opendkim: /var/spool/postfix/var/run/opendkim
# adduser postfix opendkim
# vim  /etc/postfix/main.cf

# Ce chemin est en réalité /var/spool/postfix/var/run/opendkim/opendkim.sock 
# car nous sommes dans le chroot de postfix 
smtpd_milters           = unix:/var/run/opendkim/opendkim.sock
non_smtpd_milters       = $smtpd_milters
milter_default_action   = accept

Copiez les lignes de /etc/opendkim/server.txt dans votre zone DNS.

# /etc/init.d/opendkim restart
# /etc/init.d/postfix restart

Vous pouvez tester la bonne configuration sur http://www.appmaildev.com/en/domainkeys/ ou via dig :

# "server" est notre selector
# dig TXT server._domainkey.domain.org

Liens :

http://www.opendkim.org/

http://www.postfix.org/MILTER_README.html