SMTP - Fonctionnement de SPF

De PedroWiki
Révision datée du 27 février 2020 à 09:04 par Jules (discussion | contributions) (Mécanismes)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)

Introduction

Cet article servira de bloc note et de recueil d'infos sur le fonctionnement de SPF: Sender Policy Framework).

SPF est une techno utilisée dans le cadre de la lutte anti spam, cette technologie est utilisée par les serveurs SMTP en réception pour vérifier l'authenticité d'un émetteur pour un domaine donné.

Liens utiles

Théorie

Outils

Définition de SPF

  • RFC de référence: RFC 72081 (section 3.1).
  • Technique d'authentification de l'émetteur.
  • Technologie définie par Microsoft.
  • Se base sur le "MAIL FROM:" de l'enveloppe du message et non sur le "from:" des headers.
  • Le paramétrage de SPF pour un domaine d'expédition se fait via l'ajout d'une entrée TXT dans la zone DNS du domaine concerné.
  • Objectif de ce paramétrage:
    • préciser la version de SPF utilisée.
    • lister les serveurs de messagerie autorisés à émettre pour ce domaine.
    • définir le comportement par défaut si l'IP émettrice n'est pas listée.

Limites du SPF

  • les spammeurs peuvent forger eux même leurs entêtes.
  • SPF identifie les IP émettrices légitimes, mais pas les adresses unitaires ni le contenu dans les messages.
  • pose problème lors des transferts d'emails.

Paramètres des entrées SPF

Adresses IP

La notation CIDR (<ip>/<scope>, ex: 192.168.1.0/24) est acceptée.

Mécanismes

  • ALL: "Tout le reste". Combiné avec les qualifieurs, permet de définir un comportement par défaut au delà de la configuration explicite décrite dans l'entrée SPF.
  • A: désignation d'une entrée A sur un domaine.
  • IP4: désignation d'une IPv4.
  • IP6: désignation d'une IPv6.
  • MX: désigne l'ensemble des serveurs désignés par l'entrée DNS "MX" d'un domaine (tous les MTA d'un domaine sont considérés comme légitimes).
  • EXISTS: accepte le serveur si le domaine existe. RAREMENT UTILISE.
  • INCLUDE: permet d'inclure les règles SPF d'un autre domaine. Utile quand on délègue l'envoi d'une partie des mails à un prestataire tiers.

Qualifieurs

  • +: laisse passer tout le reste de ce qui n'est pas listé dans l'entrée. TRES PERMISSIF et un peu inutile.
  •  ?
  • ~: Softfail. Utilisé pour le debug. Les messages sont accepté par la destination, mais marqués comme ne respectant pas totalement les règles SPF.
  • -: Echec total. Pour tout le reste des expéditeurs en dehors de ceux listés dans l'entrée SPF, ne pas valider l'émetteur. TRES STRICT

Modifieurs

  • exp
  • redirect

Bonnes pratiques

Les "bonnes pratiques" ci dessous sont une synthèse des précos trouvées sur le net.

Factorisation des entrées

Eviter des listes d'IP exhaustives dans les entrées SPF, privilégier un nom DNS configuré en round robin sur l'ensemble des IP concernées.

Ex:

Eviter

v=spf1 ip4:<ip1> ip4:<ip2> .... -all

Privilégier:

v=spf1 spf.mondomaine.tld -all

Avec:

spf.mondomaine.tld IN A <ip1>
spf.mondomaine.tld IN A <ip2>
...