Cet article est avant tout pour ceux ou celles qui souhaitent savoir ce qui se cache derrière les trois lettres “SPF”. Dans le monde de la délivrabilité, on en parle souvent mais malheureusement peu de personnes connaissent réellement SPF. On va essayer de vous expliquer en quelques lignes qu’est-ce que SPF, à quoi ça sert, comment ça fonctionne, comment ça se paramètre et comment vérifier qu’il est bien paramétré sur un domaine (et vous permettre de devenir la nouvelle star de la société) !
Définition
SPF (ou plus communément “Sender Policy Framework”) est une norme d’authentification e-mail. Elle permet de définir quels sont les serveurs autorisés à émettre des emails pour votre nom de domaine. Le SPF se configure en ajoutant un enregistrement TXT (enregistrement texte qui permet de relayer des informations à des tiers comme SPF, code Google…) à votre domaine (ou sous-domaine) dans votre serveur DNS. SPF va vous permettre de protéger votre nom de domaine contre le spam et le phishing
Définition de SPF
Pourquoi implémenter SPF sur TOUS vos domaines !
Il n’y a qu’une seule et bonne raison pour laquelle vous devez absolument protéger tous vos domaines et sous-domaines : ils sont TOUS vulnérables ! Un domaine (ou sous-domaine) non protégé peut être utilisé par n’importe qui, n’importe quand et n’importe où. En ajoutant SPF sur chacun de vos domaines et sous-domaines, vous garantissez un minimum leur sécurité (encore plus si vous ajoutez derrière un haut niveau de sécurité).
Surtout ne pensez pas que vous êtes à l’abri parce que vous êtes indépendant, une startup, une PME… Le spam et le phishing n’épargnent personne !
Concrètement, comment fonctionne SPF ?
Son fonctionnement reste assez simple. Quand le FAI va réceptionner l’e-mail, il va vérifier sur les serveurs DNS du domaine expéditeur (en vérifiant l’enregistrement SPF) si l’IP émettrice est bien déclarée dans ce fameux enregistrement TXT.
- Si c’est le cas, l’e-mail passera la validation (et sera confronté à d’autres vérifications du filtre Anti-Spam).
- Si ce n’est pas le cas, le FAI va appliquer la règle de sécurité définie par l’administrateur du domaine (ça peut aller du refus de l’e-mail à aucune action et donc c’est le FAI qui décidera où placer l’e-mail).
Dernier point, l’enregistrement SPF n’est valable que sur le domaine où il est implémenté. Ainsi, n’hésitez pas à le déployer sur tous vos domaines (ou sous-domaines).
Go go go, on passe au paramétrage…
On va essayer de faire simple mais concis ! Pour implémenter SPF, vous aurez besoin de :
1. Lister tous les mécanismes utilisés
C’est la partie la plus importante puisqu’il va falloir lister tous les mécanismes que vous utilisez via vos routages. Attention à ne pas oublier un mécanisme car si vous passez SPF en mode “strict” – ce que je vous inviterai à faire dans un futur article – les filtres Anti-Spam refuseront vos e-mails (donc pas de blague).
De nombreux mécanismes sont disponibles et à choisir parmi la liste ci-dessous (ne sont pas présents les mécanismes obsolètes ou très rarement utilisés) :
- IP4 : définit toutes les IP utilisées au format IPv4
- Ex:
123.45.67.89
- Ex:
- IP6 : définit toutes les IP utilisées au format IPv6
- Ex :
2001:0620:0000:0000:0211:24FF:FE80:C12C
- Ex :
a
: définit l’enregistrement A du domaine (cf. association d’un domaine à une IP).mx
: définit l’enregistrement MX du domaine (celui-ci peut contenir un ou plusieurs domaines).include
: définit les enregistrements SPF de sources externes (comme des routeurs e-mails).- Ex :
_spf.google.com
(contient toutes les IP utilisées et appartenant à Google).
- Ex :
all
: définit la règle que l’on va appliquer avec le qualifieur. C’est un élément indispensable.- Ex :
-all
(mode Strict) – si l’IP ne correspond pas, le message sera refusé.
- Ex :
2. Définir un qualifieur
Le mécanisme all
devra, quant à lui, être associé à un et un seul qualifieur. Ceci définira la règle à appliquer lors de la vérification de SPF par le filtre Anti-Spam.
~
: Echec léger (softFail) – en cas d’échec de SPF, l’e-mail sera accepté mais doit être considéré comme suspect.-
: Echec (Fail) – en cas d’échec de SPF, l’e-mail doit être rejeté.+
: Valide (Pass) – l’email doit être accepté?
: Neutre (Neutral – None) – aucune incidence sur la vérification de SPF.
3. Ajouter le code sur le domaine et ses sous-domaines
Une fois que votre code est prêt, il suffira – si vous avez les droits d’accès à votre hébergeur gérant votre nom de domaine – de créer un enregistrement de type TXT (depuis 2014, SPF ne se déclare que via un enregistrement de type TXT) et de copier/coller votre code.
Si vous n’avez pas les droits d’accès, il faudra passer par votre DSI.
Besoin d'aide ?
Lire du contenu ne fait pas tout. Le mieux, c’est d’en parler avec nous.
Et si nous décortiquions l’enregistrement SPF de Badsender ?
Voici ce que nous avons déclaré dans notre domaine Badsender.com :
v=spf1 a mx include:spf.mailjet.com include:sendgrid.net include:spf.protection.outlook.com ~all
v =
on définit ici la version de SPF.a =
on inclut l’ip associée au nom de domaine badsender.com, qui est69.163.144.152
mx =
on inclut ici tous les serveurs de Mails associés au domaine badsender.com, ici nous avons le domainebadsender-com.mail.protection.outlook.com
.Include:spf.mailjet.com =
on inclut toutes les IP appartenant au routeur Mailjet.Include:sendgrid.net =
on inclut toutes les IP appartenant au routeur Sendgrid.Include:spf.protection.outlook.net =
on inclut toutes les IP appartenant à Microsoft.~all =
nous utilisons pour le moment le qualifieur “tilde” (mode SoftFail). À terme, nous passerons en mode “Strict” avec le “moins” pour sécuriser au maximum notre nom de domaine, mais nous devons nous assurer que toutes les IP sont bien déclarées.
Comment vérifier si SPF est bien paramétré !
Il existe plusieurs outils en ligne bien conçus pour vérifier en quelques secondes si votre domaine possède un enregistrement SPF et si ce dernier est correctement configuré. Personnellement, j’utilise 2 outils : Dmarcanalyzer et Mxtoolbox. Prenons l’exemple de Badsender.com chez Dmarcanalyzer :
Et voici le résultat :
On remarquera que l’enregistrement SPF est valide . Autre exemple avec le domaine “boulanger.com” chez Mxtoolbox :
Par contre là, on constate une erreur dans la déclaration de SPF, Mxtoolbox vous donne des précisions sur l’erreur (ils sont cool) :
N’hésitez pas à faire le test avec les 2 outils avec votre nom de domaine.
Comment monitorer SPF…
Malheureusement, vous ne pourrez monitorer SPF directement (même via des outils externes) donc aucune chance de savoir si quelqu’un essaie d’usurper votre nom de domaine.
Par contre, il existe un moyen indirect via DMARC (Domain-based Message Authentication, Reporting and Conformance – n’hésitez pas à consulter l’article que j’avais écrit en 2017). Grâce aux rapports envoyés par les FAI/Webmails vérifiant DMARC, vous avez la possibilité de savoir quelles IP ont été utilisées avec votre domaine et potentiellement détecter si vous êtes (ou avez été) victime de phishing (ou si vous avez oublié des IP dans votre déclaration SPF).
On conclut ?
Si vous lisez ces dernières lignes, c’est que finalement cet article vous a intéressé et peut-être même qu’il a servi à remonter à votre direction certains problèmes ou incohérences liés à la gestion de votre domaine. L’objectif n’étant pas que vous piquiez la place de l’administrateur système mais que vous soyez capable d’analyser (et de corriger ?) une problématique liée à une authentification d’e-mails (qui peut dégrader très rapidement votre réputation et vos performances de campagnes).
N’hésitez pas à commenter l’article si vous avez des questions ou besoins liés à l’authentification de vos e-mails, nous pourrons vous aider. Vous pouvez également consulter nos derniers articles sur l’authentification e-mails :