Introduction

La sécurisation des services de messagerie est un element majeur pour toute organisation peu importe sa taille, et meme pours les particulieurs qui gerent leur propre messagerie. Les e-mails sont souvent ciblees par les attaques de phishing, de compromission de comptes, et de spam. Pour lutter contre ces menaces, il est essentiel de mettre en place des mécanismes d’authentification et de sécurité. C’est là qu’interviennent SPF, DKIM et DMARC. Les trois mousquettaires de la sécurité des e-mails.

SPF (Sender Policy Framework)

Comprendre SPF

Le SPF, ou Sender Policy Framework, est un mécanisme d’authentification qui permet de vérifier que le serveur SMTP est autorisé à envoyer des e-mails au nom d’un domaine spécifique. Il fonctionne en utilisant des enregistrements DNS pour déclarer quels serveurs sont autorisés ou non, a envoyer des e-mails pour un domaine donné. Sinon ça serait trop facile d’envoyer des @gouv.fr depuis mon propre serveur SMTP.

Mise en Place de SPF

Étape 1 : Enregistrement DNS SPF

La première étape pour mettre en place SPF consiste à ajouter un enregistrement DNS SPF a notre domaine. Cet enregistrement indique les serveurs autorisés à envoyer des e-mails pour notre domaine.

Pour ajouter un enregistrement DNS SPF, suivez ces étapes :

  1. Connectez-vous à votre compte de gestion de domaine ou à votre service DNS ex:OVH,GoogleDomains…

  2. Recherchez la section “Gestion des enregistrements DNS” ou similaire.

  3. Créez un nouvel enregistrement TXT et ajoutez la valeur SPF. Par exemple :

v=spf1 a mx ip4:192.0.2.1 include:_spf.makhal.fr ~all

Explication des éléments de l’enregistrement SPF :

  • v=spf1 : Indique que c’est un enregistrement SPF de version 1.
  • a : Autorise le domaine à envoyer des e-mails depuis son adresse IP.
  • mx : Autorise le domaine à envoyer des e-mails depuis ses enregistrements MX.
  • ip4:192.0.2.1 : Autorise le domaine à envoyer des e-mails depuis l’adresse IP 192.0.2.1.
  • include:_spf.makhal.fr : Autorise le domaine à inclure d’autres règles SPF depuis le domaine _spf.makhal.fr.
  • ~all : Indique que toute autre adresse IP doit être marquée comme “soft fail” (échec léger). Vous pouvez également utiliser -all pour un “hard fail” (échec strict).
  1. Enregistrez l’enregistrement SPF.

Étape 2 : Configuration du Serveur de Messagerie

Après avoir configuré l’enregistrement DNS SPF, vous devez configurer votre serveur de messagerie pour utiliser SPF lors de la réception d’e-mails. La configuration peut varier en fonction du serveur de messagerie que vous utilisez. Voici comment configurer SPF pour Postfix.

SPF avec plus de details

Le mécanisme SPF est basé sur la vérification de l’enveloppe de l’e-mail, qui comprend les adresses IP source du serveur SMTP. Lorsqu’un serveur de messagerie reçoit un e-mail, il vérifie si l’adresse IP source est autorisée dans l’enregistrement DNS SPF du domaine du destinataire. Si l’adresse IP est autorisée, l’e-mail passe la vérification SPF.

SPF permet de spécifier différents mécanismes d’autorisation, tels que a (autorisation de l’adresse IP du domaine), mx (autorisation des enregistrements MX du domaine), ip4 (autorisation d’une adresse IP spécifique), et bien d’autres. Vous pouvez également spécifier des mécanismes de rejet, tels que -all (rejet strict) et ~all (rejet léger). Si aucune règle n’est spécifiée, SPF utilise la règle par défaut ?all (ne pas rejeter). Cela signifie que si aucune règle n’est spécifiée, l’e-mail passera la vérification SPF. C’est pourquoi il est important de spécifier une règle de rejet.

Egalement, SPF permet d’inclure d’autres règles SPF depuis un autre domaine. Cela permet de réutiliser les règles SPF existantes. Par exemple, si vous souhaitez utiliser les règles SPF de Google, vous pouvez inclure _spf.gouv.fr dans votre enregistrement SPF. Cela permet d’inclure les règles SPF de Google dans votre enregistrement SPF.

DKIM (DomainKeys Identified Mail)

Comprendre DKIM

DKIM est un autre mécanisme d’authentification essentiel pour securiser nos e-mails. Il permet de vérifier l’authenticité de l’e-mail en vérifiant une signature cryptographique attachée à l’en-tête du mail.

