0Pricing
Security+ Academy · Leçon

Authentification des e-mails : SPF, DKIM et DMARC

Mettez en œuvre et validez les politiques Sender Policy Framework, DomainKeys Identified Mail et DMARC qui empêchent l’usurpation de domaine et l’hameçonnage.

Authentification des e-mails : SPF, DKIM et DMARC est une leçon Security+ Academy gratuite sur CoddyKit. Ceci est la leçon 1 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Security+ Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Security+ Academy comprend 4 leçons au total.

Le problème de l’usurpation d’adresse e-mail

Le protocole SMTP de base (conçu dans les années 1970) ne possède aucun mécanisme intégré d’authentification de l’expéditeur. N’importe quel serveur de messagerie peut prétendre envoyer un e-mail depuis n’importe quel domaine : c’est une technique appelée usurpation d’adresse e-mail. Les attaquants l’exploitent pour envoyer des e-mails d’hameçonnage qui semblent provenir d’organisations légitimes (votre banque, votre CEO ou un fournisseur connu). Trois normes d’authentification des e-mails fondées sur le DNS ont été élaborées pour résoudre ce problème : SPF, DKIM et DMARC. Chacune traite un aspect différent de l’usurpation, et elles sont plus efficaces lorsqu’elles sont déployées ensemble.

Sender Policy Framework (SPF)

SPF est un enregistrement DNS TXT qui indique quels serveurs de messagerie sont autorisés à envoyer des e-mails au nom d’un domaine. Lorsqu’un serveur de messagerie destinataire reçoit un message prétendant provenir de example.com, il recherche l’enregistrement SPF de example.com et vérifie que l’adresse IP du serveur expéditeur y figure. Si l’adresse IP n’est pas autorisée, le message peut être marqué comme courrier indésirable ou rejeté. SPF vérifie l’adresse From de l’enveloppe (la commande SMTP MAIL FROM), et non l’en-tête From affiché aux utilisateurs.

# SPF DNS TXT record for example.com
# Authorize Google Workspace + SendGrid + company IP
example.com.  TXT  'v=spf1 include:_spf.google.com include:sendgrid.net ip4:203.0.113.10 -all'

# Mechanism meanings:
# include:  authorize another domain's SPF record
# ip4:      authorize specific IPv4 address/range
# ip6:      authorize specific IPv6 address
# -all      FAIL (reject) mail from non-listed sources
# ~all      SOFTFAIL (accept but mark as spam)
# ?all      NEUTRAL (no policy stated)

Limitations de SPF

SPF présente deux limitations importantes. Premièrement, le transfert casse SPF : lorsqu’un e-mail est transféré, l’adresse IP du serveur de transfert ne figure pas dans l’enregistrement SPF du domaine d’origine, ce qui fait échouer SPF pour un e-mail transféré légitime. Deuxièmement, SPF authentifie uniquement le From de l’enveloppe (invisible pour les utilisateurs), et non l’en-tête From visible dans les clients de messagerie. Les attaquants peuvent toujours usurper l’en-tête From visible tout en utilisant un From d’enveloppe validé par SPF : c’est pourquoi SPF seul ne suffit pas. DKIM et DMARC comblent ces lacunes.

DomainKeys Identified Mail (DKIM)

DKIM ajoute une signature cryptographique aux e-mails sortants. Le serveur de messagerie expéditeur utilise une clé privée pour signer certains en-têtes de l’e-mail et le corps du message, en ajoutant un en-tête DKIM-Signature. La clé publique est publiée sous la forme d’un enregistrement DNS TXT dans un sous-domaine sélecteur. Les serveurs destinataires récupèrent la clé publique et vérifient la signature, confirmant que l’e-mail n’a pas été altéré pendant son transfert et qu’il provient d’un serveur ayant accès à la clé privée. Contrairement à SPF, les signatures DKIM résistent au transfert, car elles sont conservées dans les en-têtes de l’e-mail.

# DKIM DNS TXT record (selector: 'google')
google._domainkey.example.com.  TXT \
  'v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GN...'

# DKIM-Signature header in email:
DKIM-Signature: v=1; a=rsa-sha256; d=example.com;
  s=google; h=from:to:subject:date;
  bh=<body_hash>; b=<signature>

# Verification:
# 1. Extract 'b=' (signature)
# 2. Fetch public key at google._domainkey.example.com
# 3. Verify signature over 'h=' headers + body hash

Sélecteurs DKIM et rotation des clés

