Signature numérique de vos domaines avec dkim

A l’heure ou le spam est une véritable perte de temps pour les utilisateurs et un véritable casse-tête pour les admins sys. Tout pleins de méthodes sont utilisées afin de diminuer au maximum l’impact que peux avoir le spam.
Ici nous verrons la mise en place de DKIM qui lui ne permet pas de contrer le spam mais permet de savoir si le domaine expéditeur est vraiment celui qui a envoyé le mail. On pourrait le comparer à PGP qui lui est au niveau des utilisateurs mais pas au niveau du domaine. Eh oui on remonte un peu dans la chaîne.

On commence par installer les softs nécessaires

  1. /*
  2. apt-get install dkim
  3. apt-get install libmail-dkim-perl
  4. apt-get install libcrypt-openssl-rsa-perl
  5. */

On crée l’arborescence nécessaire

  1. /*
  2. mkdir -p /etc/dkim/keys/votre-domaine.fr
  3. cd /etc/dkim/keys/votre-domaine.fr
  4. */

On génére une clé

  1. /*
  2. dkim-genkey -s mailer -r -d votre-domaine.fr
  3. */

-r : Sera utilisé uniquement pour des services de mails -s : Spécifie le nom du selector n’importe quel nom peut être utilisé . Par défaut le selector portera le nom de default. -d : Votre domaine

Il faut maintenant indiquer dans /etc/dkim-keys.conf la ligne suivante. Ceci permets à DKIM de connaître les domaines qu’ils devra gérer.

  1. /*
  2. @votre-domaine.fr:votre-domaine.fr:/etc/dkim/keys/votre-domaine.fr/mailer.private
  3. */

Ajouter la /etc/default-dkim-filter.com la ligne suivante. Ici DKIM écoutera sur le port 8891.

  1. /*
  2. SOCKET="inet:[email protected]"
  3. */

Spécifier à DKIM qu’il devra utiliser le fichier dkim-keys.conf . Il suffit de décommenter la ligne suivante.

  1. /*
  2. KeyList /etc/dkim-keys.conf
  3. */

Si vous avez regardé le contenu du répertoire votre-domaine.fr vous avez sans doute remarqué un fichier .txt . Nous allons récupérer le contenu de ce fichier et le coller dans notre zone DNS.

Nous pouvons enfin conclure par postfix. On édite notre main.cf et on ajoute les lignes suivantes.

  1. /*
  2. milter_default_action = accept
  3. milter_protocol = 2
  4. smtpd_milters = inet:localhost:8891
  5. non_smtpd_milters = inet:localhost:8891
  6. */

On relance tout le bouzin

  1. /*
  2. /etc/init.d/dkim-filter restart && /etc/init.d/postfix reload
  3. */

Vous pouvez enfin tester l’envoi de mail et voir si les messages sont correctement signé.

Enjoy 🙂

PS : Lors de la génération des clés si vous utilisez l’option « -b 2048 » , la clé généré sera de 2048 bits. Lors de la copie du fichier .txt dans votre zone DNS rndc gueule dans tout les sens. Je n’ai pas trouvé de solution mis à part d’utiliser une clé de 1024 bits.

Related posts

2 Thoughts to “Signature numérique de vos domaines avec dkim”

  1. C’est super bien comme outil. Je vais l’implémenter sur mon serveur.
    Par contre sur d’autre site il indique une mise à jours du DNS associer
    http://monblog.system-linux.net/blog/2011/09/24/mettre-en-place-dkim-avec-postfix-sous-debian-sueeze/
    http://www.system-linux.eu/index.php?post/2010/03/23/Compilaion-Installation-et-Configuration-de-Opendkim
    Je pense que cela est absent de ton tuto, mais absolument nécessaire pour pouvoir valider le domaine.

  2. La partie DNS est évoqué « Si vous avez regardez le contenu du répertoire votre-domaine.fr vous avez sans doute remarqué un fichier .txt . Nous allons récupérer le contenu de ce fichier et le coller dans notre zone DNS.  »
    C’est vrai j’aurais pu faire plus jolie 🙂

    Tu peux aussi lire ce billet
    http://www.robertain.com/post/2011/01/03/signature-dkim-et-amavis/

Leave a Comment