Dkim sous Postfix avec plusieurs domaines

DKIM est utilisé par de nombreux fournisseur de boites mails qui souhaitent vérifier que le serveur qui envoit un email proviant bien du serveur MX qui a été déclaré dans le DNS.

Pour ma part, j’ai plusieurs domaines hébergés sur la même IP et tous les domaines peuvent avoir leur enregistrement DKIM.

Ce tutorial a été réalisé sous Debian.

apt-get install opendkim

Tous les fichiers de configuration liés aux domaines seront placés dans le dossier /etc/opendkim qu’il faut créer :

mkdir /etc/opendkim/

Modification du fichier de configuration principal pour déclarer les fichiers dont nous aurons besoin :

vi /etc/opendkim.conf

KeyTable           /etc/opendkim/KeyTable
SigningTable       /etc/opendkim/SigningTable
ExternalIgnoreList /etc/opendkim/TrustedHosts
InternalHosts      /etc/opendkim/TrustedHosts

Déclaration des domaines que j’héberge :

cat > /etc/opendkim/TrustedHosts << EOF
mon_domaine_1.com
mon_domaine_2.com
mon_domaine_3.com
EOF

Définition du port d’écoute 8891 pour le Dkim :

vi /etc/default/opendkim

SOCKET="inet:8891:localhost"

Pour générer les clés pour tous les domaines et les placer dans le dossier, j’utilise une boucle for dans le shell :

for domain in mon_domaine_1.com mon_domaine_2.com mon_domaine_3.com
 do
 mkdir -p /etc/opendkim/keys/$domain
 cd /etc/opendkim/keys/$domain
 opendkim-genkey -r -d $domain
 chown opendkim:opendkim default.private
 done

Puis on définit le domaine DKIM pour chaque domaine. Le selector est donc default :

for domain in mon_domaine_1.com mon_domaine_2.com mon_domaine_3.com
do
echo "default._domainkey.$domain $domain:default:/etc/opendkim/keys/$domain/default.private" >> /etc/opendkim/KeyTable
done

Déclaration des domaines validés toujours avec le même nom default :

for domain in mon_domaine_1.com mon_domaine_2.com mon_domaine_3.com
do
echo "$domain default._domainkey.$domain" >> /etc/opendkim/SigningTable
done

Dans le fichier de configuration de Postfix il faut définir le port d’écoute que l’on a choisit précédemment :

vi /etc/postfix/main.cf

# Filtres DKIM
milter_default_action = accept
milter_protocol = 6
smtpd_milters = inet:127.0.0.1:8891
non_smtpd_milters = inet:127.0.0.1:8891

Redémarrage des démons pour la prise en compte :

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

Sur l’outil de gestion des DNS, par exemple chez OVH, il faut définir les clés de vos domaines pour que la résolution DKIM fonctionne.

Pour chaque domaine, la clé publique a recopié dans le DNS se trouve dans :

cat /etc/opendkim/keys/mydomain.com/default.txt

Une fois dans le manager de votre DNS :

  1. création du champ TXT qui va contenir : _domainkey.mon_domaine_1.com.     IN TXT « t=y; o=-; »
  2. création du champ DKIM : default._domainkey.mon_domaine_1.com.     IN DKIM « v=DKIM1; g=*; k=rsa; p=contenu_cle_publique »

Refaite cette étape pour chacun de vos domaines !

Pour tester, je vous conseiller le site DkimCore qui vous permet de valider que la clé est bien accessible.

Taggé , , , .Lien pour marque-pages : Permaliens.

Une réponse à Dkim sous Postfix avec plusieurs domaines

  1. Ping :Dkim sous Postfix avec plusieurs domaines | Serveur Linux | Blog Technique Isapro

Laisser un commentaire