SPF (Sender Policy Framework) : Comprendre les règles et leur fonctionnement

Pourquoi SPF est si important ?

(par Ilhan le 09/10/2024)

Les règles SPF

Généré par Dall-E

SPF (Sender Policy Framework) : Comprendre les règles et leur fonctionnement

Le SPF (Sender Policy Framework) est un mécanisme de sécurité utilisé pour éviter l’usurpation d’identité dans l’envoi d’e-mails. En définissant des règles dans le DNS d’un domaine, SPF permet aux administrateurs de spécifier quelles adresses IP sont autorisées à envoyer des e-mails au nom de leur domaine. Si un e-mail est envoyé par une IP non autorisée, il peut être marqué comme spam ou rejeté par les serveurs de messagerie.

Le revers de la médaille est que si vous ne déclarez par une nouvelle source d’envoi d’email légitime dans votre SPF, les emails expédiés seront considérés comme usurpés. Il est donc primordial de comprendre le SPF et de le maintenir à jour.

Dans cet article, nous allons explorer le fonctionnement du SPF, ses principaux cas d’usage, ainsi que plusieurs exemples pour bien comprendre les règles SPF et leur mise en œuvre.

Qu’est-ce que le SPF et comment fonctionne-t-il ?

Le SPF est une méthode d’authentification qui repose sur une entrée DNS spécifique pour chaque domaine. Cette entrée est un enregistrement TXT qui contient les règles définissant les serveurs autorisés à envoyer des e-mails pour ce domaine.

Par exemple, si vous avez chez nous un hébergement Odoo, mais que votre site et vos emails sont hébergés ailleurs, il faut impérativement permettre à notre infrastructure d’envoyer des emails depuis le Odoo.

Lorsqu’un serveur de messagerie reçoit un e-mail, il vérifie le domaine de l’expéditeur (le domaine utilisé dans l’adresse “From”) et consulte l’entrée SPF dans le DNS de ce domaine. Le serveur compare alors l’adresse IP de l’expéditeur à la liste des adresses autorisées définie dans l’enregistrement SPF. Si l’adresse IP correspond à l’une des adresses autorisées, le message est considéré comme légitime. Dans le cas contraire, l’e-mail peut être marqué comme suspect ou rejeté.

Structure d’un enregistrement SPF

Un enregistrement SPF se présente généralement sous la forme suivante :

v=spf1 ip4:192.0.2.0/24 include:exemple.com -all

Les différents mécanismes du SPF

Le SPF repose sur plusieurs mécanismes pour définir les serveurs autorisés à envoyer des e-mails. Chaque mécanisme peut être combiné avec un qualificateur pour indiquer la manière dont les serveurs de messagerie doivent traiter un e-mail s’il ne correspond pas à la règle.

Les mécanismes les plus courants

Ex : ip4:192.0.2.0/24 ou ip6:2001:db8::/32

Ex : a signifie que l’adresse IP du domaine est autorisée.

Ex : mx signifie que les serveurs MX associés au domaine peuvent envoyer des e-mails.

Ex : include:mailgun.org permet aux serveurs de Mailgun d’envoyer des e-mails au nom de votre domaine.

Ex : -all (rejet), ~all (quarantaine), +all (acceptation).

Qualificateurs et leur signification

Chaque mécanisme SPF peut être associé à un qualificateur qui détermine le comportement du serveur de messagerie :

Ex : +ip4:192.0.2.0/24 (la plage est explicitement autorisée).

Ex : -all (rejette tous les serveurs qui ne sont pas explicitement autorisés).

Ex : ~all (les serveurs non autorisés sont acceptés mais signalés).

Ex : ?all (ne spécifie aucune préférence pour les serveurs non autorisés).

Cas pratiques et exemples d’implémentation

Cas 1 : Autoriser une adresse IP spécifique

Pour autoriser uniquement l’adresse IP 192.0.2.1 à envoyer des e-mails pour votre domaine, vous pouvez configurer la règle SPF suivante :

v=spf1 ip4:192.0.2.1 -all

Dans ce cas, seule l’adresse 192.0.2.1 est autorisée, et tout autre serveur sera rejeté.

Cas 2 : Autoriser une plage d’adresses et inclure un service tiers

Imaginons que vous ayez une plage d’adresses IP 198.51.100.0/24 et que vous utilisiez un service de gestion d’e-mails tiers comme MailChimp. Vous pouvez écrire votre enregistrement SPF comme ceci :

v=spf1 ip4:198.51.100.0/24 include:_spf.mailchimp.com -all

Cette configuration autorise toute la plage 198.51.100.0/24 ainsi que les serveurs de MailChimp. Tout autre serveur sera rejeté.

Cas 3 : Autoriser tous les serveurs MX et ajouter une tolérance pour d’autres serveurs

Dans ce scénario, vous voulez autoriser les serveurs MX définis dans votre DNS et accepter, avec un SoftFail, tout autre serveur. Vous pourriez utiliser l’enregistrement suivant :

v=spf1 mx ~all

Ici, les serveurs de messagerie définis dans vos enregistrements MX sont autorisés, tandis que les autres serveurs sont acceptés mais signalés comme suspects.

Que se passe-t-il en cas d’échec du SPF ?

Lorsque la vérification SPF échoue, le comportement dépend de la politique définie par le domaine du destinataire. Si un e-mail ne correspond à aucune des règles SPF, plusieurs actions peuvent être entreprises :

Il est essentiel de noter que l’échec du SPF ne signifie pas automatiquement que l’e-mail sera rejeté, car cela dépend de la configuration du serveur de messagerie récepteur.

Bonnes pratiques pour la configuration SPF

Limiter les “includes” : Évitez d’ajouter trop de domaines avec l’instruction include, car cela peut entraîner des problèmes de performance ou dépasser la limite de 10 requêtes DNS autorisées par la spécification SPF.

Configurer son SPF sur le panel d’hébergement ETHERSYS

C’est un réglage DNS lié au domaine. Donc menu de gauche : Domaines, puis la route crantée du domaine concerné, puis l’onglet “Enregistrements DNS”. Cherchez ensuite l’enregistrement de type TXT qui commence par “v=spf1”.

Conclusion

Le SPF est un mécanisme essentiel pour protéger vos domaines contre l’usurpation d’identité dans l’envoi d’e-mails. En configurant correctement les règles SPF dans vos enregistrements DNS, vous renforcez la sécurité de vos communications et réduisez les risques de voir vos e-mails marqués comme spam. Assurez-vous de bien comprendre les différents mécanismes et qualificateurs, et adaptez votre configuration en fonction de vos besoins pour éviter les faux positifs et garantir la livraison de vos messages légitimes.

N’hésitez pas à consulter un expert Ethersys ou des outils spécialisés pour auditer vos configurations DNS et SPF afin d’optimiser la protection de vos domaines.