Configuration DKIM · 3 min read · Sep 27, 2025

Configurer DKIM pour plusieurs domaines sur Postfix avec dkim-milter 2.8.x (CentOS 5.3)

Configurer DKIM pour plusieurs domaines sur Postfix avec dkim-milter 2.8.x (CentOS 5.3)

Introduction

Le standard Internet DomainKeys Identified Mail (DKIM) permet aux expéditeurs d’e-mails de signer numériquement leurs messages afin que les destinataires puissent vérifier que ces messages n’ont pas été falsifiés. Le schéma d’authentification des expéditeurs DKIM permet au destinataire d’un message de confirmer qu’un message provient du domaine de l’expéditeur et que le contenu du message n’a pas été altéré. Une solution basée sur la cryptographie, DKIM offre aux entreprises une méthode standard de l’industrie pour atténuer la fraude par e-mail et protéger la marque et la réputation d’une organisation à un coût d’implémentation relativement bas. La spécification de base de DKIM est dirigée par Sendmail, Inc. en collaboration avec Cisco et Yahoo!.

Ce tutoriel est basé sur le tutoriel Configurer DKIM sur Postfix avec dkim-milter (CentOS 5.2) et mon expérience personnelle. Je ne garantis pas que cela fonctionnera pour vous !

Installation

Le logiciel Topdog fournit des rpms Centos pour Dkim-milter à http://www.topdog-software.com/oss/dkim-milter, donc nous allons installer la dernière version. Au moment de la rédaction de ce tutoriel, la dernière version est dkim-milter-2.8.3-1.

Installez le rpm dkim-milter, (32 bits et 64 bits intel pris en charge)

wget http://www.topdog-software.com/oss/dkim-milter/dkim-milter-2.8.3-1.i386.rpm
rpm -ivh dkim-milter-2.8.3-1.i386.rpm

Générer les clés

/usr/bin/dkim-genkey  -r -d mydomain1.com

Remplacez mydomain1.com par le nom de domaine pour lequel vous signerez le mail. La commande créera deux fichiers.

default.txt - contient la clé publique que vous publiez via DNS
default.private - la clé privée que vous utilisez pour signer vos e-mails

Renommez et déplacez la clé privée dans le répertoire des clés dkim-milter et sécurisez-la.

mv default.private default
mkdir /etc/mail/dkim/keys/mydomain1.com
mv default /etc/mail/dkim/keys/mydomain1.com
chmod 600 /etc/mail/dkim/keys/mydomain1.com/default
chown dkim-milt.dkim-milt /etc/mail/dkim/keys/mydomain1.com/default

Note importante : répétez ces étapes pour d’autres domaines et pour chaque domaine, utilisez un dossier séparé comme vous pouvez le voir ci-dessus, sinon vous recevrez le message d’erreur “dkim: ÉCHOUÉ, invalide (clé publique : non disponible)”.

Configuration DNS

Vous devez publier votre clé publique via DNS, les serveurs clients utilisent cette clé pour vérifier votre e-mail signé. Le contenu de default.txt est la ligne que vous devez ajouter à votre fichier de zone, un exemple est ci-dessous.

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

Ajoutez également ceci à votre fichier de zone.

_ssp._domainkey IN TXT "t=y; dkim=unknown"

Configuration

Vous devez vérifier le fichier /etc/dkim-filter.conf.

vi /etc/dkim-filter.conf

Il doit ressembler à ceci :

ADSPDiscard             yes
ADSPNoSuchDomain        yes
AllowSHA1Only           no
AlwaysAddARHeader       no
AutoRestart             yes
AutoRestartRate         10/1h
BaseDirectory           /var/run/dkim-milter
Canonicalization        simple/simple
Domain                  mydomain1.com   #ajoutez tous vos domaines ici et séparez-les par des virgules
ExternalIgnoreList      /etc/mail/dkim/trusted-hosts
InternalHosts           /etc/mail/dkim/trusted-hosts
KeyList                 /etc/mail/dkim/keylist
LocalADSP               /etc/mail/dkim/local-adsp-rules
Mode                    sv
MTA                     MSA
On-Default              reject
On-BadSignature         reject
On-DNSError             tempfail
On-InternalError        accept
On-NoSignature          accept
On-Security             discard
PidFile                 /var/run/dkim-milter/dkim-milter.pid
QueryCache              yes
RemoveOldSignatures     yes
Selector                default
SignatureAlgorithm      rsa-sha1
Socket                  inet:20209@localhost
Syslog                  yes
SyslogSuccess           yes
TemporaryDirectory      /var/tmp
UMask                   022
UserID                  dkim-milt:dkim-milt
X-Header                yes

Vérifiez le fichier /etc/mail/dkim/keylist.

vi /etc/mail/dkim/keylist

Il doit ressembler à ceci :

*@mydomain1.com:mydomain1.com:/etc/mail/dkim/keys/mydomain1.com/default

Remarque : si vous avez d’autres domaines, vous devez les ajouter dans ce fichier. Chaque ligne pour un domaine.

Configurer Postfix

Vous devez ajouter les options suivantes au fichier main.cf de postfix pour lui permettre d’utiliser le milter.

vi /etc/postfix/main.cf
smtpd_milters = inet:localhost:20209
non_smtpd_milters = inet:localhost:20209
milter_protocol = 2
milter_default_action = accept

Ajoutez les options dkim-milter aux milters existants si vous avez déjà d’autres milters configurés.
Démarrez dkim-milter et redémarrez postfix :

service dkim-milter start
service postfix restart

Test

Envoyez un e-mail à [email protected] ou [email protected], vous recevrez une réponse indiquant si votre configuration fonctionne correctement.

Mises à jour

Des rpms mis à jour sont toujours fournis à http://www.topdog-software.com/oss/dkim-milter

Share: X/Twitter LinkedIn

Recevez de nouveaux articles dans votre boîte de réception.

Aucun spam. Désabonnez-vous à tout moment.