SPF, DKIM, DMARC, mais qu’est-ce que c’est ?

closeCet article a été publié il y a 8 ans 3 mois 18 jours, il est donc possible qu’il ne soit plus à jour. Les informations proposées sont donc peut-être expirées.

Un gros bordel, parce que l’e-mail c’est une purge en 2016. Non plus sérieusement, le courrier électronique tel qu’on le connaît a déjà passé 40 ans. Une longue vie qui a du sérieusement se remettre en question ces dernières années avec la très, très forte montée en charge du spam, ce mail indésirable et très souvent même malicieux. Et ces mécanismes sont là pour justement éviter que des mails frauduleux transitent sous une identité « légitime ». Un article à mi-chemin entre la vulgarisation et la pilosité faciale donc, parce que les utilisateurs, eux, ne sont pas censés voir grand chose.

DNS mon amour

En effet, et c’est logique après tout, ces mécanismes s’appuient sur des informations qu’on trouve dans une zone DNS (la zone regroupe toutes les infos liées à un domaine). Mieux, la plupart reposent directement sur le passe-partout TXT, histoire de s’assurer une compatibilité très large avec les résolveurs existants.

TXT, c’est simple, c’est un champ texte, donc on met ce qu’on veut dedans. Ce qui veut dire aussi qu’il faut pas se planter dans la syntaxe, sinon ça merdoie sévère. Pour info, le protocole XMPP est lui aussi friand de champ TXT.

Mais passons maintenant aux choses sérieuses.

SPF

Pour Sender Policy Framework, le SPF consiste à définir le ou les « expéditeurs » autorisés à envoyer du mail avec un domaine donné. Oui parce qu’il faut rappeler que sur le principe, une machine peut envoyer des mails avec n’importe quelle adresse sur n’importe quel domaine, qu’il existe ou pas (tout comme la première partie de l’adresse), et le mail peut arriver tant que le reste du protocole est correct. Donc n’importe quelle machine, nos pcs Windows vérolés en tête, peuvent sur le papier envoyer du mail à la tonne sans que ça pose plus de problème que ça. Et ils ne se sont pas privés quand ils étaient infectés.

SPF est là pour dire aux serveurs mails de destination si l’expéditeur fait partie des machines autorisées. On peut au choix mettre une ou plusieurs adresses IP, ou inclure des informations disponibles dans d’autres zones DNS. L’idée est de n’oublier personne, comme ça a pu arriver à l’un de mes clients : il a voulu « fortifier » son mail et donc autorisé seulement son serveur d’envoi pour son domaine. Manque de bol, le serveur qui héberge le site web chez mon employeur ne faisant pas partie des autorisations, il était devenu impossible de recevoir les mails de contact ou de changement de mot de passe. Un peu gênant.

Je vous laisse lire l’article de Wikipedia pour en savoir plus.

DKIM

Parce qu’il reste possible de contourner les barrières mises en place avec SPF, et aussi parce que justement un pc infecté sur un réseau autorisé peut continuer à spammer comme un cochon, DomainKeys Identified Mail a été mis en place pour pouvoir identifier plus finement un système autorisé d’un autre, en ajoutant un mécanisme de signature très complet et reposant sur du chiffrement.

Il est intéressant de noter que les gros fournisseurs de mail, Yahoo en tête, ont commencé par développer une solution maison, dont justement DKIM est une version standardisée et validé par l’Internet Engineering Task Force. Mais ils ont quand même commencé à l’envers, dans leur coin. Un phénomène récurrent manifestement, puisque le petit frère a subi le même parcours.

Et c’est toujours Wikipedia qui vous en parle.

DMARC

Le Domain-based Mail Authentication, Reporting and Conformance est une couche supplémentaire qui permet de dire au destinataire quoi faire si malgré tout un mail estampillé du domaine concerné échoue devant SPF et/ou DKIM. Parce que oui, dans certains cas restreints, même bien configurés, un mail peut échouer face à ces vérifications.

DMARC permet également d’établir des règles pour prévenir le propriétaire du domaine d’une utilisation potentiellement frauduleuse de celui-ci. Et on va croire que c’est un running gag, mais c’est encore Wikipedia qui en parle bien.

GPG, S/MIME ?

Les mécanismes décrits au dessus ne concernent que l’enveloppe d’un courrier électronique, ce qui permet son transport jusqu’à son destinataire. GPG permet de s’assurer, soit par le chiffrement du contenu du message lui-même, ou simplement sa signature, de l’origine de l’expéditeur du message, et ce quelque soit l’adresse. Mais ce n’est qu’une fois le message arrivé sur le serveur, soit après avoir ouvert l’enveloppe.

S/MIME remplit à peu de choses près le même rôle, et souffre de la même limitation que son cousin : ils sont tous les deux difficiles à mettre en place, et malgré leur existence depuis plus de 20 ans, continuent à n’être utilisé que dans des niches assez restreintes. Dommage, ils semblent fonctionner assez bien.

Faut-il rebooter le mail ?

Une question légitime, quand le trafic du spam continue de se maintenir à environ 90% des mails échangés sur toute la planète, toutes langues comprises. Imaginez, les protocoles existent depuis les années 70, le DNS tel qu’on le connaît lui-même n’est apparu qu’après, dans les années 80, et le Web, au début des années 90 (Facebook n’a que 8 ans, hein). A l’instar des algorithmes de chiffrements largement insuffisants sur les réseaux mobiles aujourd’hui (conçu dans les années 80, début de déploiement courant des années 90, toujours en service en 2015), l’on a fait que rajouter quelques couches d’armures sans forcément penser qu’à un moment donné, ça ne fonctionnerait plus, ou deviendrait trop lourd pour qu’on puisse garder un fonctionnement serein, entièrement décentralisé (ce qui est le propre d’Internet normalement), le mal étant le propre de l’homme, à pervertir tous les outils qu’il touche.

Donc oui, tout comme IPv6, HTTP/2, qui sont nés de nouveaux besoins, je pense qu’il faudrait remettre les choses à plat. On dira que la critique est facile, l’art difficile, et je ne prétend pas avoir les connaissances pour le faire ou même piloter les personnes qui le feraient, mais la liberté d’expression permet aussi de dire, quand on sait s’en rendre compte, qu’il y a un truc de pourri au royaume d’Internetdes chats. Et c’est d’autant plus le cas que ça fait deux ans qu’on sait que tout ou presque est noyauté par la NSA. Des projets comme Caliopen se sont donnés la tâche difficile de justement rafraîchir nos communications. Il est peut-être vraiment temps d’y jeter un œil 🙂

3 Commentaires
Le plus ancien
Le plus récent
Commentaires en ligne
Afficher tous les commentaires
Cascador
Cascador
30/12/2015 18:14

Yo,

« quand le trafic mail continue de se maintenir à environ 90% des mails échangés sur toute la planète » ? => quand le trafic de spam continue non ?

Tcho !

khertan
khertan
31/12/2015 09:48

Et tout ça, dans parler des whitelist de certains services comme ceux de Microsoft qui considére spam sur ses services tout email ne provenant pas d’un fournisseur connu.

Sinon, Http/2, il y a des personnes qui considèrent cela comme une avancé ? Personnellement je trouve cela bien compliqué, et bien lourd … On dirait une usine à gaz inventé par Microsoft.