Spf
| 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écanismemx: autorise les serveurs déclarés en enregistrement MX du domainea:.../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