DKIM utilise des sélecteurs pour permettre l’utilisation simultanée de plusieurs clés publiques pour un domaine — ce qui est utile pour exploiter plusieurs services de messagerie (Google Workspace et une plateforme marketing) ou effectuer une rotation des clés sans interruption. Le nom du sélecteur est inclus dans l’en-tête DKIM-Signature afin que les serveurs destinataires sachent quel enregistrement DNS interroger. Les organisations devraient effectuer une rotation des clés DKIM chaque année ou lorsqu’une clé est soupçonnée d’avoir été compromise. Longueur de clé : il est recommandé d’utiliser des clés RSA d’au moins 2048 bits ; les clés de 1024 bits sont obsolètes et peuvent être cassées avec les capacités de calcul modernes.

DMARC : authentification des messages fondée sur le domaine

DMARC (Domain-based Message Authentication, Reporting, and Conformance) s’appuie sur SPF et DKIM en ajoutant : un contrôle d’alignement (le domaine de l’en-tête From visible doit correspondre au domaine authentifié par SPF ou DKIM) et une politique qui indique aux serveurs destinataires quoi faire lorsque les messages échouent aux contrôles. Les politiques DMARC sont none (surveillance uniquement), quarantine (placer dans le dossier des courriers indésirables) ou reject (ne pas distribuer). DMARC permet également l’envoi de rapports agrégés (RUA) et de rapports d’analyse (RUF) au propriétaire du domaine, afin de savoir qui envoie des messages en son nom.

# DMARC DNS TXT record
_dmarc.example.com.  TXT \
  'v=DMARC1; p=reject; sp=reject; \
   pct=100; \
   rua=mailto:dmarc-reports@example.com; \
   ruf=mailto:forensic@example.com; \
   adkim=s; aspf=s'

# p=reject   : reject failing messages (strongest)
# pct=100    : apply to 100% of messages
# adkim=s    : strict DKIM alignment
# aspf=s     : strict SPF alignment
# rua=       : aggregate report destination

Alignement de DMARC

L’alignement est ce qui rend DMARC puissant contre l’usurpation des en-têtes. Pour l’alignement SPF, le domaine de l’adresse From de l’enveloppe SMTP doit correspondre au domaine de l’en-tête From visible. Pour l’alignement DKIM, le domaine de signature (d= dans DKIM-Signature) doit correspondre au domaine de l’en-tête From. En mode strict, les domaines doivent correspondre exactement. En mode assoupli, les sous-domaines sont acceptés. Un courrier électronique réussit le contrôle DMARC s’il réussit le contrôle SPF OU DKIM avec un alignement correct : il n’est pas nécessaire qu’il réussisse les deux. Cette combinaison élimine la faille que SPF seul laisse ouverte concernant l’usurpation de l’en-tête visible.

# DMARC alignment example
Envelope From: attacker@legit.com  <- SPF may PASS for legit.com
From header  : spoofed@example.com <- VISIBLE to user

# Without DMARC: SPF passes (envelope from legit.com)
# User sees spoofed@example.com and trusts it

# With DMARC on example.com:
# SPF alignment check: legit.com != example.com -> FAIL
# DKIM: attacker has no private key for example.com -> FAIL
# DMARC result: FAIL -> message rejected per policy

Déploiement de DMARC par étapes

Les Organizations devraient déployer DMARC progressivement afin d’éviter de perturber les courriers électroniques légitimes. Stage 1 : déployer SPF et DKIM pour tous les flux de courrier. Stage 2 : publier un enregistrement DMARC p=none avec des rapports RUA. Analyser les rapports (outils : DMARC Analyzer, dmarcian) afin de découvrir toutes les sources d’envoi légitimes sur une période de 2 à 4 semaines. Stage 3 : passer à p=quarantine; pct=10, puis augmenter progressivement pct jusqu’à 100 %. Stage 4 : passer à p=reject une fois que tous les flux légitimes réussissent les contrôles. Passer trop rapidement à reject avant d’avoir découvert tous les flux de courrier entraîne le rejet de courriers électroniques légitimes.

# DMARC rollout stages
Stage 1: p=none; pct=100  (monitoring only)
Stage 2: p=quarantine; pct=10  (10% to spam)
Stage 3: p=quarantine; pct=100 (all to spam)
Stage 4: p=reject; pct=100     (block at MTA)

# Monitor RUA reports between each stage
# Look for legitimate sources failing alignment
# Common gotchas:
# - Marketing platforms sending as your domain
# - IT ticketing systems
# - Automated notification services
# - Third-party CRM tools

BIMI : indicateurs de marque pour l’identification des messages

