DKIM & DMARC - Authentifier sa messagerie Google Workspace (DNS chez OVH)
- 1. SPF, DKIM, DMARC : à quoi ça sert
- 2. Prérequis
- 3. Vérifier l'existant (DNS)
- 4. Accéder à la zone DNS OVH
- 5. SPF (déjà fourni par Google)
- 6. DKIM - générer la clé (Google)
- 7. DKIM - publier l'enregistrement (OVH)
- 8. DKIM - activer (Google)
- 9. DMARC - créer l'enregistrement (OVH)
- 10. Le piège de l'adresse réservée
- 11. Rapports DMARC & analyseur
- 12. Durcir la politique (none -> reject)
- 13. Vérification finale & dépannage
- 14. Pièges classiques OVH
1. SPF, DKIM, DMARC : à quoi ça sert
Ces trois mécanismes DNS prouvent qu'un e-mail envoyé au nom de votre domaine est légitime. Sans eux, vos messages partent en spam et n'importe qui peut usurper votre domaine. Depuis 2024, Google et Yahoo exigent au minimum SPF + DKIM (et DMARC pour les gros volumes).
| Mécanisme | Rôle | Enregistrement |
|---|---|---|
| SPF | Liste les serveurs autorisés à envoyer pour le domaine | TXT (racine / @) |
| DKIM | Signe cryptographiquement chaque e-mail (clé publique en DNS) | TXT ou DKIM (google._domainkey) |
| DMARC | Dit quoi faire si SPF/DKIM échouent + envoie des rapports | TXT ou DMARC (_dmarc) |
2. Prérequis
- Un compte administrateur Google Workspace (le DKIM n'est pas disponible sur une simple boîte Gmail gratuite).
- L'accès à l'Espace client OVH avec les droits sur le domaine.
- Le domaine doit utiliser la Zone DNS OVH (serveurs DNS OVH actifs). Si les DNS sont délégués ailleurs, les enregistrements doivent être créés chez le gestionnaire réel.
- Les MX du domaine pointent déjà vers Google (
aspmx.l.google.com, etc.).
mondomaine.com par votre domaine réel.
3. Vérifier l'existant (DNS)
Avant toute modification, faites un état des lieux des enregistrements déjà publiés.
Sous Linux / macOS
# MX (doit pointer vers Google)
dig +short MX mondomaine.com
# SPF (TXT racine)
dig +short TXT mondomaine.com
# DKIM (sélecteur Google par défaut)
dig +short TXT google._domainkey.mondomaine.com
# DMARC
dig +short TXT _dmarc.mondomaine.com
Sous Windows (PowerShell)
Resolve-DnsName -Type MX mondomaine.com
Resolve-DnsName -Type TXT mondomaine.com
Resolve-DnsName -Type TXT google._domainkey.mondomaine.com -Server 8.8.8.8
Resolve-DnsName -Type TXT _dmarc.mondomaine.com -Server 8.8.8.8
dig +short NS mondomaine.com doit renvoyer des serveurs dns*.ovh.net / ns*.ovh.net. Sinon, les modifications dans la zone OVH n'auront aucun effet.
4. Accéder à la zone DNS OVH
- Se connecter à l'Espace client OVH.
- Menu Web Cloud -> Noms de domaine -> sélectionner
mondomaine.com. - Onglet Zone DNS.
- Bouton Ajouter une entrée : OVH propose alors un choix de type d'enregistrement (A, CNAME, MX, TXT, DKIM, DMARC, SPF, CAA...).
5. SPF (déjà fourni par Google)
Pour une messagerie Google Workspace, l'enregistrement SPF correct est :
v=spf1 include:_spf.google.com ~all
Chez OVH, deux possibilités :
- TXT (recommandé) : Ajouter une entrée -> TXT -> Sous-domaine vide (racine) -> Valeur =
"v=spf1 include:_spf.google.com ~all". - Type SPF : OVH propose un formulaire SPF dédié, mais le type DNS « SPF » est obsolète (RFC 7208) : préférez le TXT.
| Élément | Signification |
|---|---|
v=spf1 | Version SPF |
include:_spf.google.com | Autorise tous les serveurs d'envoi de Google |
~all | SoftFail : le reste est suspect (recommandé). -all = rejet strict. |
include: dans la même ligne plutôt que de créer un second TXT SPF.
6. DKIM - générer la clé (Google)
La clé se génère depuis la console d'administration Google :
- Aller sur admin.google.com.
- Apps -> Google Workspace -> Gmail.
- Ouvrir Authentifier l'e-mail (Authenticate email).
- Sélectionner le domaine
mondomaine.com, puis Générer un nouvel enregistrement :- Longueur de clé : 2048 bits (recommandé).
- Préfixe du sélecteur : laisser
google(valeur par défaut).
Google affiche alors les deux éléments à publier :
| Champ | Valeur affichée par Google |
|---|---|
| Nom / Host | google._domainkey |
| Valeur | v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEF... (longue chaîne) |
7. DKIM - publier l'enregistrement (OVH)
Méthode A - Type DKIM dédié (recommandé)
Dans la Zone DNS OVH -> Ajouter une entrée -> DKIM :
| Champ OVH | Valeur à saisir |
|---|---|
| Sous-domaine | google._domainkey |
| Version | DKIM1 |
| Type de clé (k) | rsa |
| Clé publique (p) | La partie après p= (la longue chaîne se terminant par ...QAB) |
OVH reconstruit l'enregistrement complet et gère automatiquement le découpage en segments de 255 caractères.
Méthode B - Type TXT générique
Ajouter une entrée -> TXT :
| Champ OVH | Valeur |
|---|---|
| Sous-domaine | google._domainkey |
| Valeur | La chaîne complète "v=DKIM1; k=rsa; p=..." |
"v=DKIM1; k=rsa; p=MIIBIjANBgkq...PREMIERE_PARTIE" "SUITE_DE_LA_CLE...QAB"
Le type DKIM dédié (méthode A) évite ce problème : préférez-le.
google._domainkey (et non google._domainkey.mondomaine.com) : OVH ajoute le suffixe tout seul. Le redoubler donnerait google._domainkey.mondomaine.com.mondomaine.com.
Après l'ajout, cliquer sur Appliquer la configuration pour que la zone soit régénérée.
8. DKIM - activer (Google)
- Attendre la propagation DNS (chez OVH, souvent quelques minutes à quelques heures, jusqu'à 24 h).
- Vérifier que l'enregistrement est visible :
dig +short TXT google._domainkey.mondomaine.com @8.8.8.8 - Revenir dans Google -> Authentifier l'e-mail -> Démarrer l'authentification.
- Le statut doit passer à « Authentification de l'e-mail active ».
9. DMARC - créer l'enregistrement (OVH)
DMARC s'appuie sur SPF et DKIM. On commence toujours en mode observation (p=none) pour ne rien bloquer pendant la surveillance.
Méthode A - Type DMARC dédié
Ajouter une entrée -> DMARC : OVH propose un formulaire avec des menus déroulants.
| Champ OVH | Valeur |
|---|---|
| Sous-domaine | _dmarc (souvent pré-rempli) |
| Policy (p) | none |
| Receivers aggregate (rua) | mailto:dmarc@mondomaine.com |
Méthode B - Type TXT générique
| Champ OVH | Valeur |
|---|---|
| Sous-domaine | _dmarc |
| Valeur | "v=DMARC1; p=none; rua=mailto:dmarc@mondomaine.com" |
Balises DMARC utiles
| Balise | Rôle |
|---|---|
v=DMARC1 | Version (obligatoire, en premier) |
p= | Politique : none / quarantine / reject |
rua= | Adresse de réception des rapports agrégés (mailto:) |
ruf= | Rapports d'échec détaillés (Google ne les envoie pas : inutile ici) |
pct= | Pourcentage de messages soumis à la politique (ex. pct=25) |
sp= | Politique pour les sous-domaines |
adkim= / aspf= | Alignement strict (s) ou relâché (r, défaut) |
10. Le piège de l'adresse réservée
On utilise souvent postmaster@ ou abuse@ comme destinataire de rapports. Mais Google réserve ces noms (imposés par les standards Internet) : impossible de créer un utilisateur ou un alias avec ce nom. Google affiche alors :
Solution recommandée
Utiliser une adresse normale, par exemple dmarc@mondomaine.com :
- Soit une vraie boîte
dmarc@mondomaine.com, - Soit un alias
dmarcsur une boîte existante (tout arrive au même endroit).
Puis pointer rua=mailto:dmarc@mondomaine.com dans l'enregistrement DMARC.
postmaster@ : le seul moyen de recevoir du courrier sur une adresse réservée est de créer un Google Groupe portant ce nom (les groupes contournent la restriction). Plus lourd : préférez dmarc@.
rua= pointe vers une adresse d'un autre domaine, ce domaine externe doit publier un enregistrement d'autorisation mondomaine.com._report._dmarc.<domaine-externe> de type TXT valant v=DMARC1.
11. Rapports DMARC & analyseur
Les rapports agrégés (RUA) arrivent à l'adresse définie dans rua=, une fois par jour par fournisseur (Google, Microsoft, Yahoo...). Premier rapport sous 24 à 72 h (il faut du trafic mail).
.zip / .gz), illisibles à l'œil nu. Elles listent : qui a envoyé au nom du domaine, depuis quelle IP, et le résultat SPF/DKIM/DMARC.
Rendre les rapports lisibles
| Solution | Détail | Coût |
|---|---|---|
| Postmark DMARC | Résumé hebdomadaire par e-mail, sans tableau de bord. Limité au top 10 sources / top 5 IP. | Gratuit |
| Valimail Monitor | Tableau de bord visuel des sources d'envoi | Gratuit |
| dmarcian / URIports | Tableaux de bord complets, historique, temps réel | Gratuit (petit volume) puis payant |
| Lecture manuelle | Ouvrir les XML soi-même ou via un parseur en ligne | Gratuit (fastidieux) |
Brancher un analyseur (ex. Postmark)
- S'inscrire sur le service : il fournit une adresse rua unique (ex.
re+xxxx@dmarc.postmarkapp.com). - Ajouter cette adresse au
rua=, en gardant aussi la sienne (séparées par une virgule) :v=DMARC1; p=none; rua=mailto:dmarc@mondomaine.com,mailto:re+xxxx@dmarc.postmarkapp.com - Modifier le DMARC dans la Zone DNS OVH, puis vérifier le DNS.
dmarc@ en copie permet de conserver les XML bruts (archive / secours) en plus des rapports lisibles de l'analyseur.
12. Durcir la politique (none -> reject)
Une fois que les rapports confirment que tous vos envois légitimes passent en SPF/DKIM PASS (compter 1 à 2 semaines), durcissez progressivement la politique :
| Étape | Politique | Effet sur un mail usurpé |
|---|---|---|
| 1 (observation) | p=none | Rien (juste rapporté) - point de départ |
| 2 (transition) | p=quarantine | Placé en spam chez le destinataire |
| 3 (protection max) | p=reject | Rejeté avant livraison |
Chez OVH, il suffit de modifier l'entrée DMARC existante (icône crayon) et de changer la valeur de p=. Exemple de palier prudent (25 % en quarantaine) :
v=DMARC1; p=quarantine; pct=25; rua=mailto:dmarc@mondomaine.com
none à reject sans avoir analysé les rapports : un expéditeur légitime oublié (CRM, facturation, formulaire du site) verrait ses mails rejetés. Montez par paliers et surveillez après chaque changement.
13. Vérification finale & dépannage
Tester un envoi réel
Envoyer un mail depuis une adresse @mondomaine.com vers une boîte Gmail personnelle, puis ouvrir le message -> ⋮ -> Afficher l'original. On doit voir :
SPF: PASS with domain mondomaine.com
DKIM: 'PASS' with domain mondomaine.com
DMARC: 'PASS'
Vérifier les enregistrements en ligne de commande
# Les trois en une fois
dig +short TXT mondomaine.com # SPF
dig +short TXT google._domainkey.mondomaine.com # DKIM
dig +short TXT _dmarc.mondomaine.com # DMARC
| Symptôme | Cause probable | Correction |
|---|---|---|
| DKIM PASS attendu mais absent | « Démarrer l'authentification » pas cliqué dans Google | Activer côté Google (section 8) |
| DKIM : record introuvable | « Appliquer la configuration » oublié chez OVH / propagation | Appliquer la zone + attendre + revérifier |
| DKIM : clé tronquée / invalide | Découpage 255 caractères mal fait en TXT | Recréer via le type DKIM dédié (section 7-A) |
| Modifs sans effet | Zone DNS non gérée par OVH (NS délégués ailleurs) | Vérifier dig NS (section 3) |
| Aucun rapport reçu | Adresse rua inexistante / domaine externe non autorisé | Créer l'alias, ou ajouter l'autorisation _report (section 10) |
14. Pièges classiques OVH
Piège 1 : « Appliquer la configuration » oublié
Après chaque ajout/modif dans la Zone DNS OVH, il faut parfois confirmer via Appliquer la configuration pour régénérer la zone. Sans ça, rien ne se propage.
Piège 2 : limite des 255 caractères en TXT
La clé DKIM 2048 bits dépasse 255 caractères. En TXT, scinder en plusieurs chaînes entre guillemets, ou mieux : utiliser le type DKIM dédié qui gère le découpage.
Piège 3 : DNS correct mais Google ne signe pas
Publier l'enregistrement ne suffit pas : il faut activer l'authentification dans la console Google.
Piège 4 : double SPF
Deux TXT SPF distincts = SPF invalide (permerror). Fusionner tous les include: dans une seule ligne.
Piège 5 : sous-domaine saisi avec le domaine
Saisir google._domainkey et _dmarc seuls. OVH ajoute le domaine ; le redoubler casse l'enregistrement.
Piège 6 : adresse réservée pour les rapports
postmaster@ et abuse@ sont réservés par Google. Utiliser dmarc@ (alias ou boîte).
Piège 7 : zone DNS non gérée par OVH
Si le domaine est enregistré chez OVH mais que les serveurs DNS pointent ailleurs (Cloudflare, hébergeur...), les entrées de la Zone DNS OVH sont ignorées. Vérifier les NS avant tout.
- MX -> Google (
aspmx.l.google.com...) - SPF ->
v=spf1 include:_spf.google.com ~all(TXT) - DKIM ->
google._domainkeypublié (2048 bits, type DKIM) et activé côté Google - DMARC ->
_dmarcavecrua=vers une adresse valide, politique durcie progressivement