Mardi 27 janvier 2015 — Dernier ajout jeudi 7 avril 2016

SPF (Sender Policy Framework) : une aide pour lutter contre le SPAM

Dans la lutte contre le spam il existe de nombreux outils plus ou moins complémentaires entres eux.

Il existe notamment ce que l’on nomme SPF pour Sender Policy Framework.

Retour Sommaire

Définition

Il s’agit d’un enregistrement de type SPF dans la zone DNS d’un domaine. Cet enregistrement sert à déclarer les serveurs de mails autorisés à envoyer des mails pour ce domaine.

Ceci permet notamment de vous protéger partiellement contre l’usurpation d’email. En effet il est fréquent que les spammeurs utilisent l’email d’une personne comme expéditeur pour envoyer leurs messages. Et cet email peut être le vôtre.

Avec ce système les serveurs configurés avec SPF vont vérifier que lorsqu’ils reçoivent un email il provienne bien d’un serveur autorisé pour le domaine concerné.

Ainsi cela n’empêchera pas un spammeur d’utiliser votre email pour envoyer des mails, mais au moins les serveurs utilisant SPF n’accepteront pas ces emails. Ce qui permet de limiter les spams reçu par les utilisateurs également.

Retour Sommaire

En pratique

Concrètement à quoi ressemble un enregistrement SPF ?

C’est un enregistrement dans une zone DNS avec les éléments suivants :

Exemple avec le domaine siegler-informatique.fr :

  • @ 10800 IN TXT "v=spf1 ip4:176.31.228.199 ip4:92.222.40.247 ip4:92.222.40.246 ip6:2001:41d0:52:100::12db/56 ip6:2001:41d0:52:100::12da/56 +mx -all"

Explication pour la partie SPF :

  • v=spf1 : version utilisée
  • ip4 : Correspond à l’adresse ipv4 d’un serveur autorisé à envoyer des emails
  • ip6 : même chose que pour ip4, mais en ipv6.
  • +mx : autorise tous les serveurs déclarés comme serveur MX sur le domaine
  • -all : Ce paramètre se place toujours à la fin de l’enregistrement SPF, la partie ALL indique que ce paramètre s’applique tout le temps, en dehors des règles appliquées en amont. Le - signifie que l’on refuse l’envoie des mails.
    Par conséquent cela implique que tous les mails envoyés depuis un serveur non listés précédemment doivent être refusés.

Il existe bien entendu différentes façon de configurer votre enregistrement, mais cet exemple est ce qui se fait de plus simple.

Par exemple il existe le champ « a » qui indique que l’on autorise toutes les IPs des champs A dans la zone DNS.

Par défaut le champ a seul utilise les enregistrements du domaine de l’email, mais il est possible d’utiliser a:un_autre_domaine.

Il y a également plusieurs valeurs possibles devant les champs.

  • - : FAIL : un - devant une IP ou un nom indiquera qu’il faut refuser les messages de cette origine.
  • + : PASS : le + implique que l’on doive accepter les IP de ce champ.
  • ~ : SOFTFAIL : le serveur distant pourra accepter le message, mais pourra éventuellement le considérer comme du spam.
  • ? : NEUTRAL : cet enregistrement sera considéré comme neutre.

Il est fréquent par exemple pour éviter une configuration trop stricte des envois de mails de faire une configuration comme suit :

  • v=spf1 ip4:x.x.x.x +mx ~all

Avec un enregistrement de ce type les mails venant de l’IP x.x.x.x seront autorisés, ainsi que les emails provenant des serveurs MX. Pour tous les autres mails le serveur distant acceptera tout de même les messages, mais sera susceptible de les considérer comme du spam.

Attention lorsque votre site envois des emails, pensez à déclarer l’IP émettrice de votre serveur web dans les IP autorisées au risque que vos visiteurs ne reçoivent pas les messages émit par ce dernier.

Retour Sommaire

Vous trouverez toutes les possibilités expliquées en détails sur la page du site du projet.

Vous pouvez aussi lire l’aide d’OVH.

Voir en ligne : OpenSPF