Authentification des e-mails (SPF et DKIM)


Publié par Tony LAUNAY le 10 avril 2015 dans

À son origine, le protocole SMTP (Simple Mail Transfer Protocol) était simple d'utilisation. Il suffisait simplement de spécifier un expéditeur et un destinataire, puis le serveur vérifiait l'existance de ce destinataire et l'e-mail lui était transféré. Initialement prévu pour échanger avec des personnes de confiance, le protocole SMTP ne possèdait alors aucun mechanisme de sécurité ; il a donc très vite été exploité par des personnes qui ont profité de l'absence de contrôle et de vérification du protocole afin d'envoyer une masse d'e-mails non souhaités par les utilisateurs (autrement dit, du spam), voire même afin d'effectuer une usurpation d'identité (c'est le phishing).

Afin d'augmenter la sécurité d'envoi des e-mails et donc d'authentifier la source des messages, des systèmes ont vu le jour, comme par example SFP et DKIM.

Mail certifié

Sender Policy Framework

Le système Sender Policy Framework (SPF) permet d'authentifier l'expéditeur via son nom de domaine (comme par exemple "easylia.com"). Pour cela, le SPF fonctionne en adéquation avec le système DNS de votre nom de domaine en y ajoutant un enregistrement de type TXT de la forme suivante (en reprenant l'exemple du domaine "easylia.com") : easylia.com IN TXT "v=spf1 mx ~all"

Le principe de fonctionnement

Après extraction du domaine de l'émetteur ("MAIL FROM :" de l'enveloppe du message SMTP, et non pas le champ "From :" de l'entête), une requête DNS de type TXT est effectuée sur le domaine en question pour connaître la liste des serveurs de messagerie autorisés à émettre des e-mails, afin de la comparer à l'adresse IP du serveur émetteur du message.

DomainKeys Identified Mail

DomainKeys Identified Mail (DKIM) est un système qui consiste, pour l'émetteur d'un message, à insérer dans l'en-tête de celui-ci une signature électronique cryptographique, de façon à ce que le serveur recevant le message soit en mesure de vérifier la source, ainsi que l'intégrité du message, et même certaines de ses en-têtes. Même principe que pour le système SPF, il faut enregistrer la signature électronique cryptographique dans le système DNS de votre nom de domaine afin que le serveur de recéption puisse la vérifier. Example d'enregistrement DNS : selector._domainKey TXT k=rsa; p=public_key

Le principe de fonctionnement

Lors de la réception d'un message, le serveur va vérifier la signature en utilisant pour cela la clé publique de l'émetteur qui aura été publiée préalablement par le serveur émetteur dans une zone DNS spécifique. Si la signature est vérifiée avec succès, alors l'origine et le contenu du message sont reconnus comme authentiques. Dans le cas contraire, le système peut réagir en rejettant le mail, en le détruisant ou en le redirigeant.

Aujourd'hui, un mail authenfié est indispensable si l'on souhaite que notre information arrive correctement à sa destination. Bien sûr, toutes ces précautions ne garantissent pas avec certitude que vos e-mails ne seront pas considés comme des spams, mais augmentent considérablement les chances de ne pas l'être.

Afin de vérifier si votre domaine est en mesure d'être authenfié, je vous invite à visiter le site suivant pour faire des tests sur vos enregistrements DNS : Mail-tester.