BIMI est une norme émergente qui s’appuie sur DMARC. Lorsqu’un domaine dispose d’une politique DMARC quarantine ou reject, les clients de courrier électronique (Gmail, Apple Mail) peuvent afficher le logo vérifié de la marque à côté du nom de l’expéditeur dans la boîte de réception. BIMI nécessite un certificat de marque vérifiée (VMC) délivré par un émetteur agréé confirmant la propriété de la marque déposée. Bien que BIMI ne fasse pas encore partie de l’examen Security+, cette norme représente l’évolution de l’authentification du courrier électronique : elle permet de distinguer visuellement, en un coup d’œil, les expéditeurs vérifiés des expéditeurs usurpés.

SPF, DKIM et DMARC agissant ensemble

Ces trois normes forment un système complet d’authentification du courrier électronique. SPF vérifie que le Server d’envoi est autorisé par le propriétaire du domaine. DKIM vérifie l’intégrité du message et que l’Organization expéditrice détient la clé privée. DMARC associe ces deux mécanismes à l’en-tête From visible, applique une policy en cas d’échec et fournit des rapports. Aucune norme unique ne suffit : SPF seul ne peut pas empêcher l’usurpation de l’en-tête visible ; DKIM seul n’impose pas le rejet des échecs ; DMARC seul, sans SPF ni DKIM, n’a aucun élément à vérifier. Les trois normes doivent être déployées ensemble pour assurer une protection complète contre l’usurpation de domaine.

# Email authentication check order
1. Receiving MTA receives message
2. SPF check: is sending IP authorized? (envelope From)
3. DKIM check: is signature valid? (using public key DNS)
4. DMARC check:
   a. Did SPF pass with alignment? OR
   b. Did DKIM pass with alignment?
   -> If YES: PASS (deliver normally)
   -> If NO: apply DMARC policy (none/quarantine/reject)
5. Reporting: send aggregate data to rua= address

Bannières de courrier électronique externe

Une mesure pratique de défense en profondeur contre l’hameçonnage et le BEC consiste à ajouter une bannière d’avertissement pour les courriers électroniques externes à chaque message provenant de l’extérieur de l’Organization. Cette bannière, généralement insérée par le SEG, avertit les employés qu’un courrier électronique provient d’un expéditeur externe, même si le nom affiché semble être celui d’un collègue ou d’un cadre dirigeant. Les bannières sont particulièrement efficaces pour signaler les tentatives de BEC dans lesquelles l’attaquant utilise un domaine ressemblant au domaine légitime ou usurpe un nom affiché. La bannière doit être visuellement distinctive (en-tête ou pied de page coloré) et contenir des instructions pour signaler les messages suspects.

# Example external email banner (SEG inserts this)
# --- EXTERNAL EMAIL ---
# This message was sent from outside the organization.
# Do not click links or open attachments unless
# you expected this email and trust the sender.
# Report suspicious email: phishing@company.com
# ----------------------

# Proofpoint SEG: add disclaimer via content filter
# Match: Header 'X-MS-Exchange-Organization-SCL' absent
# Action: Prepend HTML banner to message body

Vérification rapide

Vérifiez votre compréhension des notions de CompTIA Security+ (SY0-701) présentées dans cette leçon.

Récapitulatif de la leçon

Dans cette leçon, vous avez appris que SPF utilise des enregistrements DNS TXT pour autoriser des adresses IP d’envoi, mais vérifie uniquement le From de l’enveloppe et non l’en-tête visible ; que DKIM ajoute des signatures cryptographiques qui vérifient l’intégrité du message et résistent au transfert ; et que DMARC associe SPF et DKIM à l’en-tête From visible au moyen de contrôles d’alignement et d’une policy applicable (none/quarantine/reject), tout en fournissant des rapports. Nous allons maintenant étudier les passerelles de courrier électronique sécurisées et les contrôles anti-spam.

Questions Fréquemment Posées

La leçon « Authentification des e-mails : SPF, DKIM et DMARC » est-elle gratuite ?

Oui — le texte complet de « Authentification des e-mails : SPF, DKIM et DMARC » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Security+ Academy, passe à CoddyKit PRO. Le cours Security+ Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Authentification des e-mails : SPF, DKIM et DMARC » ?

Mettez en œuvre et validez les politiques Sender Policy Framework, DomainKeys Identified Mail et DMARC qui empêchent l’usurpation de domaine et l’hameçonnage. Tu pratiques Security+ Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer Security+ Academy ?

Aucune expérience préalable n'est requise. Security+ Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 1 sur 4.

Combien de temps prend la leçon « Authentification des e-mails : SPF, DKIM et DMARC » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon Security+ Academy ?

Oui. Chaque leçon Security+ Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Authentification des e-mails : SPF, DKIM et DMARC
  2. Passerelles de messagerie sécurisées et contrôles antispam
  3. Filtrage du contenu web et puits DNS
  4. Inspection SSL/TLS et attaques de type intermédiaire dans le navigateur
← Retour à Security+ Academy