Spf

De wiki.nexiat.fr
Aller à la navigation Aller à la recherche
Fiche express
Domaine Anti-usurpation d'expéditeur (DNS)
Enregistrement DNS TXT
Complète DKIM, DMARC
Voir aussi Postfix · Postfix gmail

SPF (Sender Policy Framework) est un mécanisme de vérification d'expéditeur basé sur le DNS : le propriétaire d'un domaine publie la liste des serveurs autorisés à envoyer du courrier en son nom, et les serveurs receveurs peuvent vérifier que le MTA qui leur présente un message provient bien d'une adresse IP autorisée pour le domaine annoncé dans MAIL FROM.

Principe

Le domaine publie un enregistrement DNS de type TXT (historiquement il existait aussi un type SPF dédié, aujourd'hui déprécié — l'usage du TXT est la norme) :

mondomaine.tld.  TXT  "v=spf1 mx a:smtp1.mondomaine.tld ip4:203.0.113.10 -all"
  • v=spf1 : version du mécanisme
  • mx : autorise les serveurs déclarés en enregistrement MX du domaine
  • a:... / ip4:... : autorise un hôte ou une IP nommément
  • -all : rejette strictement (hard fail) tout le reste ; ~all
 (soft fail) marque comme suspect sans rejeter — utile en phase de test avant de passer en
 strict, le temps de vérifier que tous les serveurs légitimes sont bien couverts par la
 politique.

Vérification côté serveur receveur

Sur Postfix, la vérification SPF n'est pas native : elle passe généralement par un plugin de type milter (postfix-policyd-spf-python, OpenDMARC/OpenDKIM pour SPF/DKIM/DMARC combinés) déclaré dans main.cf via smtpd_milters/policy_service. Le paramétrage précis dépend du paquet choisi par la distribution (à vérifier au cas par cas).

SPF seul ne suffit pas

SPF vérifie l'enveloppe (MAIL FROM), pas l'en-tête From: visible par l'utilisateur — un attaquant peut donc afficher un expéditeur usurpé tout en passant SPF si l'enveloppe technique est différente. Pour une protection réellement efficace contre le spoofing, SPF se combine avec :

  • DKIM : signature cryptographique du contenu du message, garantit son intégrité
  • DMARC : politique déclarant quoi faire si SPF et/ou DKIM échouent (rejeter, mettre en
 quarantaine, ou seulement rapporter), et à qui envoyer les rapports d'échec

Voir aussi

  • Postfix — présentation générale du MTA
  • Postfix gmail — relais externe (Gmail impose lui-même des vérifications SPF strictes sur les domaines expéditeurs)
  • Configuration postfix — directives générales de main.cf