Je ne peux pas configurer DKIM sur mon serveur (Ubuntu 14.04). Y a-t-il un tutoriel à cet effet? (Mon serveur de messagerie a été configuré selon ce manuel : http://www.krizna.com/ubuntu/setup-mail-server-ubuntu-14-04/)
Réponse
Trop de publicités?Installez d'abord les paquets nécessaires :
sudo apt-get install opendkim opendkim-tools
Ajoutez ce qui suit à /etc/opendkim.conf
:
Domain example.com
KeyFile /etc/postfix/dkim.key
Selector dkim
SOCKET inet:8891@localhost
Ajoutez ce qui suit à /etc/default/opendkim
:
SOCKET="inet:8891@localhost"
Ajoutez une configuration DKIM appropriée à /etc/postfix/main.cf
:
# DKIM
# --------------------------------------
milter_default_action = accept
milter_protocol = 2
smtpd_milters = inet:localhost:8891
non_smtpd_milters = inet:localhost:8891
Vous devez ajouter no_milters
à la ligne receive_override_options
dans /etc/postfix/master.cf
. Cela empêche que plusieurs signatures soient placées sur le même message sortant
-o receive_override_options=no_header_body_checks,no_unknown_recipient_checks,no_milters
Maintenant, vous pouvez générer une clé privée pour signer les e-mails sortants. Notez que dans la commande suivante, dkim
est la valeur attribuée à Selector dans /etc/opendkim.conf
.
opendkim-genkey -t -s dkim -d example.com
Déplacez la clé à sa place, mais n'oubliez pas d'en faire une copie et de la sauvegarder quelque part en sécurité :
mv dkim.private /etc/postfix/dkim.key
Vous devrez redémarrer les services de Postfix et OpenDKIM pour prendre en compte les modifications de configuration afin que les e-mails sortants soient signés avec DKIM :
service opendkim start
service postfix restart
Ensuite, configurez le DNS. La manière de le faire dépend de la façon dont vous gérez DNS ou de la manière dont il est géré pour vous - les outils de chacun sont différents.
Le fichier dkim.txt
contient le contenu suivant, l'enregistrement TXT complet qui doit être créé. Il a le sous-domaine dkim._domainkey
et un long contenu encodé comme valeur. Encore une fois, "dkim" est la valeur attribuée à Selector dans /etc/opendkim.conf
.
dkim._domainkey IN TXT ( "v=DKIM1; k=rsa; t=y; "
"p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC9rulKo58JIb5h+3MMEnYhlnbuVgRoA4w68R/X7qA2Lfv3RpdrrUb+r7KxemIo6PUIOm6uZ5OymhBgpJ0LAWBHBSJjnFmDXNajSgxMOcvkpgmVCW1/k1kxK864WVVSyFVQPyUImqklY+ws4u+mog3PSbuq2J8NFAnvSwzMg3vT1QIDAQAB" ; ----- Clé DKIM pour le courrier example.com
Lors de la configuration, vous devriez omettre la partie k=rsa; t=y;
de la valeur. Le premier élément se réfère au format de la clé et par défaut il s'agit de RSA. Le second indique qu'il s'agit d'une entrée de test, et ne doit pas être incluse. Ainsi, la valeur ressemble à ceci :
"v=DKIM1; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC9rulKo58JIb5h+3MMEnYhlnbuVgRoA4w68R/X7qA2Lfv3RpdrrUb+r7KxemIo6PUIOm6uZ5OymhBgpJ0LAWBHBSJjnFmDXNajSgxMOcvkpgmVCW1/k1kxK864WVVSyFVQPyUImqklY+ws4u+mog3PSbuq2J8NFAnvSwzMg3vT1QIDAQAB"
Il est utile de consulter des exemples concrets à des fins de comparaison, pour voir comment vous devriez entrer la valeur dans vos enregistrements. Vous pouvez utiliser le vérificateur de clés DKIM ou d'autres outils comme dig. Notez que le dkim._domainkey
est le sous-domaine dans la commande suivante :
dig dkim._domainkey.twitter.com txt
MODIFICATION 1
Changez dans /etc/postfix/main.cf
le formulaire
# DKIM
# --------------------------------------
milter_default_action = accept
milter_protocol = 2
smtpd_milters = inet:localhost:8891
non_smtpd_milters = inet:localhost:8891
en
smtpd_milters = inet:127.0.0.1:8891
non_smtpd_milters = $smtpd_milters
milter_default_action = accept
milter_protocol = 2
Redémarrez postfix
. Vérifiez l'état des services opendkim
et postfix
. Vérifiez à nouveau que les e-mails sont signés.