avril 18, 2014

L’intérêt de SPF, DKIM et DMARC pour la délivrabilité de vos emails

Temps de lecture 4 min
Délivrabilité SPF DKIM DMARC

Vous avez sûrement déjà reçu un email frauduleux où l’expéditeur usurpait l’identité d’une société connue, souvent une banque, pour vous inviter à cliquer sur un lien. C’est ce qu’on appelle le phishing. Pour usurper l’identité d’un tiers, nul besoin d’être un génie de l’informatique. Le protocole d’envoi des emails (SMTP), ne prévoit à la base aucun mécanisme d’authentification. On peut envoyer un email au nom de n’importe qui sans aucune difficulté.
Enfin, c’était surtout vrai au début des années 2000. L’augmentation du nombre d’emails envoyés, en particulier les emails non désirés, a incité les FAI à mettre en place des normes de vérification comme SPF, DKIM et DMARC

SPF, DKIM et DMARC : définitions et objectifs

Le protocole SPF

SPF, pour Sender Policy Framework, est un moyen de limiter l’usurpation d’identité en publiant dans les DNS de votre nom de domaine la liste des serveurs, ou plus précisément des adresses IP, qui sont autorisés à envoyer du courrier avec ce domaine.

Concrètement, cela ne veut pas dire que tous vos mails passeront désormais la barrière des filtres anti-spams. SPF est loin d’être le seul critère utilisé par les filtres anti-spam. L’intérêt est surtout d’éviter que son nom de domaine soit détourné. Un nom de domaine disposant d’un enregistrement SPF configuré correctement sera plus difficile à exploiter par les spammeurs. Néanmoins, un email qui ne dispose pas d’une signature SPF ne sera pas pour autant considéré comme un spam.

Prenons un exemple simple. Supposons que nous souhaitions publier un enregistrement TXT sur le serveur DNS du nom de domaine sendinblue.com. Voilà ce que ce cela donnerait :

sendinblue.com IN TXT  "v=spf1 a ip4:80.12.95.191 -all"

Quelques petites explications. Les serveurs ayant pour adresse IP 80.12.95.191 ont le droit d’envoyer des emails au nom de Sendinblue.com. Le “a” devant l’adresse UP signifie que toutes les adresses IP de l’enregistrement A ont également  le droit d’envoyer des emails pour ce nom de domaine. Enfin, le “-all” signifie que toutes les autres IP doivent être rejetées. Pour générer l’enregistrement TXT à saisir dans votre DNS, vous pouvez utiliser un générateur comme celui de Mailradar.

Pour vérifier que cela fonctionne correctement, assurez-vous de retrouver la mention « spf=pass » dans l’en-tête des emails que vous envoyez.

Délivrabilité SPF Pass

 

Le protocole DKIM

Né de la fusion des protocoles DomainKeys (Yahoo) et Identified Internet Mail (Cisco), le protocole DKIM, DomainKeys Identified Mail, fait le lien entre le nom de domaine expéditeur et le message. L’objectif du protocole DKIM n’est pas uniquement de prouver que le nom de domaine n’a pas été usurpé, mais que le message n’a pas été altéré durant sa transmission.

Ce protocole repose sur une procédure cryptographique, avec une clé publique publiée dans le zone DNS du domaine émetteur, et une clé privée, utilisée pour encoder le message. Pour mettre en place une signature DKIM, vous devez :

  • Créer un couple clé privée / clé publique au format RSA 1024 bits
  • Publier dans les DNS de votre domaine la clé publique
  • Configurer l’envoi de vos messages pour l’encodage avec la clé privée

Si cela fonctionne bien, vous devriez retrouver le code suivant dans l’en-tête de votre email.

Délivrabilité DKIM Pass

Pour aller plus loin :

Le protocole DMARC

Mis en place en 2011 par un consortium de grandes sociétés d’Internet, comme Google, Yahoo ou Microsoft, DMARC est avant tout un complément à SPF et DKIM. En quelques mots, le protocole DMARC permet à l’expéditeur de recevoir les résultats de l’authentification de ses envois auprès des principaux opérateurs (Gmail, Hotmail, AOL, etc.), et à la messagerie du destinataire de savoir comment il doit traiter les messages qui n’ont pas passé le test de l’authentification. DMARC ne permet pas de savoir directement si un message est frauduleux ou non. DMARC nécessite que le message soit conforme aux validations SPF et DKIM, et par ailleurs que le message soit « aligné » (correspondance des noms de domaines).

Délivrabilité DMARC pass

 

Mise en place et vérifications

Mettre en place les protocoles SPF, DKIM et DMARC

Sendinblue propose naturellement les 3 protocoles, que vous soyez sur une IP mutualisée ou une IP dédiée. Dans le cas où vous disposez d’une IP mutualisée, vous n’avez rien à faire ! Les signatures SPF, DKIM et DMARC sont gérées sur nos propres noms de domaine. Dans le cas d’une IP dédiée, vous pouvez soit déléguer un sous domaine à Sendinblue (cf. tutoriel de Sendinblue), auquel cas les protocoles SPF et DKIM sont automatiquement mis en place, soit rester sur votre propre serveur de DNS auquel cas vous devez mettre en place vous-même les protocoles sur votre propre nom de domaine. SPF est relativement simple à mettre en place (cf. tutoriel détaillé de Sulimigeek ), les protocoles DKIM et DMARC sont un peu plus complexes.

Vérifier que les signatures SPF, DKIM et DMARC fonctionnent

Pour vérifier si cela fonctionne, il suffit de regarder le code source d’un email que vous avez envoyé. Comme souvent, Gmail simplifie les choses, et nous permet d’accéder au code source de l’email en 2 clics. A partir du menu d’actions d’un email, choisissez « Afficher l’original ».

code source email

Il vous suffit ensuite de vérifier que les mentions « spf=pass », « dkim=pass », « dmarc=pass » sont bien présentes. Tout cela peut paraitre un peu fastidieux et compliqué, mais à l’heure où on estime le nombre de spam par jour à 260 milliards, il est vraiment indispensable de mettre en place ces protocoles, ou de choisir une solution comme Sendinblue qui fait le travail pour vous.

Prêt à devenir un Bouddha du marketing ?

Supprimez le stress de votre journée de travail grâce à une solution adaptée à vos besoins.

Lancez-vous. C’est gratuit !