Broken-by-Design/posts/smtp-killer-app/index.md

31 KiB
Raw Permalink Blame History

title slug author date type lang categories tags
SMTP : la « killer app » de DNSSEC smtp-killer-app-dnssec Florian Maury 2018-05-01 posts fr
internet
security
smtp
dns
dnssec

Huit ans après le déploiement de DNSSEC par la racine du DNS, cette technologie peine encore à trouver son public et à prouver son utilité. Cet article démontre que la sécurité des échanges de courriers électroniques avec SMTP contre des attaquants actifs ne peut être atteinte en labsence de DNSSEC, compte tenu des standards et implémentations actuels.

DNSSEC assure lintégrité cryptographique des enregistrements DNS. Sa faible adoption peut sexpliquer par une complexité à limplémentation et lors de sa maintenance, et par le fait que cette technologie est inutile, la plupart du temps. En effet, le DNS est principalement utilisé pour la résolution de noms de domaine en adresses IP, en vue daccéder à un service tiers. Si ce service est authentifié et protégé en confidentialité et en intégrité, comme cest le cas avec TLS, alors lattaque active est contrée au moment de létablissement de cette communication sécurisée. À linverse, protéger en intégrité le DNS alors que le service contacté nest pas lui-même authentifié semble au mieux inutile : lattaquant actif pourra généralement attaquer le service directement.

SMTP, le protocole déchange de courriers électroniques se trouve, hélas, dans le second cas de figure, bien que la plupart des implémentations prennent en charge TLS. En effet, pour des raisons historiques et de déploiements progressifs transparents, les serveurs de courriers électroniques ne vérifient pas ou mal les certificats X.509 fournis dans le cadre de SMTP sur TLS. Ainsi, les communications entre serveurs de courriers électroniques ne bénéficient généralement que dune protection contre les écoutes passives ; un attaquant actif pourra effectuer une interception aisément, sans même avoir à fournir un certificat frauduleux usurpant lidentité de la victime.

Les attaques actives ne se limitent cependant pas au protocole SMTP, mais sétendent à son écosystème. En effet, les serveurs de courriers emploient de nombreuses techniques pour éviter lusurpation didentité de lexpéditeur dun courrier électronique, dont des politiques de sécurité publiées dans le DNS.

Cet article expose limpossibilité de sécuriser les échanges SMTP en labsence dintégrité cryptographique des enregistrements DNS, que ce soit pour récupérer les politiques de sécurité évoquées ci-dessus, ou pour effectuer une vérification de certificats efficace.

1. État des lieux

Cette section dresse un état des lieux du déploiement des technologies utilisées dans lécosystème SMTP et qui peuvent être sécurisées grâce à DNSSEC. Des mesures actives ont été effectuées par lauteur de cet article en vue de présenter au lecteur une image dénombrée. Loutil de mesures, la méthodologie, ainsi que les résultats bruts peuvent être consultés en ligne 1.

1.1. TLS pour SMTP

Dans le précédent numéro de MISC, Arthur Provost et Olivier Levillain présentaient les résultats de mesures actives sur les serveurs SMTP afin dévaluer la qualité des déploiements de TLS. Leur étude permet dobtenir une estimation intéressante de la sensibilisation des administrateurs de serveurs de courriers électroniques aux bonnes pratiques de sécurité. Elle ne permet, cependant, pas dévaluer la quantité de courriers électroniques ainsi protégés, car elle comptabilise les serveurs et non les messages envoyés entre ces serveurs. Or, le trafic des courriers électroniques est extrêmement concentré sur quelques plateformes dhébergement mutualisé 2.

Cette concentration implique que la sécurisation de quelques acteurs permet de protéger un grand pourcentage des communications. Ainsi, plusieurs initiatives nationales et internationales ont été lancées, afin dencourager ladoption de TLS pour sécuriser les échanges entre les grands fournisseurs de service de transport de courriers électroniques, au nombre desquelles celle de Google, de lANSSI ou encore du BSI, lagence nationale de sécurité des systèmes dinformation allemande.

