L’enregistrementSPF (Sender Policy Framework) est un élément important de la norme Domain-based Message Authentication, Reporting and Conformance (DMARC) qui spécifie une méthode pour empêcher la falsification de l’adresse de l’expéditeur.

Les enregistrements SPF sont complexes à mettre en place et des problèmes de mise en œuvre peuvent survenir s’ils ne sont pas correctement configurés. De plus, la syntaxe des enregistrements SPF utilise des termes spécifiques qui peuvent prêter à confusion lors de la première rencontre. Par conséquent, dans cet article de blog, nous examinons la syntaxe des enregistrements SPF et ce que vous devez prendre en compte lorsque vous les configurez.

Qu’est-ce qu’un enregistrement SPF ?

Un enregistrement SPF est un type d’enregistrement DNS qui identifie les serveurs autorisés à envoyer un courriel au nom de votre domaine. Il répertorie les serveurs qui ont été autorisés à envoyer des e-mails pour votre domaine. Si un autre serveur tente d’envoyer un e-mail au nom de votre domaine, il sera rejeté comme expéditeur non autorisé.

L’objectif d’un enregistrement SPF est d’empêcher les utilisateurs malveillants d’envoyer de faux messages électroniques avec votre domaine dans le champ “From”. Cela peut se produire si un attaquant envoie des quantités massives d’e-mails de spam à partir de votre serveur en usurpant ou en falsifiant votre domaine.

Comment fonctionne le FPS ?

1. Syntaxe de création d’un enregistrement SPF

Vous créez une syntaxe d’enregistrement SPF dans votre serveur DNS qui spécifie quelles adresses IP sont autorisées à envoyer des courriels à partir de votre domaine. Cela signifie que si quelqu’un essayait d’envoyer des courriels usurpés à partir de votre domaine, ses messages échoueraient parce que l’adresse IP de son serveur de messagerie ne serait pas répertoriée comme l’un des serveurs approuvés.

Par exemple, si vous souhaitez que seuls les comptes Gmail puissent envoyer des e-mails à partir de votre nom de domaine, mais pas les comptes Outlook, vous devez ajouter la ligne suivante à votre enregistrement SPF :

v=spf1 a mx include:_spf.google.com ~all

Cela indique aux serveurs que tout message envoyé depuis un hôte dont l’adresse IP se termine par _spf.google.com doit être considéré comme valide (m), tandis que tous les autres messages doivent être rejetés (a).

Vous pouvez utiliser notre générateur d’enregistrements SPF pour commencer à créer un enregistrement gratuit dès maintenant !

2. Recherche DNS

Lorsqu’un expéditeur de courrier électronique tente d’envoyer un message, le serveur destinataire effectue une recherche DNS sur le domaine d’envoi pour voir s’il existe un enregistrement SPF – c’est ce qu’on appelle “l’authentification”. Perte de SPF.

S’il n’y a pas d’enregistrement SPF, l’authentification échoue et le message n’est pas remis. S’il existe un enregistrement SPF, le serveur SPF vérifie les adresses IP dans l’enregistrement TXT au niveau du nom d’hôte spécifié dans l’enregistrement SPF.

Si aucune adresse IP n’est spécifiée, l’authentification échoue. Sinon, il effectuera une requête A pour chaque adresse IP spécifiée dans l’ordre d’apparition dans l’enregistrement TXT.

L’adresse IP qui renvoie un code de résultat de NXDOMAIN ou NOERROR sera considérée comme autorisée par le serveur SPF et son nom d’hôte sera ajouté à une liste d’hôtes d’envoi autorisés pour ce domaine.

3. Résultat de l’authentification

Le serveur de messagerie remet le message au destinataire ou le signale comme étant à rejeter en fonction des règles spécifiées dans l’enregistrement SPF.

Les résultats de l’authentification peuvent prendre trois formes : Réussite, Neutre, ou Échec.

Pass signifie que le serveur de messagerie accepte le message comme légitime et autorise sa distribution. Neutre signifie qu’il n’y a pas d’enregistrement ou un enregistrement invalide pour ce domaine dans le DNS, il n’y a donc aucun moyen de savoir s’il s’agit ou non d’un message légitime provenant de ce domaine. Fail signifie que quelque chose dans ce message n’est pas suffisamment authentique pour qu’il soit délivré.

Par exemple, un serveur de messagerie dont l’adresse IP est ‘234.2.1.2’ envoie un courrier électronique de ‘join@apple.com’. Le serveur entrant consulte le service de nom de domaine(DNS) pour déterminer si cette adresse IP est autorisée à envoyer des messages électroniques au nom du domaine “apple.com”. Si c’est le cas, le message sera remis ; sinon, il sera rejeté ou marqué comme spam, c’est-à-dire trié selon le mécanisme spécifié dans l’enregistrement SPF.

