DKIM & Postfix

Voici une procédure indiquant comment créer une entrée DKIM, permettant d’authentifier l’envoi des mails.

DKIM est une méthode d’authentification des serveurs de mails associant cryptographie à clé publique et DNS.

Sous Linux, il est préférable d’utiliser opendkim.

 aptitude install opendkim 

Il faut ensuite générer une paire de clés qui seront utilisées pour DKIM :

 mkdir -p /etc/postfix/dkimkeys
 cd /etc/postfix/dkimkeys
 openssl genrsa -out privatedkim.key 1024
 openssl rsa -in privatedkim.key -pubout -out publicdkim.key
 chmod 640 privatedkim.key
 chown opendkim:opendkim *.key  

La configuration se réalise dans /etc/opendkim.conf
Voici un fichier de configuration basique, il faut au moins spécifier un selector, un domaine et le fichier de clé :
  

Syslog                  yes
UMask                   002
Domain                  boutique.blml.fr
KeyFile                 /etc/postfix/dkimkeys/privatedkim.key
Selector                boutique 

Il faut aussi indiquer le SOCKET de connexion dans le fichier /etc/default/opendkim :

 SOCKET="inet:12345@localhost" # listen on loopback on port 12345  

Puis il faut configurer le serveur de mail pour qu’il utilise ce socket. Avec postfix, le fichier /etc/postfix/main.cf doit contenir ceci :

milter_default_action = accept
milter_protocol = 6
smtpd_milters = inet:localhost:12345
non_smtpd_milters = inet:localhost:12345 

La configuration système se termine en relançant les services :
   

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

Enfin il faut faire un enregistrement TXT dans la zone DNS. L’enregistrement est de la forme
<selector>._domainkeys.<domaine> IN TXT « v=DKIM1; k=rsa; p=<Clé publique du fichier publicdkim.key>

Avec la boutique blml cela donne (en une seule ligne) :

 boutique._domainkey.boutique.blml.fr. IN TXT "v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEezrazeBAQUAA4GNADCBiQKBgQDvtn0KVraH+ci4wxao0q2z/f2prOfxMNFt8ipLaerazerze546YfXaBU0/2pPwOPGh2R3+MMYrYT0gs8q/anWTkbLN/Ks89zertaSDAIP8qkQgAftT/EvXURFzce3NA377er7uDqcUquQLn3xlNNit+ez645rEZRIDAQAB" 

Pour tester le DNS

  dig boutique._domainkey.boutique.blml.fr TXT 

Pour vérifier la signature des mails, les en-têtes doivent contenir la clé DKIM avec un « pass »
Pour un debug avancé, regarder http://www.brandonchecketts.com/emailtest.php.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Time limit is exhausted. Please reload the CAPTCHA.