Mail.ru commence Ă  appliquer en mode test des politiques MTA-STS

Mail.ru commence Ă  appliquer en mode test des politiques MTA-STS

En rĂ©sumĂ©, MTA-STS est un moyen de protĂ©ger davantage les courriers Ă©lectroniques contre l'interception (c'est-Ă -dire les attaques de type homme du milieu, aka MitM) lors de leur transmission entre serveurs de messagerie. Il aborde partiellement des problĂšmes architecturaux hĂ©ritĂ©s des protocoles de messagerie et est dĂ©crit dans la norme relativement rĂ©cente RFC 8461. Mail.ru est le premier service de messagerie majeur en Runet Ă  mettre en Ɠuvre cette norme. Une explication plus dĂ©taillĂ©e est fournie ci-dessous.

Quel problÚme MTA-STS résout-il ?

Historiquement, les protocoles de messagerie (SMTP, POP3, IMAP) transmettaient des informations en clair, ce qui permettait de les intercepter, par exemple lors de l'accĂšs au canal de communication.

Comment se déroule le mécanisme de livraison d'un courrier d'un utilisateur à un autre :

Mail.ru commence Ă  appliquer en mode test des politiques MTA-STS

Historiquement, les attaques de type MitM Ă©taient possibles Ă  tous les endroits oĂč circulent les courriers.

La norme RFC 8314 impose l'utilisation obligatoire de TLS entre le programme de messagerie de l'utilisateur (MUA) et le serveur de messagerie. Si votre serveur et les applications de messagerie utilisées respectent la RFC 8314, vous avez (dans une large mesure) éliminé la possibilité d'attaques de type homme du milieu entre l'utilisateur et les serveurs de messagerie.

Le respect des pratiques communes (normes RFC 8314) élimine l'attaque à proximité de l'utilisateur :

Mail.ru commence Ă  appliquer en mode test des politiques MTA-STS

Les serveurs de messagerie Mail.ru respectaient la RFC 8314 bien avant l'adoption de la norme, en fait, elle ne fixe que des pratiques dĂ©jĂ  Ă©tablies, et nous n'avons rien dĂ» configurer de plus. Cependant, si votre serveur de messagerie permet toujours aux utilisateurs d'accĂ©der via des protocoles non sĂ©curisĂ©s, assurez-vous de mettre en Ɠuvre les recommandations de cette norme, car il est probable qu'une partie de vos utilisateurs travaille avec leur messagerie sans cryptage, mĂȘme si vous le supportez.

