Comment installer Open DKIM pour signer les e-mails sortants sur Postfix/Centos 7 ?

Commencer par installer OpenDKIM avec yum

$sudo yum install opendkim opendkim-tools

$sudo yum install epel-release (si le paquet n'est pas trouvé)

Passons à la configuration de OpenDKIM, elle se trouve dans le fichier /etc/opendkim.conf.

$sudo nano /etc/opendkim.conf

Par défaut OpenDKIM n'est configuré que pour vérifier les signatures DKIM des e-mails reçus, en changeant le mode « v » en « sv », indiquer à OpenDKIM qu’il doit aussi signer les e-mails sortants.

broken image

Il faut ensuite décommenter les lignes contenant les chemins vers les clefs de signature DKIM et la liste des systèmes utilisant Postfix pour émettre/relayer leur e-mails.

Il s’agit des paramètres Keyfile, KeyTable, SigningTable, ExternalIgnoreList, InternalHosts

broken image

Rajouter ensuite deux lignes à la fin du fichier :

Domain <DOMAINE> // permet d’indiquer que les e-mails émis par ce domaine seront signés par OpenDKIM.

RequireSafeKeys False // permet d’éviter les erreurs en cas de mauvaises permissions configurées sur les clefs de signature DKIM. Vous pouvez retirer ce paramètre si vous êtes certain que seul l’utilisateur OpenDKIM peut lire et écrire sur les fichiers contenant les clefs privées de signature DKIM. Si vous faites une erreur sans ajouter ce paramètre l’envoi de vos emails risque d’être bloqué.

broken image

-Editer ensuite le fichier SigningTable :

$sudo nano /etc/opendkim/SigningTable

Rajouter la ligne :

*@<DOMAIN> <SELECTOR>._domainkey.<DOMAIN>

Dans l’exemple suivant le domaine est « dmarc.fr » et le selector est « demo »

broken image

-Editer le fichier KeyTable

$sudo nano /etc/opendkim/KeyTable

rajouter la ligne :

<SELECTOR>._domainkey.<DOMAINE>

<DOMAINE>:<SELECTOR>:/etc/opendkim/keys/<DOMAINE>/<SELECTOR>.private

broken image

-Editer le fichier TrustedHosts

 

$sudo nano /etc/opendkim/TrustedHosts

 

 

-Dans TrustHost ré-ajouter une/des ligne(s) avec votre domaine et les IPs qui utilisent le Postfix pour émettre/relayer des e-mails (serveurs applicatifs, etc.).

 

*.<DOMAINE>

broken image

-Créer un répertoire pour les clefs privées

sudo mkdir /etc/opendkim/keys/<DOMAINE>

broken image

-Générer les clefs avec :

$sudo opendkim-genkey -b 1024 -d <DOMAIN> -D /etc/opendkim/keys/<DOMAIN> -s <SELECTOR> -v

broken image

-Rendre l’utilisateur Opendkim propriétaire des clefs :

$sudo chown opendkim:opendkim /etc/opendkim/keys -R

-Vous pouvez maintenant afficher la clef publique :

$sudo cat /etc/opendkim/keys/<DOMAINE>/<SELECTOR>.txt

broken image

La clef publique apparaît et vous pouvez la publier sur votre DNS.

-Configurer ensuite postfix en ouvrant: /etc/postfix/main.cf.

$sudo nano /etc/postfix/main.cf

Ajouter les trois lignes à la fin du fichier de configuration :

smtpd_milters = inet:127.0.0.1:8891

non_smtpd_milters = $smtpd_milters

milter_default_action = accept

broken image

Ensuite redémarrer openDKIM et Postfix:

$sudo service opendkim restart

$sudo service postfix restart

Maintenant envoyer un e-mail et vérifier que l’email est signé avec DKIM et le domaine que vous avez configuré.

Note : pour comprendre l’intégralité des options disponibles dans OpenDKIM :

https://linux.die.net/man/5/opendkim.conf