Postfix DKIM · 1 min read · Sep 27, 2025

Configurer Postfix DKIM Avec dkim-milter

Configurer Postfix DKIM Avec dkim-milter

Ce guide a été remplacé par http://www.topdog.za.net/postfix_dkim_milter

Introduction

DKIM est un cadre d’authentification qui stocke des clés publiques dans le DNS et signe numériquement les e-mails sur une base de domaine. Il a été créé à la suite de la fusion des domainkeys de Yahoo et de la spécification de courrier Internet identifié de Cisco. Il est défini dans la RFC 4871.

Nous allons utiliser l’implémentation milter de dkim http://dkim-milter.sf.net sur CentOS 5.1

Installation

Installez le rpm, ignorez les dépendances car csh est une dépendance mais cela n’affecte pas dkim-milter ; il est seulement requis pour certains scripts d’exemple qui sont fournis avec le 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

Générer Les Clés

Téléchargez ce script que vous pouvez utiliser pour générer facilement les clés pour signer le mail :

./dkim-genkey.sh -d 

Remplacez par le nom de domaine pour lequel vous signerez le mail. Cela créera deux fichiers default.txt et default.private, 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 topdog-software.com

default.private contient votre clé privée. Déplacez ce fichier dans /etc/dkim-milter et renommez-le _default.key.pem :

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

Modifiez le fichier /etc/sysconfig/dkim-milter et définissez les variables :

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"

Correction du Script d’Init

Installez mon script d’init modifié car celui fourni avec le rpm a un 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

Configurer Postfix

Ajoutez ceci au fichier de configuration de postfix /etc/postfix/main.cf :

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

Ajoutez à l’existant milters 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 message à [email protected] ; le système renverra une réponse pour vous faire savoir si DKIM fonctionne. Examinez les en-têtes des mails provenant de domaines comme gmail pour voir si votre système vérifie les signatures DKIM des mails entrants.

Mail DKIM dans Gmail

Share: X/Twitter LinkedIn

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

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