Syntaxe de l’enregistrement SPF

La syntaxe de l’enregistrement SPF comprend plusieurs éléments : directives, qualificatifs et mécanismes.

Les directives constituent la première partie de la syntaxe d’un enregistrement SPF. Elles indiquent comment interpréter le reste de l’enregistrement. Trois directives peuvent apparaître dans un enregistrement SPF : v=spf1, a, et mx. La directive v indique que cet enregistrement est un enregistrement SPFv1 ; la directive a indique que cet enregistrement est un rapport d’échec d’authentification de style SPFv2 ; la directive mx spécifie une liste de serveurs d’échange de courrier pour un domaine.

Les qualificatifs précisent l’endroit de votre zone DNS où vous souhaitez placer vos enregistrements SPF : exim4, enduser, ou _spf. Ces qualificatifs indiquent aux récepteurs de courrier où chercher vos enregistrements SPF lorsqu’ils les comparent à leurs enregistrements DNS.

Les mécanismes sont utilisés pour indiquer comment vous voulez traiter les adresses électroniques qui échouent à votre vérification SPF. Vous pouvez choisir parmi plusieurs mécanismes : tous, aucun, softfail, neutraliser ou rejeter.

  • tous acceptera tous les courriels provenant d’expéditeurs qui ont passé votre vérification SPF ;
  • aucun rejettera tout ce qui provient d’expéditeurs qui ont passé votre vérification SPF ;
  • softfail acceptera les courriels provenant d’expéditeurs dont la vérification SPF a échoué, mais les marquera comme suspects ;
  • neutre indique que vous ne refusez ni n’acceptez les messages envoyés depuis votre domaine. Il s’agit essentiellement d’une position “sans opinion” quant à l’acceptation ou au rejet du message ;
  • rejeter rejette les courriels dont la vérification SPF a échoué.

Qualificateurs de syntaxe d’enregistrement SPF

Les “qualificateurs” dans la syntaxe d’un enregistrement SPF permettent d’indiquer la portée de l’enregistrement SPF. Ils sont principalement utilisés pour indiquer si une adresse IP spécifique est autorisée ou non à envoyer des e-mails au nom de votre domaine.

Qualification Code de résultat Explication
+ Passez le seul qualificatif sans connotation négative. Il indique que l’enregistrement de sécurité du nom de domaine ne contient aucune erreur ou avertissement et est considéré comme sûr.
Échec indique que l’enregistrement de sécurité du nom de domaine contient des erreurs ou des avertissements qui l’empêchent d’être considéré comme sûr. 
~ Défaillance logicielle indique que l’enregistrement de sécurité du nom de domaine contient des erreurs ou des avertissements qui ne l’empêchent pas d’être considéré comme sûr, mais qui peuvent indiquer des problèmes de résolution DNS ou d’autres problèmes liés aux ancres de confiance DNS.
? Neutre Indique que le domaine n’a pas d’enregistrement SPF ou que son enregistrement est syntaxiquement correct mais qu’il ne correspond à aucun serveur d’envoi lorsqu’il est comparé à un (ou plusieurs) serveur d’envoi dans votre liste d’adresses IP de confiance pour ce domaine.

Mécanismes de syntaxe des enregistrements SPF

Les mécanismes sont utilisés dans la syntaxe de l’enregistrement SPF pour indiquer au serveur récepteur quel type de mécanisme d’authentification doit être utilisé. Il existe deux types de mécanismes :

  • l’expéditeur peut spécifier un ensemble spécifique de mécanismes ;
  • Ou bien il peut spécifier que tous les mécanismes sont autorisés.
Mécanisme Objectif La directive s’applique lorsque Mise en œuvre
a définit l’enregistrement A du DNS du domaine autorisé. Si cette directive n’est pas spécifiée, alors le domaine actuel est utilisé. 

 

peut être appliqué lorsqu’on recherche un enregistrement A ou AAAA dans un domaine qui contient l’adresse IP de l’expéditeur. aa/<prefix-length>

a:<domain>

a:<domain>/<prefix-length>

