Vérificateur MTA-STS gratuit

Lisez l’enregistrement MTA-STS que publie un domaine, collez ensuite le fichier de politique vers lequel il pointe et voyez ce qu’il fait vraiment : appliqué ou seulement en test, combien de temps les expéditeurs le gardent en cache, et s’il couvre tous les serveurs de messagerie que le domaine utilise réellement. Cela tourne gratuitement dans votre navigateur, sans inscription et sans rien conserver.

Repérez les problèmes avant qu’ils ne vous coûtent cher.

Créez un compte Unspam gratuit pour enregistrer vos résultats et relancer ces vérifications à tout moment, afin de repérer une configuration défaillante avant qu’elle ne vous coûte cher. Sans carte bancaire.

Qu’est-ce que MTA-STS ?

MTA-STS est la façon dont un domaine annonce au reste d’internet que le courrier qui lui arrive doit être chiffré et remis à un serveur dont le certificat correspond. Sans lui, le chiffrement SMTP est opportuniste : l’expéditeur propose STARTTLS et, si quelque chose se passe mal, un certificat expiré, une capacité retirée en chemin, un attaquant placé sur le trajet, il retombe en clair plutôt que de ne pas remettre. C’est ce repli qui constitue tout le problème, car il signifie que le chiffrement peut être coupé par quiconque est capable d’interférer avec la connexion. MTA-STS le referme en nommant les serveurs autorisés à recevoir le courrier du domaine et en demandant aux expéditeurs de refuser tout le reste. Il est délibérément en deux pièces : un court enregistrement DNS sous _mta-sts qui indique qu’une politique existe et porte un id de version, et la politique elle-même, un fichier texte servi en HTTPS depuis mta-sts.example.com derrière un certificat qui doit être valide. La moitié DNS est la partie qu’un attaquant peut altérer, et c’est celle qui ne contient rien qui vaille la peine d’être altéré. La moitié politique est celle qui décide de quelque chose, et elle est récupérée par un canal qui prouve qui l’a servie.

Comment lire votre résultat

  • v=STSv1; id=

    La moitié DNS, et les deux balises sont obligatoires. La version doit être écrite exactement ainsi, avec cette casse, et un expéditeur qui ne la trouve pas traite le domaine comme s’il n’avait aucune politique plutôt que de réparer l’enregistrement. L’id est ce qui permet à un expéditeur de voir que la politique a changé : il le compare à celui qu’il a en cache, donc modifier le fichier sans changer l’id laisse tout le monde sur l’ancienne politique jusqu’à son expiration.

  • mode:

    La seule ligne qui décide si MTA-STS fait quoi que ce soit. Enforce veut dire qu’un expéditeur refuse de remettre par une connexion qu’il ne peut pas authentifier. Testing veut dire qu’il signale l’échec et remet quand même, ce qui donne exactement le même résultat qu’aucune politique. None veut dire que le domaine se retire, ce qui est une vraie configuration et la façon documentée de mettre fin à un déploiement.

  • max_age:

    Combien de secondes un expéditeur peut garder la politique en cache, et la spécification attend une valeur en semaines, pas en heures. La longue durée est la propriété de sécurité : une fois qu’un expéditeur a la politique, un attaquant qui bloque toutes les récupérations suivantes ne peut toujours pas faire rétrograder le domaine. Une durée courte lui offre une occasion neuve chaque jour.

  • mx:

    Une ligne par serveur de messagerie couvert par la politique, et la liste est exhaustive : en mode enforce, un expéditeur refuse de remettre à tout hôte que la liste ne couvre pas. Un joker peut remplacer le label le plus à gauche en entier et rien d’autre, donc *.example.com couvre mx1.example.com et ne couvre ni example.com lui-même ni a.b.example.com.

Problèmes courants et solutions

Rester en mode test

Testing a été conçu comme une première étape et est devenu un lieu de séjour. Une politique en mode test remet exactement le courrier qu’une politique absente remettrait : rien n’est donc protégé, et le domaine paraît configuré à qui ne regarde que le DNS. Il faut savoir qu’une large part des domaines qui publient MTA-STS aujourd’hui sont en test, et c’est pourquoi ce vérificateur n’affiche jamais un résultat conforme avant d’avoir lu la politique.

Une moitié publiée sans l’autre

