SPF vs DKIM vs DMARC : comprendre les differences
Trois protocoles, un seul objectif : empecher l'usurpation de votre domaine email. Decouvrez ce qui les distingue et pourquoi vous avez besoin des trois.
Pourquoi trois protocoles ?
L'email a ete concu dans les annees 1980 sans aucun mecanisme d'authentification. N'importe qui pouvait (et peut encore) envoyer un message en pretendant etre quelqu'un d'autre. Pour combler cette faille, trois protocoles complementaires ont ete crees au fil du temps :
- SPF (2006) — verifie que le serveur expediteur est autorise par le domaine.
- DKIM (2007) — ajoute une signature cryptographique au message pour garantir son integrite.
- DMARC (2012) — orchestre SPF et DKIM, et indique aux serveurs recepteurs quoi faire en cas d'echec.
Chacun couvre un angle different de l'authentification. Utilises separement, ils laissent des failles. Combines, ils forment une protection robuste contre le spoofing et le phishing.
Tableau comparatif
| Critere | SPF | DKIM | DMARC |
|---|---|---|---|
| Objectif | Verifier que le serveur expediteur est autorise | Garantir l'integrite et l'authenticite du message | Orchestrer SPF/DKIM et definir la politique en cas d'echec |
| Ce qu'il verifie | L'adresse IP du serveur d'envoi vs les IP autorisees dans le DNS | La signature cryptographique dans l'en-tete du message | L'alignement du domaine From avec SPF et/ou DKIM |
| Type d'enregistrement DNS | TXT | TXT (sous-domaine _domainkey) | TXT (sous-domaine _dmarc) |
| Suffisant seul ? | Non — ne protege pas le header From visible | Non — n'indique pas quoi faire en cas d'echec | Non — necessite SPF et/ou DKIM pour fonctionner |
| RFC | RFC 7208 | RFC 6376 | RFC 7489 |
SPF en resume
Le SPF (Sender Policy Framework) est le premier niveau de protection. Il permet de declarer dans le DNS la liste des serveurs autorises a envoyer des emails pour votre domaine.
- Fonctionne en comparant l'IP du serveur expediteur avec les IP autorisees
- Protege contre l'envoi depuis des serveurs non autorises
- Limite : ne verifie que l'adresse d'enveloppe (MAIL FROM), pas le header From visible par le destinataire
- Maximum de 10 lookups DNS par enregistrement
DKIM en resume
Le DKIM (DomainKeys Identified Mail) ajoute une signature cryptographique a chaque email envoye. Le serveur recepteur peut verifier cette signature grace a la cle publique publiee dans le DNS du domaine expediteur.
- Garantit que le contenu du message n'a pas ete modifie en transit
- Lie le message a un domaine specifique via une signature numerique
- Survit au transfert d'email (contrairement au SPF)
- Limite : ne dit pas au serveur recepteur quoi faire si la verification echoue
DMARC en resume
Le DMARC (Domain-based Message Authentication, Reporting & Conformance) est la piece maitresse qui fait fonctionner SPF et DKIM ensemble. Il verifie l'alignement : le domaine du header From doit correspondre au domaine verifie par SPF et/ou DKIM.
- Definit une politique claire :
none(surveiller),quarantine(spam),reject(bloquer) - Envoie des rapports sur les tentatives d'usurpation
- Protege le header From visible par le destinataire (la faille de SPF seul)
- Prerequis : au moins SPF ou DKIM doit etre configure
Comment les 3 fonctionnent ensemble
Voici ce qui se passe quand un serveur recoit un email pretendant venir de votre domaine :
- Verification SPF — Le serveur recepteur extrait le domaine du MAIL FROM et verifie si l'IP de l'expediteur est autorisee dans l'enregistrement SPF. Resultat : pass ou fail.
- Verification DKIM — Le serveur recepteur cherche la signature DKIM dans les en-tetes du message, recupere la cle publique dans le DNS, et verifie que la signature est valide. Resultat : pass ou fail.
- Verification DMARC — Le serveur recepteur verifie que le domaine du header From est aligne avec le domaine verifie par SPF et/ou DKIM. Il suffit qu'un seul des deux soit aligne pour que DMARC passe.
- Application de la politique — Si DMARC echoue, le serveur applique la politique definie :
none(aucune action, mais rapport envoye),quarantine(envoi en spam) oureject(rejet pur et simple).
C'est cette combinaison qui rend l'usurpation extremement difficile : un attaquant devrait a la fois envoyer depuis un serveur autorise (SPF), signer le message avec votre cle privee (DKIM), et que tout soit aligne avec le header From (DMARC).
Par quoi commencer ?
Voici l'ordre d'implementation recommande pour proteger votre domaine progressivement :
- Configurer SPF — Listez vos serveurs d'envoi et creez votre enregistrement SPF. C'est le plus simple a mettre en place. Voir le guide SPF
- Configurer DKIM — Activez la signature DKIM chez votre fournisseur de messagerie et publiez la cle publique dans votre DNS. Voir le guide DKIM
- Deployer DMARC en mode surveillance — Commencez avec
p=nonepour collecter des rapports sans impacter la delivrabilite. Voir le guide DMARC - Passer en quarantine — Une fois les rapports analyses et les sources legitimes identifiees, passez a
p=quarantinepour envoyer les emails non authentifies en spam. - Passer en reject — Quand tout est stable, activez
p=rejectpour bloquer definitivement les emails non authentifies. C'est le niveau de protection maximal.
Cette approche progressive evite de bloquer accidentellement des emails legitimes tout en renforçant progressivement votre securite.
Verifiez votre domaine gratuitement
Testez votre configuration SPF, DKIM et DMARC en un clic. Notre outil analyse votre domaine et vous indique exactement ce qu'il faut corriger.
Tester mon domaine