Ajouter un enregistrement DNS SPF afin de réduire le risque d’être pris pour un spammer

La norme de vérification Sender Policy Framework (SPF) permet de vérifier qu’un email est bien envoyé d’un serveur gérant le nom de domaine en question. Ce mémo aide à la mise en place d’un enregistrement DNS de type TXT pour le SPF.

SPF est un enregistrement DNS de type TXT qui liste les IP autorisées à envoyer du courrier électronique, ceci afin de réduire les risques de spam liés à une usurpation de l’adresse d’expéditeur.

SPF est donc très simple à mettre en place, il suffit d’avoir accès au paramétrage DNS de votre domaine. Voici par exemple mon enregistrement TXT sur le domaine rholala.net. La messagerie de ce domaine est gérée par Google Apps, mais j’utilise également ce domaine sur mon serveur pour l’envoi de logs et ce genre de choses, donc des courriels en @rholala.net sont envoyés par Postfix.

v=spf1 ip4:5.196.74.38 include:_spf.google.com ~all

 

Que dit-il?

  • v=spf1 : On commence par préciser la version, ici SPF version 1.
  • ip4:5.196.74.38 : Le(s) IP(s) autorisées à envoyer des emails pour le compte du domaine rholala.net, ici en IPv4. A noter qu’il suffit d’ajouter d’autres ip4:xxx.xxx.xxx.xxx séparés par des espaces pour ajouter d’autres machines.
  • include:_spf.google.com : La messagerie du domaine rholala.net est gérée par Google Apps, on indique ici que tout ce qui vient de chez Google est légitime.
  • ~all : Cette dernière partie représente un qualifieur, ici on indique qu’en cas d’échec (si un email envoyé par @rholala.net provient d’une autre source par dans le SPF), le message est accepté, mais estampillé comme sans SPF valide. En général il est reçu mais tombe dans le dossier spam.

Une fois tout ceci mis en place, il est possible de tester son enregistrement SPF grace à des outils comme ceux de mxtoolbox.com ou directement en ligne de commande avec dig :

dig rholala.net txt
rholala.net.            21599   IN      TXT     "v=spf1 ip4:5.196.74.38 include:_spf.google.com ~all"

Ou host :

host -t txt rholala.net
rholala.net descriptive text "v=spf1 ip4:5.196.74.38 include:_spf.google.com ~all"

Les messages qui auparavent tombaient dans le dossier spam arrivent bien en boîte de réception, comme en témoignent les entêtes SMTP :

Received-SPF: pass (google.com: domain of root@rholala.net designates 5.196.74.38 as permitted sender) client-ip=5.196.74.38;

SPF est très simple et rapide à mettre en place et c’est la première étape incontournable si on ne veut pas que le courrier envoyés tombe dans le dossier pourriel de vos destinataires.