Un enregistrement DNS sans fichier de politique derrière ne protège rien, car les expéditeurs récupèrent le fichier et ne trouvent rien à appliquer. Un fichier de politique sans enregistrement DNS n’est jamais récupéré, car rien ne dit à un expéditeur d’aller voir. Les deux moitiés doivent être en place, et le fichier doit être servi en HTTPS avec un certificat valide pour mta-sts.example.com.

L’id ne change jamais

Les expéditeurs décident de récupérer à nouveau le fichier en comparant l’id du DNS à celui qu’ils ont en cache. Modifier la politique en laissant l’id tel quel fait que tout expéditeur qui en a déjà une copie continue d’appliquer l’ancienne jusqu’à l’expiration du max_age, ce qui, avec une durée correctement longue, peut représenter des semaines.

Un hôte MX que la politique ne liste pas

C’est la panne qui arrête le courrier, et pas seulement celle qui ne le protège pas. Ajouter un serveur de messagerie, changer de prestataire ou garder un MX de secours qui n’est jamais entré dans la politique signifie que les expéditeurs en mode enforce refusent de lui remettre le courrier. Confronter les lignes mx aux enregistrements MX que le domaine publie en ce moment est la vérification la plus utile qui soit, et c’est ce que fait cet outil avec la politique que vous collez.

Un joker qui n’est pas le label le plus à gauche

mx.*.example.com et *example.com sont tous deux invalides, et *.example.com ne couvre pas example.com lui-même. La règle est étroite à dessein, et un motif écrit comme le ferait un shell laisse justement à découvert les hôtes qu’il devait couvrir.

Aucun TLS-RPT à côté

MTA-STS dit aux expéditeurs de refuser une connexion qu’ils ne peuvent pas authentifier. Il ne vous dit pas quand cela s’est produit. Sans enregistrement de rapports, un certificat qui expire un vendredi produit du silence au lieu d’une alerte, et le premier signal est quelqu’un qui signale que son courrier a rebondi.

Vos questions, nos réponses.

Pourquoi dois-je coller moi-même le fichier de politique ?
Parce qu’une page web ne peut pas le récupérer. Les hôtes de politique servent le fichier à des serveurs de messagerie, pas à des navigateurs : ils n’envoient donc pas l’en-tête d’origine croisée dont une page aurait besoin, et toute tentative de le lire d’ici échouerait quel que soit le domaine. Le fichier reste du texte brut à une adresse fixe que vous pouvez ouvrir dans un onglet, alors l’outil vérifie la moitié DNS automatiquement et vous demande d’apporter l’autre moitié. Le coller est ce qui rend le reste possible : le mode, la durée et le contrôle de couverture vivent tous dans ce fichier.
MTA-STS protège-t-il le courrier que j’envoie ?
Non. La politique d’un domaine régit le courrier qui lui arrive : en publier une protège donc votre courrier entrant contre une attaque par rétrogradation. Que le courrier que vous envoyez soit protégé dépend de la publication d’une politique par le domaine du destinataire et du respect de cette politique par votre plateforme d’envoi. Les deux valent la peine, et ce sont deux chantiers distincts.
Ai-je besoin d’un certificat pour mta-sts.example.com ?
Oui, et il doit être valide pour ce nom d’hôte exact. Un expéditeur qui récupère la politique ne suivra pas de redirection, n’acceptera pas une réponse autre que 200 et ne passera pas outre un certificat qu’il ne peut pas vérifier, car le certificat est la seule chose qui rende la politique digne de confiance. Un certificat gratuit d’une autorité publique suffit.
Le mode enforce est-il risqué ?
C’est le mode qui peut arrêter du courrier : il vaut donc mieux y entrer délibérément. Le risque n’est pas que le chiffrement échoue, c’est que la liste mx soit incomplète ou qu’un certificat de serveur de messagerie expire sans que personne le voie. Publiez d’abord un enregistrement de rapports, restez en test une ou deux semaines, lisez ce qui revient, et passez en enforce quand les rapports ne signalent plus rien.
Quelque chose est-il conservé ?
Non. Les requêtes DNS partent de votre navigateur et le texte de politique que vous collez ne quitte jamais la page. Pour voir si le chiffrement fonctionne en pratique, vérifiez l’enregistrement de rapports avec le vérificateur TLS-RPT gratuit.

Un enregistrement valide n’est que la première étape. Voyez où vos e-mails arrivent vraiment.