À ce titre, Google publie des statistiques publiques sur lutilisation de TLS entre ses serveurs SMTP et les serveurs SMTP des organismes avec lesquels ils échangent ["SaferEmail]. Il y est notamment possible dobserver le pourcentage de courriers envoyés sur un canal chiffré, par domaine expéditeur/destinataire.

LANSSI a également rédigé une charte 3, en collaboration avec plusieurs fournisseurs de service français, afin dériger des engagements de sécurité minimaux devant être mis en œuvre par les signataires (Orange, SFR/Numéricable, Bouygues Télécom, Free et La Poste).

Finalement, le BSI a publié un document 4 fournissant des recommandations de sécurité pour les fournisseurs de service de courriers électroniques allemand sétant autosaisis de la problématique. Il est intéressant de noter que le BSI encourage lemploi de DNSSEC dans son document.

1.2. DNSSEC

Lauteur de cet article décrivait dans ces mêmes colonnes, en 2012, trois mécanismes employant DNSSEC afin de venir au secours de la validation des certificats X.509 : {{< abbr DANE "DNS-based Authentication of Named Entities"

}} 5, {{< abbr CAA "Certification Authority Authorization" >}} 6 et un mécanisme non standard dépinglage des certificats par lentremise de DNSSEC. Six ans plus tard, force est de constater que ces mécanismes sont peu implémentés 7 8. Et pour cause : DNSSEC peine à se généraliser, avec un taux dadoption autour de 12,5% des noms de domaine se terminant en « .fr. », dont la majorité sont signés automatiquement par les bureaux denregistrement dans le cadre de la création de nouveaux noms de domaine 2.

Du côté des autorités de certification, la prise en charge de DNSSEC nest pas obligatoire, même pour les autorités de certification émettant des certificats où seul le contrôle temporaire dun nom de domaine est validé (certificats dits « DV », pour « Domain Validation »). En fait, la seule mention de DNSSEC dans les prérequis minimaux édictés par le CA/B Forum une entité réunissant les autorités de certification et les principaux navigateurs web a trait au comportement à adopter dans le cas dun échec de vérification dune signature DNSSEC dans le cadre de CAA 9.

Certaines autorités de certification, comme Lets Encrypt, implémentent cependant la validation DNSSEC de leur propre chef pour lémission de certificats DV ; un fait à porter à leur crédit.

1.3. SPF

{{< abbr SPF "Sender Policy Framework" >}} 10 est une politique de sécurité permettant à un émetteur de courriers électroniques de spécifier la liste des serveurs/adresses IP autorisés à envoyer des courriers provenant de son nom de domaine. Cette politique est publiée sous la forme dun enregistrement DNS de type TXT à lapex (cest-à-dire « tout en haut ») de la zone DNS correspondant au domaine DNS expéditeur à protéger. Par exemple, pour lexpéditeur john@example.com, lenregistrement SPF suivant sera consulté :

example.com. 86400 IN TXT “v=spf1 ip4:192.0.2.1 -all”

Cette donnée est directement consommée par un validateur SPF et aucun autre mécanisme de sécurité nintervient ultérieurement pour la protéger, comme cest le cas avec TLS pour les courriers électroniques. Les enregistrements SPF mériteraient donc dêtre protégés en intégrité grâce à DNSSEC. La RFC7208 noblige cependant pas la signature ou la validation cryptographique de cet enregistrement DNS, permettant ainsi à un attaquant actif de modifier cet enregistrement à la volée et autoriser des adresses IP sous son contrôle à émettre des courriers.

Le déploiement de SPF pour les domaines délégués depuis le nom de domaine de premier niveau (en anglais, {{< abbr TLD "Top-Level Domain" >}}) « .fr » est denviron 37%. Cependant, seuls 7,4% des zones étudiées contiennent des enregistrements SPF signés avec DNSSEC.

1.4. DKIM

{{< abbr DKIM "DomainKeys Identified Mail" >}} Signatures 11 est une politique de sécurité permettant à un émetteur de courriers électroniques de signer cryptographiquement certains en-têtes et tout ou partie du contenu des courriers provenant de son domaine. Cette technologie vise ainsi à prévenir lusurpation didentité de lexpéditeur et permet la détection en cas daltération des courriers pendant leur transit.

La signature DKIM est placée dans les en-têtes dun courrier électronique. En voici un exemple :

DKIM-Signature: d=example.net; s=chaine_arbitraire; …

La clé publique utilisée pour effectuer la vérification de cette signature est publiée dans le DNS, dans un enregistrement TXT. Cet enregistrement est publié dans un nom de domaine composé du domaine spécifié dans la métadonnée d= de la signature, préfixée de la chaîne constante _domainkey, elle-même préfixée dun sélecteur (une chaîne de caractères arbitraire, spécifiée dans la métadonnée s= de la signature). Ainsi pour la signature donnée en exemple ci-dessus, lenregistrement DNS suivant est récupéré :

chaine_arbitraire._domainkey.example.net. 86400 IN TXT “v=DKIM1; k=rsa; p=base64clef”

Bien que la RFC6376 ne requière pas lauthentification cryptographique de la clé publique servant à vérifier la signature des courriers électroniques, DNSSEC permet de « certifier » cette clé, la protégeant ainsi dattaquants actifs.

Le déploiement de DKIM ne peut être mesuré avec précision, les sélecteurs étant imprédictibles par loutil de mesure. Il est cependant possible dinférer labsence denregistrements relatifs à DKIM grâce à la RFC8020 12. Celle-ci dicte que le DNS est une base de données arborescente, et donc quun domaine ne peut exister que si tous les domaines parents existent aussi. Ainsi, il est possible de déterminer un pourcentage de domaines nutilisant pas DKIM, en comptant les domaines pour lesquels le sous-domaine _domainkey nexiste pas. Les autres domaines utilisent peut-être DKIM ou sont des faux positifs.

Pour les domaines délégués depuis le TLD « .fr », 81% des domaines nemploient pas DKIM. Seul 1% des domaines étudiés sont susceptibles dutiliser DKIM et sont signés avec DNSSEC. Ces 1% constituent la borne haute du nombre de noms de domaine utilisant DKIM avec une protection contre les attaquants actifs.

1.5. DMARC

{{< abbr DMARC "Domain-based Message Authentication, Reporting and Conformance"

}} 13 est une politique de sécurité publiée dans le DNS, permettant de spécifier des actions à prendre en cas de violation des politiques SPF et DKIM. Cette politique est publiée dans un enregistrement TXT localisé dans le sous-domaine _dmarc du domaine de lexpéditeur dun courrier, dont voici un exemple :

_dmarc.example.net. 86400 IN TXT “v=DMARC1; p=none; pct=100; ruf=mailto:dmarc-feedback@example.com"

Des exemples dactions à prendre en cas de violation de SPF et DKIM incluent de défausser les courriers jugés frauduleux, de les mettre en quarantaine, et éventuellement de rapporter cet échec auprès dun serveur. De manière cruciale, ces rapports peuvent contenir des extraits de courriers électroniques. Pour un domaine nétant pas protégé par DNSSEC, un attaquant est donc en mesure de modifier les enregistrements DKIM, de façon à faire passer un courrier électronique pour frauduleux, puis de retourner un faux enregistrement DMARC permettant lexfiltration dinformations du courrier.

Le déploiement de DMARC est très faible, avec seulement 1,4% des noms de domaine délégués depuis le TLD « .fr » limplémentant. Seuls les enregistrements de 1,5 domaine pour mille sont, en outre, protégés par DNSSEC. Finalement, comme noté dans la section 1.2, seuls 12,5% des domaines étudiés sont signés avec DNSSEC et sont donc à labri de toute attaque active impliquant DMARC en vue dexfiltrer le contenu des courriers électroniques.

2. Modélisation dun attaquant actif

Dans cette section, nous allons exposer une liste non exhaustive des possibilités dun attaquant actif à lencontre de SMTP sur TLS, en vue de casser la confidentialité des métadonnées ou des échanges en général.

2.1. Négociation TLS

Certains protocoles, comme IMAP ou POP disposent dun mode dusage de TLS dit « implicite ». Cela signifie que la version sécurisée de ces protocoles dispose dun numéro de port TCP spécifique (IMAPS/993, POPS/995), et que lorsquun serveur est contacté sur ce port, TLS doit être employé dès les premiers segments échangés sur une nouvelle connexion TCP. La version TLS implicite de SMTP, appelée SMTPS et employant le port 465, a hélas été supprimée des registres de lIANA, et le port 465 a été réalloué pour dautres usages. SMTPS nexiste donc plus.

Certains protocoles disposant de TLS implicite existent également dans une version dite « explicite ». Dans ce cas, la connexion TCP est effectuée sur les ports « en clair » (IMAP/143, POP/110). Cest alors à la couche applicative (IMAP, POP), dexprimer dans son dialecte quune amélioration de la sécurité de la communication est désirée. Cela sexprime généralement par laffichage dune option STARTTLS par le serveur, et que le client est libre de solliciter en envoyant le message STARTTLS. Lorsque le client sollicite lusage de TLS proposé par le serveur, les échanges en clair sont interrompus et la même connexion TCP est subitement employée pour échanger des messages TLS en vue de négocier des clés, puis de transférer du trafic chiffré. Lextrait de session SMTP ci-dessous illustre une négociation de STARTTLS. Les lignes préfixées par S: sont envoyées par le serveur, et celles par C: par le client.

S: 220 smtp.gmail.com ESMTP 186sm7907497wmm.32 - gsmtp
C: EHLO x-cli.eu
S: 250-smtp.gmail.com at your service, [2001:41d0:51:1::716]
S: 250-SIZE 35882577
S: 250-8BITMIME
S: 250-STARTTLS
S: 250-ENHANCEDSTATUSCODES
S: 250-PIPELINING
S: 250-CHUNKING
S: 250 SMTPUTF8
C: STARTTLS
S: 220 2.0.0 Ready to start TLS

Lavantage de lemploi de TLS de façon implicite est que si la connexion TCP/TLS est ouverte avec succès, il ny a aucun doute sur le fait que les messages transférés sont protégés. Avec TLS en mode explicite, la même assurance ne peut être fournie. Certains clients codés « un peu rapidement » poursuivent, en effet, lenvoi du courrier en clair, sans noter les erreurs renvoyées par les serveurs ne souhaitant pas recevoir en labsence de TLS.

En outre, lindication que le serveur prend en charge TLS et la sollicitation de chiffrement du client sont échangées en clair. Un attaquant actif est donc en mesure de corrompre le trafic afin de dissimuler/supprimer loption/la sollicitation, afin que la négociation TLS ne soit pas effectuée. Cette attaque porte le nom de STARTTLS Stripping. Ce risque nest pas théorique ; dans un excellent papier de Google, luniversité du Michigan et luniversité de lIllinois 14, des chercheurs ont effectué une étude des connexions SMTP vers les serveurs de Gmail. Ils ont ainsi découvert quune grande quantité des connexions SMTP avec TLS explicite à destination de Gmail était altérée par des attaquants actifs. Dans certains pays, comme la Tunisie, jusquà 96% des connexions sont affectées par un attaquant, tandis que 9% des connexions sont affectées en France, et plus particulièrement à lîle de la Réunion.

Le mode opératoire de lattaquant est de remplacer à la volée dans la connexion TCP loption du serveur ou la sollicitation du client par une chaîne de même longueur que STARTTLS, non reconnue par lautre partie, comme XXXXXXXX. En conséquence, le client ne verra pas loption STARTTLS, mais une option XXXXXXXX quil ne sait pas utiliser, ou le serveur recevra une commande XXXXXXXX du client, à laquelle il répondra avec un message derreur indiquant quil sagit dune commande invalide.

Finalement, la validation des certificats TLS dans le cadre de SMTP est très en retard par rapport à celle de HTTPS. Par exemple, dans létude 14, environ 66% des certificats présentés par les serveurs SMTP sont invalides (mauvais sujet, principalement, mais aussi certificats périmés ou autosignés).

Le chiffrement est dit « opportuniste » lorsque les serveurs SMTP acceptent aveuglément tout certificat présenté. Cest le cas de la plupart des déploiements de SMTP sur lInternet. De plus, au moment où ces lignes sont écrites, aucune implémentation de SMTP sur TLS connue de lauteur nest compatible avec Certificate Transparency. Comparativement, pour le web, tout certificat émis à partir davril 2018 et nétant pas dans Certificate Transparency est jugé invalide par le navigateur Chrome.


Certificate Transparency est une technologie et un écosystème qui permettent au titulaire dun nom de domaine de lister les certificats émis pour son nom de domaine, et dainsi vérifier quils ont tous été émis avec son accord. Certificate Transparency a été présenté dans MISC Hors-Série n°13, article « Souriez ! Les autorités de certification sont filmées ! ».


2.2. Remplacement des enregistrements MX

Lorsquun serveur SMTP cherche à envoyer un courrier électronique à un tiers inconnu, la recherche du serveur SMTP à contacter seffectue grâce au DNS. Pour cela, une recherche denregistrement de type MX (pour Mail eXchanger, ou relais de courriers, en français) est initiée. Ces enregistrements contiennent les noms des serveurs SMTP à contacter, noms qui doivent ensuite être résolus en adresse IP. Voici un exemple denregistrements MX :

example.com. 86400 IN MX 5 mail1.example.com.
example.com. 86400 IN MX 10 smtp.example.net.

Dans le même papier 14, les chercheurs ont également évalué la propension des attaquants à remplacer les enregistrements MX légitimes par des enregistrements MX contenant des noms de domaine sous son contrôle. Ce faisant, le serveur expéditeur enverra le courrier directement aux serveurs de lattaquant, qui pourra prendre connaissance du contenu. Lattaquant peut, ensuite, éventuellement faire suivre le courrier aux vrais serveurs destinataires afin de rendre « transparente » lattaque, en labsence dune politique SPF sur le domaine expéditeur. En présence de SPF, lattaquant peut émuler un problème serveur, à la suite de la réception du contenu du courrier, par exemple, en renvoyant une erreur temporaire, indiquant un espace de stockage insuffisant (erreur 452). Le serveur expéditeur original réessaiera alors de transmettre ultérieurement le courrier, cette fois-ci au serveur destinataire légitime, qui saura valider la légitimité de lexpéditeur avec SPF.

Les auteurs de 14 ont interrogés les serveurs DNS récursifs et les relais DNS (forwarders) souffrant dun défaut de contrôle daccès (serveurs appelés résolveurs DNS ouverts) afin de collecter des réponses DNS depuis de nombreux points dobservation de lInternet. Le résultat de ces mesures actives a révélé que 2% des serveurs DNS interrogés renvoyaient une réponse frauduleuse pouvant mener au détournement de courriers électroniques.

Il convient de noter que cette attaque ne saurait être prévenue même si lexpéditeur exigeait lutilisation de TLS avec des certificats X.509 valides (sujet, dates, usage, etc.) de la part du destinataire. En effet, lhébergement mutualisé de plusieurs domaines sur un seul serveur SMTP de réception nemploie pas lextension TLS appelée {{< abbr "SNI" "Server Name Indication" >}}. À la place, cest le nom du serveur SMTP fourni dans lenregistrement MX qui est généralement recherché à lintérieur du certificat présenté par le serveur SMTP destinataire. Or, si lenregistrement MX nest pas signé avec DNSSEC, celui-ci peut être modifié à la volée par un attaquant pour y mettre tout nom sous son contrôle et pour lequel il est en mesure dobtenir un certificat valide et légitime.


SNI permet de spécifier lors de linitialisation de la connexion TLS, un nom de domaine spécifique parmi plusieurs domaines cohébergés sur la même machine ; cest ainsi que lon peut avoir plusieurs hôtes virtuels (Virtual Host) sur une même adresse IP servant du HTTPS.


Lemploi de SNI aurait permis à un expéditeur de préciser pendant la négociation TLS quil envoyait un courrier électronique à destination dune adresse en @example.com. Le serveur de destination aurait alors pu fournir un certificat valide pour example.com.

Plusieurs explications existent pour justifier ce choix qui semble sous-optimal. En premier lieu, les serveurs SMTP réutilisent les connexions TCP/TLS ouvertes entre deux hôtes, afin de créer un pipeline. Cette réutilisation vise à éviter, lorsque cest possible, le coûteux établissement dune connexion TCP/TLS pour lenvoi dun unique courrier. Il ne semblerait donc pas correct de réutiliser une connexion établie et authentifiée pour example.com pour lenvoi dun courrier au nom de domaine cohébergé example.net. À la place, deux connexions indépendantes vers la même adresse IP devraient être employées ; un coût que tous les opérateurs ne souhaitent pas payer.

Ensuite, utiliser SNI présente le défaut de divulguer une partie des métadonnées (le nom du domaine du destinataire parmi les N domaines cohébergés) à un attaquant passif écoutant le réseau.

3. La contre-mesure : DNSSEC et DANE

Comme vu dans les précédentes sections de cet article, DNSSEC fournit une aide contre les attaquants actifs. Notamment, les signatures cryptographiques des enregistrements DNS permettent dassurer lintégrité et lauthentification de la source des données des technologies SPF, DKIM et DMARC. En outre, une vérification effective des informations contenues dans les certificats TLS pourrait être effectuée puisque DNSSEC confirme lauthenticité des noms présents dans les enregistrements MX.

Un aspect « chiffrement opportuniste » demeure néanmoins, lors du signalement de la prise en charge de TLS par le client et le serveur, avec STARTTLS, comme expliqué dans la section 2.1 de cet article. Il est, bien sûr, possible de refuser de communiquer avec toute personne noffrant pas TLS. Lattaquant qui corrompt la négociation de TLS ne pratique alors quun déni de service, puisque les deux parties refuseront de communiquer en labsence de canal chiffré. Ce choix peut être raisonnable pour certains types dinfrastructures, dinterconnexions ou dorganismes. Sur lInternet, et en particulier dans un réseau comme SMTP où toute partie peut écrire à un autre, une telle intransigeance nest cependant pas réaliste. En conséquence, il est nécessaire de disposer dun mécanisme de signalement de la prise en charge de TLS qui soit lui-même résistant aux attaquants actifs, largement déployable, et ce de manière incrémentale.

DNS remplit le cahier des charges, avec son rôle dannuaire protégé en intégrité par DNSSEC. Il est ainsi possible de publier un enregistrement DNS indiquant que le serveur SMTP contacté prend en charge TLS ; cet enregistrement pourra alors être récupéré par un client SMTP, au moment où il demande les enregistrements MX.

La technologie DANE 5 permet deffectuer ce signalement de la prise en charge de TLS par la simple présence dun enregistrement DNS de type TLSA. Il convient de noter que la spécification requiert que lenregistrement TLSA soit signé et vérifiable par DNSSEC, ce qui apporte la protection contre lattaquant actif.

Cet enregistrement est situé dans un sous-domaine des noms de domaine contenus dans les enregistrements MX. Plus précisément, le nom du MX est préfixé de la chaîne _25._tcp.. Ainsi, le serveur smtp.gmail.com pourrait disposer dun enregistrement TLSA comme celui-ci :

_25._tcp.smtp.gmail.com. IN TLSA 3 1 1 Base64DuCertificatOuDeLaClefPublique

Lobjectif de DANE dépasse celui du simple signalement de prise en charge de TLS, et permet notamment dépingler le certificat ou la clé publique qui doivent être présentés par le serveur contacté. Pour cela, des outils comme 15 permettent de générer lenregistrement TLSA à partir dun certificat. Il suffit alors de le publier dans la zone DNS appropriée et de signer cette dernière avec DNSSEC.

Côté serveurs SMTP expéditeurs, la configuration pour la prise en compte de DANE est un peu moins aisée, puisquil faut valider les réponses DNSSEC dune part, et configurer le serveur pour demander les enregistrements DANE dautre part. La validation DNSSEC en elle-même devrait être effectuée par un résolveur validant local (Unbound ou Knot-Resolver sont de bons choix). Ensuite, avec Postfix, ladministrateur doit indiquer dans son fichier de configuration main.cf les lignes suivantes :

smtp_tls_security_level = dane
smtp_dns_support_level = dnssec

Ces lignes indiquent à Postfix de se comporter comme suit : en présence dun enregistrement TLSA validé, le serveur contacté doit prendre en charge TLS ; si un attaquant actif corrompt léchange et que loption STARTTLS nest pas négociée, Postfix ne transmet pas le courrier électronique. En cas derreur de validation de lenregistrement TLSA, ou dabsence de réponse du serveur, le même comportement conservatoire doit être adopté. Dans les cas où la réponse DNS nest pas signée, ou si elle ne contient pas denregistrement TLSA, alors le chiffrement opportuniste est employé avec le serveur contacté. En conséquence, le mode dane de Postfix permet un déploiement progressif, offrant une sécurité contre les attaquants actifs si DANE est employé, et conservant le chiffrement opportuniste dans le cas contraire.

4. Conclusion

Dans cet article, nous avons étudié différentes menaces pouvant affecter les échanges de courriers électroniques, en présence dun attaquant actif. La figure 1 rappelle ces dernières de manière synthétique.

Synthèse des menaces étudiées dans cet article

Nous avons également observé leffet positif que DNSSEC peut avoir pour améliorer la sécurité des échanges de courriers électroniques. Hélas, son faible taux de déploiement à ce jour, signifie que la plupart des courriers électroniques peuvent être et sont la proie dattaques actives plus ou moins ciblées (comme le cas tunisien, évoqué en section 2.1 nous la montré).

Les utilisateurs souhaitant échanger de manière confidentielle sont encouragés à chiffrer le contenu de leurs courriers électroniques, en complément de la protection offerte, de manière opportuniste ou non, par TLS. Il existe pour cela plusieurs options, dont des moyens intégrés (comme S/MIME ou, dans une moindre mesure, OpenPGP), ou non (comme ceux listés dans le catalogue des produits certifiés par lANSSI). Dans le cas du chiffrement opportuniste, les métadonnées de ces échanges ne sont, cependant, protégées que contre les écoutes passives lors de leur transit sur le réseau. Les administrateurs de serveurs de courriers électroniques souhaitant offrir une sécurité adéquate à leurs utilisateurs contre les attaques actives devraient donc signer leurs zones DNS avec DNSSEC, publier des enregistrements TLSA, et configurer leurs serveurs pour utiliser DANE lorsquil est disponible.

Pour finir, publier des enregistrements SPF, DKIM et DMARC signés participe à lutter contre les usurpations didentité. Il convient cependant dexiger des signatures DNSSEC sur les enregistrements DMARC ou de désactiver lenvoi de rapports dans son validateur DMARC, lorsque la configuration logicielle le permet, afin déviter les exfiltrations de métadonnées sur les courriers électroniques.

5. Remerciements

Je tiens à remercier mes relecteurs, Baloo (@baloose), Olivier Levillain et Christophe Malinge, pour leurs remarques constructives qui ont significativement contribué à lamélioration de cet article.

Merci également à Claudio Fiandrino pour son code TikZ pour topologies réseaux, publié en 16.

6. Références

Publié par les Editions Diamond sous licence CC-BY-NC-ND.


  1. Outil de mesures DNS développé pour cet article : https://github.com/X-Cli/collectDNSSECEmailStats ↩︎

  2. Observatoire de la résilience de lInternet français : https://www.ssi.gouv.fr/observatoire ↩︎

  3. Charte de lANSSI pour lamélioration de la sécurité des échanges de courriers électroniques : https://www.ssi.gouv.fr/particulier/precautions-elementaires/charte-pour-la-securite-des-courriers-electroniques/ ↩︎

  4. Document équivalent au lien précédent, rédigé par lhomologue de lANSSI en Allemagne : http://www.project-consult.de/files/BSI_TR03108-1_Sichere_EMail.pdf ↩︎

  5. The DNS-Based Authentication of Named Entities (DANE) Transport Layer Security (TLS) Protocol : TLSA https://tools.ietf.org/html/rfc6698 ↩︎

  6. DNS Certification Authority Authorization (CAA) Resource Record : https://tools.ietf.org/html/rfc6844 ↩︎

  7. CAA Study : https://caastudy.github.io/ ↩︎

  8. Measuring DANE TLSA Deployment : https://www.isi.edu/~liangzhu/presentation/dns-oarc/dane_tlsa_survey.pdf ↩︎

  9. Baseline Requirements Documents : https://cabforum.org/baseline-requirements-documents/ ↩︎

  10. Sender Policy Framework (SPF) for Authorizing Use of Domains in Email, Version 1 : https://tools.ietf.org/html/rfc7208 ↩︎

  11. DomainKeys Identified Mail (DKIM) Signatures : https://tools.ietf.org/html/rfc6376 ↩︎

  12. NXDOMAIN : There Really Is Nothing Underneath : https://tools.ietf.org/html/rfc8020 ↩︎

  13. Domain-based Message Authentication, Reporting, and Conformance (DMARC) : https://tools.ietf.org/html/rfc7489 ↩︎

  14. Neither Snow Nor Rain Nor MITM… An Empirical Analysis of Email Delivery Security : https://static.googleusercontent.com/media/research.google.com/fr//pubs/archive/43962.pdf ↩︎

  15. https://www.huque.com/bin/gen_tlsa ↩︎

  16. Attribution 2.5 Generic : https://creativecommons.org/licenses/by/2.5/ ↩︎