tous La directive all est toujours adaptée, et elle définit la politique pour toutes les autres sources. Ce mécanisme doit toujours être appliqué, et ce mécanisme correspond toujours. tous
existe Vérifie si un enregistrement A est valide ou non pour un domaine donné. Il examine tous les enregistrements A de ce domaine et vérifie si l’un d’entre eux correspond aux critères définis dans votre enregistrement SPF. S’applique lorsqu’il existe un enregistrement A sur ledit domaine ou si d’autres critères, selon la RFC7208, ont été autorisés. exists:<domain>
inclure Le but de ce mécanisme est de spécifier le domaine et de rechercher une correspondance, ainsi que de renvoyer une erreur permanente si le domaine n’a pas d’enregistrement SPF valide. Le mécanisme “include” des enregistrements SPF peut être utilisé pour inclure d’autres enregistrements SPF dans l’enregistrement d’un domaine. Si un domaine n’a pas d’enregistrement SPF, mais qu’un autre domaine en a un et que cet autre domaine a une adresse IP qui correspond à l’adresse IP de l’expéditeur, alors le mécanisme “include” fera en sorte que le domaine avec l’adresse IP correspondante soit utilisé à des fins d’autorisation.  include:<domain>
ip4 Vous pouvez spécifier une plage IPv4 avec la directive “ip4”, accompagnée d’un préfixe qui indique la longueur de la plage. Si aucun préfixe n’est spécifié, /32 est supposé. Le mécanisme “ip4” s’appliquera si l’une de ces conditions est vraie : 

– L’adresse IPv4 spécifiée correspond à celle d’une adresse IP dans votre enregistrement SPF.

 

– Le sous-réseau IPv4 spécifié contient l’adresse IP de l’expéditeur.

ip4:<ip4-address>ip4:<ip4-network>/<prefix-length>
ip6 Vous pouvez spécifier une plage IPv6 avec la directive “ip4”, ainsi qu’un préfixe qui indique la longueur de la plage. Si aucun préfixe n’est spécifié, /128 est supposé. Le mécanisme “ip6” s’appliquera si l’une de ces conditions est vraie : 

– L’adresse IPv6 spécifiée correspond à celle d’une adresse IP dans votre enregistrement SPF.

 

– Le sous-réseau IPv6 spécifié contient l’adresse IP de l’expéditeur.

ip6:<ip6-address>ip6:<ip6-network>/<prefix-length>
mx Le mécanisme “mx”, tel que défini dans l’enregistrement SPF, définit l’enregistrement de l’échangeur de courrier (MX) du système de nom de domaine (DNS) d’un domaine comme autorisé. L’enregistrement MX du DNS détermine quel serveur est responsable de l’acceptation des messages électroniques au nom du domaine. L’enregistrement DNS MX contient une adresse IP et une valeur de priorité pour chaque serveur qui peut être utilisé pour accepter des messages. 

Lorsqu’un enregistrement MX d’un domaine contient une adresse IP qui correspond à l’adresse IP de l’expéditeur, cela indique que cet expéditeur est autorisé à envoyer des e-mails au nom de ce domaine.

mxmx/<prefix-length>

mx:<domain>

mx:<domain>/<prefix-length>

ptr Le mécanisme ptr utilise le nom d’hôte ou le sous-domaine inverse de l’adresse IP d’envoi pour définir le nom de domaine cible. S’applique uniquement s’il existe au moins un enregistrement MX pour le domaine interrogé ou spécifié et que cet enregistrement MX contient un enregistrement PTR avec un FQDN pour l’adresse IP de l’expéditeur. ptrptr:<domain>

Modificateurs de syntaxe des enregistrements SPF

Dans la syntaxe des enregistrements SPF, les modificateurs peuvent être utilisés pour changer le comportement par défaut d’un enregistrement SPF. Les modificateurs peuvent être utilisés pour spécifier des exceptions aux règles, ou ils peuvent être utilisés pour fournir des informations supplémentaires au récepteur.

Modificateur Objectif Mise en œuvre
exp Le modificateur “exp” est une valeur qui spécifie une explication de la raison pour laquelle un message a été rejeté. Il est destiné à aider les expéditeurs à éviter certains types de problèmes, et peut être utilisé pour les informer de la raison spécifique pour laquelle leur message n’a pas été accepté par le serveur récepteur. exp=<domain>
rediriger Le modificateur de redirection est une chaîne qui remplace le nom de domaine entier dans l’enregistrement SPF. L’objectif de ce modificateur est de rediriger tout le courrier envoyé au domaine vers un autre serveur. Cela peut être utile pour les domaines ayant plusieurs enregistrements MX ou pour les domaines qui ont été réattribués à une autre société mais qui utilisent toujours les mêmes adresses électroniques. redirect=<domain>

Conclusion

L’enregistrement SPF est une partie importante des enregistrements DNS de votre domaine. Il indique aux autres serveurs de messagerie comment authentifier les messages qui prétendent provenir de vous, ce qui signifie qu’il est important pour vous d’avoir un enregistrement SPF correctement configuré. Toutefois, assurez-vous de coupler SPF avec DMARC pour une protection renforcée contre la compromission et l’usurpation d’adresses électroniques.

Le site outil de recherche d’enregistrements SPF peut vous aider à le faire. Le générateur vous permettra de créer une syntaxe d’enregistrement SPF à partir de zéro, avec tous les champs requis, afin de pouvoir l’ajouter immédiatement à vos enregistrements DNS.