Il faut qu’exim 4.70 minimum soit installé.
Voir la faq pour mettre à jour via CustomBuild
Sur le fichier /etc/exim.conf
- Ajouter, le plus haut possible (juste après les commentaires de début de fichiers) :
DKIM_DOMAIN = ${lc:${domain:$h_from:}}
DKIM_FILE = /etc/dkim/${lc:${domain:$h_from:}}.pem
DKIM_PRIVATE_KEY = ${if exists{DKIM_FILE}{DKIM_FILE}{0}}
- Puis trouver
remote_smtp:
driver = smtp
- Et mettre à la place :
remote_smtp:
driver = smtp
dkim_domain = DKIM_DOMAIN
dkim_selector = x
dkim_private_key = DKIM_PRIVATE_KEY
dkim_canon = relaxed
dkim_strict = 0
Maintenant, il faut générer les certificats pour chaque domaine
- se connecter en SSH sur votre serveur privé (voir la faq SSH)
- on crée un répertoire pour stocker ces certificats
mkdir /etc/dkim/ && cd /etc/dkim/
- on génère les clés pour chaque domaine (evidemment, vous modifiez domaine.com par votre domaine !)
openssl genrsa -out example.com.pem 768
openssl rsa -in example.com.pem -out example.com-public.pem -pubout -outform PEM
Maintenant, il faut configurer le domaine pour utiliser les clés créées
- Ajouter les entrées suivantes DNS depuis votre manager DirectAdmin, pour chaque domaine
x._domainkey IN TXT « v=DKIM1\; t=y\; k=rsa\; p=MIGfMA0<etc…>AQAB »
_domainkey IN TXT « t=y\; o=~\; »
« MIGfMA0<etc…>AQAB » est un raccourci de la clé générée en ssh, à récupéer dans le répertoire /etc/dkim (prendre le fichier qui se termine par public-pem)
« x » correspond à au dkim_selector dans le transport SMTP transport.
« t=y » dit au monde, que vous êtes en train de tester votre configuration. Donc enlevez là uniquement lorsque vous serez sûr à 100% que ça marche.
« o=~ » dit au monde, que vous signez que quelques mails. vous pouvez utiliser « o=- » si tous vos mails sont signés.
Vous pouvez vérifier vos enregistrement DNS en ssh :
dig +short txt x._domainkey.example.com
qui devrait répondre : « v=DKIM1\; k=rsa\; p=MIGfMA0<etc…>AQAB »
Donc finalement, en envoyant vos mails, vous devriez maintenant voir un header de cette forme :
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=example.com; s=x;
h=From:To:Message-Id:Date; bh=g3zLY<etc…>5uGs=; b=fonAB<etc…>bceHhQ==;
Testez vos mails, en envoyant sur check-auth@verifier.port25.com qui vous répondra aussitôt avec toute sorte de test, incluant la signature DKIM.