Fiabiliser ses emails avec SPF, DKIM et DMARC


La messagerie est l’un des piliers de la communication en entreprise. Pourtant, lorsqu’on gère son propre domaine, il arrive que les emails soient rejetés, classés en spam, ou arrivent avec un retard important. La cause ? Une mauvaise configuration DNS ou une absence de mécanismes modernes de protection comme SPF, DKIM et DMARC.

Dans cet article, nous allons voir comment fiabiliser l’envoi et la réception de vos emails, étape par étape, avec un focus sur Exchange et Postfix, en couvrant également toutes les briques essentielles : reverse DNS, MTA-STS, TLS-RPT, BIMI et monitoring.


Pourquoi fiabiliser ses emails est indispensable ?

  • Éviter les pertes de messages : un email sans SPF/DKIM/DMARC peut être rejeté par Gmail ou Outlook.
  • Protéger votre réputation : un domaine mal configuré peut être utilisé pour du phishing (spoofing).
  • Améliorer la délivrabilité : les serveurs distants (Google, Microsoft, Yahoo, etc.) accordent un score de confiance.
  • Renforcer la sécurité : vos utilisateurs et clients sont protégés contre les usurpations.

Les bases de la messagerie

Avant de rentrer dans la technique, rappelons quelques fondamentaux.

Le chemin d’un email

  1. L’expéditeur rédige son mail dans un MUA (client Outlook, Thunderbird, mobile).
  2. Le mail part vers un MTA (Postfix, Exchange, etc.) qui s’occupe de l’acheminer.
  3. Le serveur de destination (MDA) reçoit le mail, l’analyse, et le remet au destinataire.

Les enregistrements DNS essentiels

  • MX : indique où doivent être livrés les mails.
  • A / AAAA : adresse IP du serveur de messagerie.
  • PTR (reverse DNS) : correspondance IP ↔ nom.
  • SPF : liste des serveurs autorisés à envoyer des mails pour votre domaine.
  • DKIM : signature cryptographique garantissant l’intégrité du message.
  • DMARC : politique de traitement en cas d’échec SPF/DKIM.

Étape 1 – Configurer SPF (Sender Policy Framework)

SPF permet d’indiquer quels serveurs sont autorisés à envoyer des emails pour votre domaine.

Exemple pour example.com

example.com.  3600  IN  TXT  "v=spf1 ip4:192.0.2.10 include:_spf.google.com -all"
  • ip4:192.0.2.10 → autorise le serveur interne.
  • include:_spf.google.com → autorise GSuite.
  • -all → tout le reste est refusé.

👉 Bonnes pratiques :

  • Toujours tester avec ~all (softfail) avant de passer à -all.
  • Éviter plus de 10 lookups DNS (limite RFC).

Étape 2 – Configurer DKIM (DomainKeys Identified Mail)

DKIM ajoute une signature cryptographique à vos emails. Le serveur récepteur valide la signature via une clé publique dans le DNS.

Exemple DNS

selector1._domainkey.example.com. 3600 IN TXT "v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3..."

Postfix (avec OpenDKIM)

# /etc/opendkim.conf
Domain                  example.com
KeyFile                 /etc/opendkim/keys/example.com/selector1.private
Selector                selector1
Socket                  inet:12301@localhost

Dans main.cf :

smtpd_milters = inet:localhost:12301
non_smtpd_milters = inet:localhost:12301

Exchange On-Premise

Exchange ne gère pas nativement DKIM. Il faut un agent tiers comme Exchange DKIM Signer.

  • Installer l’agent.
  • Générer une clé.
  • Publier la clé publique dans le DNS.

Étape 3 – Configurer DMARC (Domain-based Message Authentication)

DMARC dicte au serveur destinataire quoi faire si SPF ou DKIM échouent.

Exemple DNS

_dmarc.example.com. 3600 IN TXT "v=DMARC1; p=quarantine; rua=mailto:[email protected]; ruf=mailto:[email protected]; fo=1"
  • p=none : surveillance uniquement.
  • p=quarantine : met en spam si échec.
  • p=reject : rejette les mails non conformes.
  • rua : rapports agrégés.
  • ruf : rapports détaillés.

👉 Bonnes pratiques :

  • Toujours commencer par p=none.
  • Surveiller les rapports, puis évoluer vers quarantine et enfin reject.

Étape 4 – Autres briques de fiabilisation

Reverse DNS (PTR)

  • Obligatoire pour Gmail/Outlook.
  • Doit correspondre au EHLO/HELO du serveur.

MTA-STS (SMTP Strict Transport Security)

_mta-sts.example.com. IN TXT "v=STSv1; id=20230801"

Fichier .well-known/mta-sts.txt :

version: STSv1
mode: enforce
mx: mail.example.com
max_age: 86400

TLS-RPT (rapports TLS)

_smtp._tls.example.com. IN TXT "v=TLSRPTv1; rua=mailto:[email protected]"

BIMI (Brand Indicators for Message Identification)

default._bimi.example.com. IN TXT "v=BIMI1; l=https://example.com/logo.svg; a=https://example.com/certificate.pem"

Étape 5 – Sécuriser la réception

Postfix (exemple)

smtpd_recipient_restrictions =
  reject_unauth_pipelining,
  reject_non_fqdn_sender,
  reject_unknown_sender_domain,
  reject_rbl_client zen.spamhaus.org,
  reject_invalid_helo_hostname,
  check_policy_service unix:private/policy-spf

Exchange

  • Transport Rules : bloquer si SPF/DKIM échouent.
  • Edge Transport : ajout de filtres antispam.
  • Intégration avec DNSBL externes.

Tableau comparatif : bien configuré vs mal configuré

ÉlémentBien configuréMal configuré
SPFEmails validés, pas de spoofingEmails rejetés chez Gmail
DKIMSignature valide, intégrité garantieDKIM fail → spam chez Outlook
DMARCProtection contre usurpation, rapportsPas de politique → phishing possible
PTRAccepté partoutRejet immédiat (Yahoo, Microsoft)
TLSLivraison sécuriséeDégradation, retards, rejet possible
MonitoringRapports DMARC analysésPerte de visibilité, baisse de réputation

Étape 6 – Tests et validation

Outils indispensables

Commandes utiles

dig TXT example.com
dig TXT selector1._domainkey.example.com
openssl s_client -connect mail.example.com:25 -starttls smtp

Bonnes pratiques avancées

  • Démarrer DMARC en none, surveiller, puis monter en reject.
  • Vérifier tous les flux (applications, copieurs, ERP…).
  • Séparer domaines marketing/transactionnels.
  • Rotation régulière des clés DKIM.
  • Surveiller en continu via Postmaster Tools.

Conclusion

La mise en place de SPF, DKIM et DMARC, combinée à un reverse DNS, MTA-STS, TLS-RPT et BIMI, est aujourd’hui indispensable pour assurer la fiabilité et la réputation de vos emails.
Avec ces étapes, vos emails auront toutes les chances d’atteindre la boîte de réception et non le dossier spam, tout en renforçant la sécurité contre le phishing.

👉 À faire dès aujourd’hui : tester votre domaine avec Mail Tester, corriger vos DNS, et mettre en place une politique DMARC progressive.


📌 Annexes et ressources


Assistant IA