Table des matières
OpenDKIM
Installation
Debian
postfix doit être installé
Installation des paquet requis :
apt-get update apt-get install opendkim opendkim-tools
Configuration
Paramétrage d'opendkim
Editer le fichier de configuration :
vim /etc/opendkim.conf
Ajouter les lignes suivantes :
AutoRestart Yes AutoRestartRate 10/1h UMask 002 Syslog yes SyslogSuccess Yes LogWhy Yes Canonicalization relaxed/simple ExternalIgnoreList refile:/etc/opendkim/TrustedHosts InternalHosts refile:/etc/opendkim/TrustedHosts KeyTable refile:/etc/opendkim/KeyTable SigningTable refile:/etc/opendkim/SigningTable Mode sv PidFile /var/run/opendkim/opendkim.pid SignatureAlgorithm rsa-sha256 UserID opendkim:opendkim Socket inet:17789@localhost
Editer le fichier :
vim /etc/default/opendkim
Ajouter la ligne suivante :
SOCKET="inet:17789@localhost"
Implémentation dans Postfix
Editer le fichier :
vim /etc/postfix/main.cf
Ajouter les lignes suivantes :
# START - DKIM CONFIG milter_protocol = 2 milter_default_action = accept # smtpd_milters = inet:localhost:17789 non_smtpd_milters = inet:localhost:17789 # END - DKIM CONFIG
Autorisation des hôtes
Création de la structure de fichier :
mkdir /etc/opendkim mkdir /etc/opendkim/keys
Ajuster le hôtes de confiance :
vim /etc/opendkim/TrustedHosts
Exemple :
127.0.0.1 localhost 192.168.2.2/32 *.domaine1.com *.domaine2.com
Définition tableau des clé
Il faut créer un tableau de correspondance : clé publique (DNS) et clé privé (serveur mail).
Créer/Editer le fichier :
vim /etc/opendkim/KeyTable
Ajouter par exemple les lignes suivantes, à modifier selon le nom de domaine :
mail._domainkey.domaine1.com. domaine1.com:mail:/etc/opendkim/keys/domaine1.com/mail.private mail._domainkey.domaine2.com. domaine2.com:mail:/etc/opendkim/keys/domaine2.com/mail.private
Par exemple, la clé publique révélée par l'enregistrement DNS mail._domainkey.domaine1.com, correspondra à la clé privé localisé dans /etc/opendkim/keys/domaine1.com/mail.private.
Assignation domaine de messagerie et clé publique
L'idée est d'assigner un domaine de messagerie @domaine.com à un profil de clé public.
Editer le fichier :
vim /etc/opendkim/SigningTable
Insérer par exemple les lignes suivantes, à ajuster selon vos domaines :
- *@domaine1.com mail._domainkey.domaine1.com
- *@domaine2.com mail._domainkey.domaine2.com
Génération des clés publiques et privés
Se rendre dans le répertoire de stockage des clé :
cd /etc/opendkim/keys
Créer le répertoire pour les clé de domaine1.com et aller dans le répertoire. par exemple :
mkdir domaine1.com cd domaine1.com
Générer la pair de clé :
openssl genrsa -out mail.private openssl rsa -in mail.private -out mail.public -pubout -outform PEM
Appliquer les permissions :
chown opendkim:opendkim mail.private
Reproduire les étapes pour domain2.com.
Enregistrement DNS des clés publiques
Afficher l'enregistrement DNS à créer :
cat /etc/opendkim/keys/domaine1.com/mail.txt
Exemple de résultat :
#-----BEGIN PUBLIC KEY----- MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtXc0cuhh+8e1ZFfeVTAn 6AKzPUMenYN7YDFau/93hHBHJwsiZkxmdcW17wWy95V2oYlKQXgZn5GvcY1reetC wczYZ6HSMLWL25k/kWXxHBefgJur8pMy3y9PbfLFr34q4Ux6BwplKwxaE8M09CGz Ch3CVuUu9MZedoRx04pcXeGWFJRio1oyIBkf5d33spivSnphikIJHir0iMQ9AsVQ be0aIt/7XxlkhVbCH7xovFzHEOgYN6S2wiXreT33VklvEDGqy9x+1/SGQCiwY2bY RNOj5nqeoFV9Rgcp/iLJnQZ48aPPqeNQCLKRyDBNlFz3896suwsUlF0mXmsd3pe3 dQIDAQAB -----END PUBLIC KEY-----
Préparer les lignes pour l'enregistrement DNS à mettre en une seul ligne :
"v=DKIM1;k=rsa;p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtXc0cuhh+8e1ZFfeVTAn6AKzPUMenYN7YDFau/93hHBHJwsiZkxmdcW17wWy95V2oYlKQXgZn5GvcY1reetCwczYZ6HSMLWL25k/kWXxHBefgJur8pMy3y9PbfLFr34q4Ux6BwplKwxaE8M09CGzCh3CVuUu9MZedoRx04pcXeGWFJRio1oyIBkf5d33spivSnphikIJHir0iMQ9AsVQbe0aIt/7XxlkhVbCH7xovFzHEOgYN6S2wiXreT33VklvEDGqy9x+1/SGQCiwY2bYRNOj5nqeoFV9Rgcp/iLJnQZ48aPPqeNQCLKRyDBNlFz3896suwsUlF0mXmsd3pe3dQIDAQAB"
Le format est :
"v=DKIM1;k=rsa;p=<chaine_en_une_ligne>"
Attention, si vous faite l'enregistrement DNS via un formulaire Web : Il faut parfois laisser les guillemets dans le champs de saisie de la cible et parfois non. Cela dépendant du fournisseur.
Redémarrer les services
Relancer les services pour prendre en compte la configuration :
service postfix restart service opendkim restart