Le client de messagerie travaille toujours avec le mĂȘme serveur de messagerie de la mĂȘme organisation. Il est possible d'obliger tous les utilisateurs Ă  se connecter de maniĂšre sĂ©curisĂ©e, rendant ainsi techniquement impossible la connexion de maniĂšre non sĂ©curisĂ©e (c'est prĂ©cisĂ©ment ce que requiert la RFC 8314). Cela peut parfois ĂȘtre difficile, mais rĂ©alisable. La gestion du trafic entre les serveurs de messagerie est encore plus complexe. Les serveurs appartiennent Ă  diffĂ©rentes organisations et sont souvent utilisĂ©s en mode « installĂ© et oubliĂ© », ce qui rend impossible un basculement immĂ©diat vers un protocole sĂ©curisĂ© sans rompre la continuitĂ©. Le protocole SMTP prĂ©voit depuis longtemps une extension STARTTLS, permettant aux serveurs prenant en charge le chiffrement de basculer vers TLS. Cependant, un attaquant qui peut influencer le trafic peut « couper » les informations relatives Ă  la prise en charge de cette commande et forcer les serveurs Ă  communiquer par le protocole texte normal (ce qu'on appelle une attaque de rĂ©trogradation). Pour cette mĂȘme raison, la conformitĂ© du certificat n'est gĂ©nĂ©ralement pas vĂ©rifiĂ©e pour STARTTLS (un certificat non fiable peut protĂ©ger contre les attaques passives, ce qui n'est pas mieux que d'envoyer un message en texte clair). Ainsi, STARTTLS ne protĂšge que contre l'Ă©coute passive.

MTA-STS atténue partiellement le problÚme d'interception des e-mails entre les serveurs de messagerie lorsque l'attaquant a la possibilité d'influencer activement le trafic. Si le domaine du destinataire publie une politique MTA-STS et que le serveur expéditeur prend en charge MTA-STS, il n'enverra l'e-mail que par une connexion TLS, uniquement vers les serveurs spécifiés par la politique et uniquement aprÚs vérification du certificat serveur.

Pourquoi partiellement ? MTA-STS fonctionne uniquement si les deux parties ont veillĂ© Ă  mettre en Ɠuvre cette norme, et MTA-STS ne protĂšge pas contre les scĂ©narios dans lesquels un attaquant a la possibilitĂ© d'obtenir un certificat valide pour le domaine auprĂšs d'une autoritĂ© de certification publique.

Comment fonctionne MTA-STS

Destinataire

  1. Configure le support de STARTTLS avec un certificat valide sur le serveur de messagerie. 
  2. Publie une politique MTA-STS via HTTPS, un domaine spécial mta-sts et un chemin bien connu sont utilisés pour la publication, par exemple https://mta-sts.mail.ru/.well-known/mta-sts.txt. La politique contient une liste des serveurs de messagerie (mx) autorisés à recevoir des e-mails pour ce domaine.
  3. Publie un enregistrement TXT spĂ©cial _mta-sts dans le DNS avec une version de politique. Lorsque la politique change, cet enregistrement doit ĂȘtre mis Ă  jour (cela signale Ă  l'expĂ©diteur qu'il doit redemander la politique). Par exemple, _mta-sts.mail.ru. TXT "v=STSv1; id=20200303T120000;"

Expéditeur

L'expĂ©diteur demande l'enregistrement DNS _mta-sts, et s'il est prĂ©sent, effectue une requĂȘte de politique via HTTPS (en vĂ©rifiant le certificat). La politique obtenue est mise en cache (au cas oĂč un attaquant bloquerait l'accĂšs ou substituerait l'enregistrement DNS).

Lors de l'envoi de courriels, il est vérifié que :

  • le serveur sur lequel le mail est livrĂ© est dans la politique ;
  • le serveur accepte les mails en utilisant TLS (STARTTLS) et a un certificat valide.

Avantages de MTA-STS

MTA-STS utilise des technologies dĂ©jĂ  mises en Ɠuvre dans la plupart des organisations (SMTP+STARTTLS, HTTPS, DNS). Aucune prise en charge logicielle spĂ©ciale du standard n'est requise du cĂŽtĂ© du destinataire.

Inconvénients de MTA-STS

Il est nĂ©cessaire de surveiller la validitĂ© du certificat des serveurs web et mail, la correspondance des noms et les mises Ă  jour en temps voulu. Des problĂšmes de certificat empĂȘcheront la livraison du mail.

Du cÎté de l'expéditeur, un MTA prenant en charge les politiques MTA-STS est requis, pour l'instant MTA-STS n'est pas pris en charge par défaut dans le MTA.

MTA-STS utilise une liste de CA racines de confiance.

MTA-STS ne protĂšge pas contre les attaques oĂč l'attaquant utilise un certificat valide. Dans la plupart des cas, un MitM prĂšs du serveur implique la possibilitĂ© de dĂ©livrer un certificat. Une telle attaque peut ĂȘtre dĂ©tectĂ©e grĂące Ă  la transparence des certificats. Ainsi, en gĂ©nĂ©ral, MTA-STS attĂ©nue, mais n'Ă©limine pas complĂštement la possibilitĂ© d'interception du trafic.

Les deux derniers points rendent MTA-STS moins sécurisé que le standard concurrent DANE pour SMTP (RFC 7672), mais techniquement plus fiable, c'est-à-dire qu'avec MTA-STS, il y a peu de chances que le mail ne soit pas livré en raison de problÚmes techniques causés par l'implémentation du standard.

Le standard concurrent est DANE

DANE utilise DNSSEC pour publier des informations sur les certificats et ne nécessite pas de confiance envers des autorités de certification externes, ce qui est beaucoup plus sécurisé. Cependant, l'utilisation de DNSSEC entraßne beaucoup plus souvent des pannes techniques, selon les statistiques des années d'utilisation (bien que la fiabilité de DNSSEC et son support technique aient globalement montré une tendance positive). Pour effectuer DANE dans SMTP, la présence de DNSSEC pour la zone DNS est obligatoire du cÎté du destinataire, et il est crucial que DANE soit correctement pris en charge par NSEC/NSEC3, avec laquelle DNSSEC rencontre des problÚmes systémiques.

Si DNSSEC est configurĂ© de maniĂšre erronĂ©e, cela peut entraĂźner des Ă©checs de livraison de mails, si le cĂŽtĂ© expĂ©diteur prend en charge DANE, mĂȘme si le cĂŽtĂ© destinataire n'en sait rien. Donc, bien que DANE soit un standard plus ancien et sĂ©curisĂ©, et dĂ©jĂ  supportĂ© dans certains logiciels serveur cĂŽtĂ© expĂ©diteur, en pratique sa pĂ©nĂ©tration reste insignifiante, de nombreuses organisations ne sont pas prĂȘtes Ă  l'adopter en raison de la nĂ©cessitĂ© de mettre en Ɠuvre DNSSEC, ce qui a considĂ©rablement retardĂ© l'adoption de DANE toutes ces annĂ©es durant lesquelles le standard existe.

DANE et MTA-STS ne sont pas en conflit et peuvent ĂȘtre utilisĂ©s ensemble.

Quel soutien y a-t-il pour MTA-STS dans Mail.ru

Mail.ru publie dĂ©jĂ  depuis assez longtemps la politique MTA-STS pour tous les principaux domaines. Nous nous occupons actuellement de la mise en Ɠuvre de la partie client du standard. Au moment de la rĂ©daction de cet article, les politiques sont appliquĂ©es en mode non bloquant (dans le cas oĂč la livraison est bloquĂ©e par la politique, le mail sera livrĂ© via un serveur de secours sans appliquer de politiques), puis le mode bloquant sera progressivement appliquĂ© pour une petite partie du trafic SMTP sortant, avant que 100 % du trafic ne soit concernĂ© par l'application des politiques.

Qui d'autre prend en charge le standard

Actuellement, environ 0,05 % des domaines actifs publient des politiques MTA-STS, mais nĂ©anmoins, elles protĂšgent dĂ©jĂ  un grand volume de trafic postal, car le standard est soutenu par de grands acteurs — Google, Comcast et partiellement Verizon (AOL, Yahoo). De nombreux autres services de messagerie ont dĂ©clarĂ© que le soutien Ă  ce standard sera mis en Ɠuvre dans un avenir proche.

Comment cela m'affectera-t-il ?

Aucune, si votre domaine ne publie pas de politique MTA-STS. Si vous publiez une politique, les courriers destinés aux utilisateurs de votre serveur de messagerie seront mieux protégés contre l'interception.

Comment mettre en Ɠuvre MTA-STS ?

Support MTA-STS du cÎté du destinataire

Il suffit de publier une politique via HTTPS et des enregistrements DNS, de configurer un certificat valide Ă©mis par l'un des CA de confiance (Let’s Encrypt est une option) pour STARTTLS dans MTA (STARTTLS est pris en charge par tous les MTA modernes), aucune prise en charge spĂ©ciale du MTA n'est requise.

En étapes, cela se présente ainsi :

  1. Configurez STARTTLS dans le MTA utilisé (postfix, exim, sendmail, Microsoft Exchange, etc.).
  2. Assurez-vous qu'un certificat valide est utilisé (délivré par un CA de confiance, non expiré, le sujet du certificat correspond à l'enregistrement MX sous lequel les courriers sont livrés pour votre domaine).
  3. Configurez un enregistrement TLS-RPT oĂč seront envoyĂ©s les rapports sur l'application des politiques (via des services prenant en charge l'envoi de rapports TLS). Exemple d'enregistrement (pour le domaine example.com) :
    smtp._tls.example.com. 300 IN TXT "v=TLSRPTv1;rua=mailto:tlsrpt@example.com"

    Cet enregistrement instructe les expéditeurs de courriers à envoyer des rapports statistiques sur l'utilisation de TLS dans SMTP à l'adresse tlsrpt@exmple.com.

    Surveillez les rapports pendant quelques jours, assurez-vous qu'il n'y a pas d'erreurs.

  4. Publiez la politique MTA-STS via HTTPS. La politique est publiée sous forme de fichier texte avec des terminators de lignes CRLF à l'emplacement.
    https://mta-sts.example.com/.well-known/mta-sts.txt
    

    Exemple de politique :

    version: STSv1
    mode: enforce
    mx: mxs.mail.ru
    mx: emx.mail.ru
    mx: mx2.corp.mail.ru
    max_age: 86400
    

    Le champ version contient la version de la politique (actuellement c'est STSv1), Mode dĂ©finit le mode d'application de la politique, testing — mode d'essai (la politique n'est pas appliquĂ©e), enforce — mode « production ». Publiez d'abord la politique avec mode: testing, s'il n'y a pas de problĂšmes avec la politique en mode test, vous pourrez ensuite passer au mode: enforce aprĂšs un certain temps.

    Dans mx, indiquez la liste de tous les serveurs de messagerie pouvant recevoir des courriers pour votre domaine (chaque serveur doit avoir un certificat configurĂ© correspondant au nom spĂ©cifiĂ© dans mx). Max_age dĂ©finit le temps de mise en cache de la politique (une politique mĂ©morisĂ©e sera appliquĂ©e mĂȘme si un attaquant bloque son envoi ou altĂšre les enregistrements DNS pendant la pĂ©riode de mise en cache, la nĂ©cessitĂ© d'une nouvelle requĂȘte pour la politique peut ĂȘtre signalĂ©e en modifiant l'enregistrement mta-sts DNS).

  5. Publiez un enregistrement TXT dans DNS : 
    _mta-sts.example.com. TXT "v=STS1; id=someid;"
    

    Le champ id peut contenir un identifiant arbitraire (par exemple, un horodatage). Lors de la modification de la politique, il doit ĂȘtre modifiĂ©, ce qui permet aux expĂ©diteurs de comprendre qu'il est nĂ©cessaire de redemander la politique mise en cache (si l'identifiant est diffĂ©rent de celui qui est mis en cache).

