MTA-STS : Imposer le chiffrement TLS sur vos emails
Tout comprendre sur MTA-STS pour protéger vos emails en transit contre les attaques par interception.
Qu'est-ce que MTA-STS ?
MTA-STS (Mail Transfer Agent Strict Transport Security) est un protocole défini dans la RFC 8461. Il permet à un domaine de déclarer que ses serveurs mail supportent le chiffrement TLS et d'exiger que les serveurs expéditeurs utilisent une connexion chiffrée avec un certificat valide.
Sans MTA-STS, même si vos serveurs supportent TLS, un attaquant effectuant une attaque man-in-the-middle (MITM) peut forcer une dégradation de la connexion vers du texte clair (attaque par downgrade). L'attaquant peut alors intercepter et lire vos emails en transit.
MTA-STS résout ce problème en publiant une politique qui ordonne aux serveurs expéditeurs : "vous devez utiliser TLS avec un certificat valide pour m'envoyer des emails, sinon ne les envoyez pas du tout."
MTA-STS est complémentaire à SPF, DKIM et DMARC : ces derniers protègent contre l'usurpation d'identité, tandis que MTA-STS protège la confidentialité des emails en transit.
Comment fonctionne MTA-STS ?
MTA-STS repose sur deux éléments : un enregistrement DNS et un fichier de politique servi en HTTPS.
- Enregistrement DNS TXT — Le domaine publie un enregistrement TXT à
_mta-sts.votredomainepour signaler qu'il supporte MTA-STS. - Fichier de politique HTTPS — Le domaine héberge un fichier à
https://mta-sts.votredomaine/.well-known/mta-sts.txtqui définit la politique (mode, serveurs MX autorisés, durée de validité). - Vérification par le serveur expéditeur — Avant d'envoyer un email, le serveur expéditeur vérifie l'enregistrement DNS et télécharge la politique. Si le mode est "enforce", il refuse d'envoyer l'email sans TLS valide.
L'enregistrement DNS ressemble à ceci :
Le fichier de politique ressemble à ceci :
Chaque champ a une signification précise :
version— Toujours STSv1 (obligatoire).mode—enforce(bloque sans TLS),testing(signale mais délivre) ounone(désactivé).mx— Les serveurs MX autorisés (wildcards acceptés).max_age— Durée de mise en cache de la politique en secondes (recommandé : 86400 soit 24h).
Comment configurer MTA-STS étape par étape
Étape 1 : Créer le sous-domaine mta-sts
Créez un sous-domaine mta-sts.votredomaine qui pointe vers un serveur web capable de servir du contenu en HTTPS avec un certificat valide. Vous pouvez utiliser GitHub Pages, Cloudflare Pages, ou n'importe quel hébergement statique.
Étape 2 : Créer le fichier de politique
Créez le fichier /.well-known/mta-sts.txt sur votre sous-domaine avec le contenu suivant (adaptez les lignes mx à vos serveurs) :
Commencez en mode testing pour surveiller les problèmes avant de passer en enforce.
Étape 3 : Ajouter l'enregistrement DNS
Ajoutez un enregistrement TXT dans votre zone DNS :
- Type : TXT
- Nom / Host : _mta-sts
- Valeur : v=STSv1; id=20260406T000000;
- TTL : 3600
L'identifiant (id) doit être change à chaque modification de la politique pour invalider le cache des serveurs expéditeurs.
Étape 4 : Vérifier et passer en enforce
Testez votre configuration avec notre outil de vérification gratuit. Une fois que tout fonctionne correctement en mode testing, changez le mode en enforce et mettez à jour l'identifiant dans l'enregistrement DNS.
Bonus : TLSRPT pour recevoir des rapports
TLSRPT (TLS Reporting, RFC 8460) est le complément ideal de MTA-STS. Il permet de recevoir des rapports des serveurs expéditeurs lorsqu'ils rencontrent des problèmes TLS avec votre domaine.
Ajoutez un enregistrement TXT à _smtp._tls.votredomaine :
Vous recevrez alors des rapports JSON quotidiens indiquant les échecs de négociation TLS, les certificats invalides et les tentatives de downgrade — exactement comme les rapports DMARC mais pour le chiffrement en transit.
Questions fréquentes sur MTA-STS
Quelle est la différence entre MTA-STS et STARTTLS ?
STARTTLS est le mécanisme de négociation TLS entre serveurs mail. Le problème est qu'il est "opportuniste" : si un attaquant supprime l'annonce STARTTLS du serveur (attaque par stripping), la connexion se fait en clair sans que personne ne soit prévenu. MTA-STS résout ce problème en déclarant de manière indépendante (via HTTPS) que le TLS est obligatoire.
MTA-STS protège-t-il contre le spoofing ?
Non. MTA-STS protège la confidentialité des emails en transit (chiffrement), pas l'authenticité de l'expéditeur. Pour se protéger contre le spoofing, vous devez configurer SPF, DKIM et DMARC.
Quels fournisseurs supportent MTA-STS ?
Google (Gmail / Google Workspace), Microsoft (Outlook / Microsoft 365) et Yahoo supportent MTA-STS côté expéditeur. Cela signifie qu'ils respecteront votre politique MTA-STS lors de l'envoi d'emails vers votre domaine. Côté réception, vous devez le configurer vous-même sur votre domaine.
Vérifiez votre domaine gratuitement
Testez votre configuration SPF, DKIM, DMARC et MTA-STS en un clic. Notre outil analyse votre domaine et vous indique exactement ce qu'il faut corriger.
Tester mon domaine