Mise en Place de DKIM

Étape 1 : Génération des Clés DKIM

La première étape pour mettre en place DKIM est de générer les paires de clés publiques et privées. Ces clés sont utilisées pour créer et vérifier la signature DKIM.

Pour générer les clés DKIM, suivez ces étapes :

  1. Installez OpenDKIM si ce n’est pas déjà fait :
sudo apt-get install opendkim opendkim-tools
  1. Générez les paires de clés DKIM :
sudo opendkim-genkey -b 2048 -d votredomaine.com -D /etc/opendkim/keys -s mail

Remarque: Vous pouvez utiliser votre propre wildcard si vous le voulez.

  1. Vous trouverez les clés générées dans le répertoire spécifié (/etc/opendkim/keys dans cet exemple).

Étape 2 : Configuration d’OpenDKIM

  1. Ouvrez le fichier de configuration d’OpenDKIM :
sudo nano /etc/opendkim.conf
  1. Assurez-vous que les lignes suivantes sont correctement configurées :
Domain                  votredomaine.com
KeyFile                 /etc/opendkim/keys/mail.private
Selector                mail

Étape 3 : Intégration d’OpenDKIM avec Postfix

  1. Ouvrez le fichier de configuration principal de Postfix :
sudo nano /etc/postfix/main.cf
  1. Ajoutez les directives suivantes pour activer OpenDKIM :
milter_default_action = accept
milter_protocol = 6
smtpd_milters = inet:localhost:12301
non_smtpd_milters = inet:localhost:12301
  1. Redémarrez OpenDKIM et Postfix :
sudo systemctl restart opendkim
sudo systemctl restart postfix

DKIM pour les pros…

DKIM repose sur un système de clés publiques et privées. Lorsqu’un serveur de messagerie envoie un e-mail, il signe l’e-mail avec sa clé privée. Le destinataire peut ensuite vérifier la signature à l’aide de la clé publique publiée dans l’enregistrement DNS du domaine expéditeur.

Cela garantit que l’e-mail n’a pas été altéré en transit et qu’il provient bien de l’expéditeur prétendu. Si la signature est valide, le destinataire peut avoir confiance en l’authenticité de l’e-mail.

DMARC (Domain-based Message Authentication, Reporting, and Conformance)

Comprendre DMARC

DMARC est une politique de sécurité des e-mails qui va au-delà de SPF et DKIM. Il permet aux propriétaires de domaines de spécifier comment les e-mails non authentifiés doivent être traités par les serveurs de messagerie.

Mise en Place de DMARC

Étape 1 : Ajout de l’Enregistrement DMARC DNS

La première étape pour mettre en place DMARC est d’ajouter un enregistrement DNS DMARC à votre domaine.

Voici un exemple d’enregistrement DMARC :

_dmarc.votredomaine.com IN TXT "v=DMARC1; p=quarantine; rua=mailto:[email protected]"

Explications des éléments de l’enregistrement DMARC :

  • v=DMARC1 : Indique qu’il s’agit d’un enregistrement DMARC de version 1.
  • p=quarantine : Spécifie l’action à prendre pour les e-mails qui ne passent pas les vérifications SPF et DKIM. “quarantine” signifie de les marquer comme spam.
  • rua=mailto:[email protected] : Spécifie l’adresse e-mail à laquelle envoyer les rapports.

Étape 2 : Interprétation des Rapports DMARC

DMARC génère des rapports qui vous donnent des informations sur les e-mails envoyés depuis votre domaine, y compris ceux qui ont échoué aux vérifications SPF et DKIM. Ces rapports peuvent être précieux pour surveiller et améliorer la configuration de vos politiques de sécurité des e-mails.

Comprendre DMARC en Profondeur

DMARC fonctionne en utilisant SPF et DKIM pour authentifier les e-mails. Si un e-mail échoue à ces vérifications, DMARC spécifie comment le destinataire doit gérer cet e-mail. Les actions possibles sont none (ne rien faire), quarantine (marquer comme spam) et reject (rejeter complètement l’e-mail).

DMARC permet également de spécifier où envoyer les rapports de conformité et de défaillance. Cela vous permet de surveiller et d’ajuster vos politiques de sécurité des e-mails en fonction des résultats.


Avec SPF, DKIM et DMARC en place, on a pu mettre en œuvre une solide stratégie de sécurité des e-mails. Ces mécanismes travaillent ensemble pour authentifier et protéger les mails de notre boite contre les usurpations d’identité, les attaques de phishing et les spams.