Support de MTA-STS du cÎté de l'expéditeur

Pour le moment, c'est difficile, car la norme est récente.

En guise de post-scriptum sur le « mandatory TLS »

RĂ©cemment, les rĂ©gulateurs portent une attention particuliĂšre Ă  la sĂ©curitĂ© des e-mails (et c'est bien). Par exemple, DMARC est obligatoire pour tous les organismes gouvernementaux aux États-Unis et est de plus en plus requis dans le secteur financier ; dans les secteurs rĂ©glementĂ©s, l'adoption de la norme atteint 90 %. Actuellement, certains rĂ©gulateurs exigent l'implĂ©mentation du « mandatory TLS » pour des domaines spĂ©cifiques, mais le mĂ©canisme d'application du « mandatory TLS » n'est pas dĂ©fini, et dans la pratique, cette configuration est souvent mise en Ɠuvre d'une maniĂšre qui ne protĂšge mĂȘme pas minimalement contre les attaques rĂ©elles, qui sont dĂ©jĂ  prises en compte dans des mĂ©canismes tels que DANE ou MTA-STS.

Si un rĂ©gulateur exige la mise en Ɠuvre du « mandatory TLS » pour des domaines spĂ©cifiques, nous recommandons d'envisager MTA-STS ou son analogue partiel comme le mĂ©canisme le plus appropriĂ©, car il Ă©limine la nĂ©cessitĂ© de faire des configurations sĂ©curisĂ©es pour chaque domaine individuellement. Si vous rencontrez des difficultĂ©s dans l'implĂ©mentation de la partie client MTA-STS (tant que le protocole n'a pas obtenu un large soutien, elles seront probablement prĂ©sentes), une approche recommandĂ©e est la suivante :

  1. Publiez une politique MTA-STS et/ou des enregistrements DANE (DANE a un sens n'ĂȘtre ajoutĂ© que si votre domaine a dĂ©jĂ  DNSSEC activĂ©, tandis que MTA-STS le devra de toute façon), cela protĂ©gera le trafic vers votre serveur et Ă©vitera de devoir demander Ă  d'autres services de messagerie de configurer le mandatory TLS pour votre domaine, si le service de messagerie prend dĂ©jĂ  en charge MTA-STS et/ou DANE.
  2. Pour les grands services de messagerie, implĂ©mentez un « Ă©quivalent » de MTA-STS via des paramĂštres de transport distincts pour chaque domaine, qui enregistreront le MX utilisĂ© pour le relayage des courriels et exigeront une vĂ©rification obligatoire du certificat TLS. Si les domaines publient dĂ©jĂ  une politique MTA-STS, cela peut gĂ©nĂ©ralement ĂȘtre effectuĂ© sans douleur. Activer simplement le TLS obligatoire pour un domaine sans enregistrer le relayage ni vĂ©rifier le certificat n'est pas efficace du point de vue de la sĂ©curitĂ© et n'ajoute rien aux mĂ©canismes STARTTLS existants.

Source : habr.com

Acheter un hĂ©bergement fiable pour les sites avec protection DDoS, serveurs VPS VDS đŸ”„ Acheter un hĂ©bergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster