Aller au contenu

Convertir un enregistrement SPF en TXT dont la valeur > 255 car


Messages recommandés

Bonjour,

J'ai à ce jour un enregistrement SPF qui fonctionne très bien (10/10 avec mail--tester.com) et je souhaiterai le convertir en un enregistrement TXT afin d'être conforme à la RFC7208. Malheureusement la chaîne de paramètres à une longueur supérieure à 255 caractères ce qui n'est pas compatible avec le format maxi accepté pour un enregistrement TXT. J'ai regardé sur Wikipédia et ici mais cela n'a pas été d'un grand secours.

Mon SPF :

ndd.tld.  0  SPF "v=spf1 a mx a:ndd.tld ip4:80.12.242.123 ip4:80.12.242.124 ip4:80.12.242.125 ip4:80.12.242.126 ip4:80.12.242.127 ip4:80.12.242.128 ip4:80.12.242.129 ip4:80.12.242.130 ip4:80.12.242.131 ip4:80.12.242.132 ip4:80.12.242.133 ip4:80.12.242.134 include:mx.ovh.com -all"

D'où mes questions :

  • Quelle syntaxe doit-on employer pour faire cette conversion ?
  • Peut-on scinder en deux la chaîne de paramètres pour obtenir deux enregistrements TXT "complémentaires" ? Quelle syntaxe faut-il utiliser alors si ce dernier cas de figure est possible ?

Par ailleurs @PiwiLAbruti suggère en bonne pratique la syntaxe suivante, je le cite :

Le 14/06/2020 à 09:21, PiwiLAbruti a dit :

D'où la bonne pratique de le faire même si vous ne possédez qu'un seul domaine pour anticiper l'acquisition d'autres domaines ultérieurement :


spf.domainA.tld TXT "v=spf1 mx -all"
domainA.tld TXT "v=spf1 redirect=spf.domainA.tld"

Enfin, ne devrait-on pas plutôt écrire "_spf.ndd.tld TXT "v=spf1 mx -all" avec l'ajout d'un "_" devant spf à l'image de ce que l'on fait pour un enregistrement DMARC à savoir "_dmarc.ndd.tld. 0 TXT  "v=DMARC1; etc..."  ?

Merci de vos réponses.

Cordialement

oracle7😉

Mon SPF

Lien vers le commentaire
Partager sur d’autres sites

C'est quoi la syntaxe d'un enregistrement TXT pour spf ?

spf.domain.tld TXT "v=… ce qu'il y a dans l'enreg SPF"

Et alors on peut supprimler l'enregistrement SPF ?

maj: @oracle7 je viens de voir sur ce lien ici que l'enregistrement TXT de SPF commence comme tu le suggérais par _spf.domain.tld (exemple de google)

Maj 2 @oracle7: _spf. ou spf. ma note a chuté car il trouve que je suis plus authentifié et que mon enreg DMARC de va plus ! je vais remettre comme avant un enreg SPF

@alan.dub il est comment ton enreg TXT pour SPF ?

Lien vers le commentaire
Partager sur d’autres sites

@Thierry94

Bonjour,

Finalement en fouillant la toile j'ai trouvé la réponse à ma question.

En fait il semble qu'il ait deux façons de faire :

  1. On convertit la plage d'@IPv4 sous forme de plage en utilisant la notation Classless Inter-Domain Routing (CIDR). Cette notation permet d'attribuer plus efficacement les adresses IP et facilite et rend plus souple l'identification des adresses IP et l'acheminement du trafic réseau. C'est une représentation compacte d'une adresse IP et de son préfixe de routage associé. Cette notation est constituée d'une adresse IP, d'une barre oblique (/) et d'un chiffre décimal. Voici un outil qu'il est conseillé d'utiliser pour réaliser ce "compactage" : IP Address Guide.
    Donc grâce à cet outil, j'ai pu "compacter" ma plage d'@IP et du coup la longueur de la chaîne de paramètres passe sous la barre fatidique des 255 car.
    Au final la conversion de mon SPF en TXT donne cela :

    ndd.tld.  0  TXT "v=spf1 a mx a:ndd.tld ip4:80.12.142.123/32 ip4:80.12.142.124/30 ip4:80.12.142.128/30 ip4:80.12.142.132/31 ip4:80.12.142.134/32 include:mx.ovh.com -all"

  2. On peut aussi, si l'on ne veut pas "compacter" la plage d'@IP (par soucis de lisibilité par exemple), scinder l'enregistrement SPF en 2 enregistrements TXT. Cela donne cela :

    ndd.tld.  0  TXT "v=spf1 a mx a:ndd.tld ip4:80.12.242.123 ip4:80.12.242.124 ip4:80.12.242.125 ip4:80.12.242.126 ip4:80.12.242.127 ip4:80.12.242.128 ip4:80.12.242.129 ip4:80.12.242.130 include:spf2.ndd.tld -all"
    spf2ndd.tld.  0  TXT " ip4:80.12.242.131 ip4:80.12.242.132 ip4:80.12.242.133 ip4:80.12.242.134 include:mx.ovh.com -all"

Après cette conversion, on peut supprimer l'enregistrement SPF initial de la Zone DNS et ajouter l'une ou l'autre version des enregistrements TXT ci-dessus.

De fait, ensuite on est conforme à la norme RFC7208 que je rappelle ci-après pour mémoire :

Citation

Les enregistrements SPF (Sender Policy Framework) servent à spécifier les serveurs de messagerie qui peuvent envoyer des e-mails pour un nom de domaine. Il est important de configurer correctement les enregistrements SPF pour éviter que des destinataires les marquent comme courrier indésirable.

Les RFC sur DNS ont initialement introduit un type d’enregistrement SPF pour prendre en charge ce scénario. Pour prendre en charge des serveurs de noms plus anciens, elles autorisaient également l’utilisation du type d’enregistrement TXT pour spécifier les enregistrements SPF. Cette ambiguïté a entraîné une certaine confusion qui a été résolue par la norme RFC 7208. Elle stipule que les enregistrements SPF doivent être créés à l’aide du type d’enregistrement TXT. Elle stipule également que le type d’enregistrement SPF est déprécié.

@Thierry94 Du coup je me demande si ton problème, objet du présent post, ne viendrait pas de là. C'est à dire l'usage d'un SPF "pur" en lieu et place d'un SPF version TXT conforme à la norme suscitée. Car il s'avère d'après des témoignages lus sur la toile que certains sites (récents) en application de la RFC7208 ignorent les enregistrements SPF "purs" donc s'ils ne sont pas au format TXT . Du coup cela pourrait expliquer la "perte" de tes MAIL avec certains serveurs. Ce n'est que mon interprétation, elle vaut ce qu'elle vaut, je peux me tromper et être complétement à coté de la plaque ... Ton avis ?

Cordialement

oracle7😉

 

 

 

 

Lien vers le commentaire
Partager sur d’autres sites

@Thierry94

Bah en fait, je ne sais pas trop. Ce que j'ai mis dans ma réponse précédente est à l'image de ce que j'ai pu trouver dans mes recherches sur la toile.

Du coup ce serait bien si @PiwiLAbruti passait par ici pour nous éclairer de sa lanterne avisée et confirmer ou non ce point précis de syntaxe.

Cordialement

oracle7😉

 

Lien vers le commentaire
Partager sur d’autres sites

En guise de premier retour :

  • Avec la première syntaxe :
    Citation

    ndd.tld.  0  TXT "v=spf1 a mx a:ndd.tld ip4:80.12.142.123/32 ip4:80.12.142.124/30 ip4:80.12.142.128/30 ip4:80.12.142.132/31 ip4:80.12.142.134/32 include:mx.ovh.com -all"


    semble poser problème : l'@IP du serveur SMTP n'a pas été décodée de la chaîne CIDR et conséquence note de 6,3/10 au test mail-tester.com.
     
  • Avec la seconde syntaxe :
    Citation

    ndd.tld.  0  TXT "v=spf1 a mx a:ndd.tld ip4:80.12.242.123 ip4:80.12.242.124 ip4:80.12.242.125 ip4:80.12.242.126 ip4:80.12.242.127 ip4:80.12.242.128 ip4:80.12.242.129 ip4:80.12.242.130 include:spf2.ndd.tld -all"
    spf2.ndd.tld.  0  TXT " ip4:80.12.242.131 ip4:80.12.242.132 ip4:80.12.242.133 ip4:80.12.242.134 include:mx.ovh.com -all"


    pose aussi problème : au contrôle de l'enregistrement TXT SPF le répertoire "spf2.ndd.tld" n'a pas été trouvé.
    Pour que le contrôle soit bon il faut rajouter "v=spf1" en début de chaîne tel que :
    Citation

    spf2.ndd.tld.  0  TXT "v=spf1 ip4:80.12.242.131 ip4:80.12.242.132 ip4:80.12.242.133 ip4:80.12.242.134 include:mx.ovh.com -all"

    Une fois cette correction faite, le test "mail-server.com" a pour résultat : 10/10.
    Donc au moins cette seconde syntaxe est validée.


@PiwiLAbruti aurais-tu une idée sur le 1er point ? Ce serait bien mieux de pouvoir utiliser cette 1ère syntaxe car elle est plus courte que la seconde qui nécessite elle en plus, 2 requêtes DNS pour aboutir alors que la première n'en nécessite qu'une.

Cordialement

oracle7😉

 

Lien vers le commentaire
Partager sur d’autres sites

@Thierry94

il y a 4 minutes, Thierry94 a dit :

au cas ou j'ai laissé l'enreg SPF équivalent

Désolé mais c'est une mauvaise idée.

Tu ne peux avoir qu'un seul enregistrement actif pour SPF. Soit le SPF "pur" soit le SPF version TXT.

Sinon les contrôles vont simplement les ignorer et cela se passera comme si tu n'avais pas de SPF et donc rejet des MAILs.

Cordialement

oracle7😉

Lien vers le commentaire
Partager sur d’autres sites

Il y a 10 heures, oracle7 a dit :

Peut-on scinder en deux la chaîne de paramètres pour obtenir deux enregistrements TXT "complémentaires" ? Quelle syntaxe faut-il utiliser alors si ce dernier cas de figure est possible ?

C'est possible en utilisant l'instruction include (mais tu l'as déjà trouvé tout seul).

Il y a 10 heures, oracle7 a dit :

Enfin, ne devrait-on pas plutôt écrire "_spf.ndd.tld TXT "v=spf1 mx -all" avec l'ajout d'un "_" devant spf à l'image de ce que l'on fait pour un enregistrement DMARC à savoir "_dmarc.ndd.tld. 0 TXT  "v=DMARC1; etc..."  ?

Ça n'a aucune importance, on pourrait très bien créer un enregistrement jemetsnimportequoi.domain.tld et l'inclure dans l'enregistrement SPF principal.

Il y a 5 heures, oracle7 a dit :

l'@IP du serveur SMTP n'a pas été décodée de la chaîne CIDR

Je ne comprends pas ce que tu veux dire.

Et c'est quoi toutes ces adresses IP ?

Citation

ip4:80.12.142.123/32 ip4:80.12.142.124/30 ip4:80.12.142.128/30 ip4:80.12.142.132/31 ip4:80.12.142.134/32

Comme la plupart d'entre elles sont contigües, ça pourrait s'écrire plus succinctement ip4:80.12.142.120/29 ip4:80.12.142.128/29, ce qui correspond à la plage 80.12.142.[120-135].

S'il s'agit d'adresses IP dynamiques, la plage correspondante chez Orange est 80.8.0.0/13. Ça fait un paquet d'adresses (524 288 au total), donc on va s'abstenir de l'utiliser dans le SPF (même si le risque d'usurpation peut être considéré comme mineure pour un particulier).

Lien vers le commentaire
Partager sur d’autres sites

@PiwiLAbruti

Bonjour,

Merci de tes réponses.

Il y a 14 heures, PiwiLAbruti a dit :
Il y a 20 heures, oracle7 a dit :

l'@IP du serveur SMTP n'a pas été décodée de la chaîne CIDR

Je ne comprends pas ce que tu veux dire.

Et c'est quoi toutes ces adresses IP ?

Citation

ip4:80.12.142.123/32 ip4:80.12.142.124/30 ip4:80.12.142.128/30 ip4:80.12.142.132/31 ip4:80.12.142.134/32

Comme la plupart d'entre elles sont contigües, ça pourrait s'écrire plus succinctement ip4:80.12.142.120/29 ip4:80.12.142.128/29, ce qui correspond à la plage 80.12.142.[120-135].

Je vais essayé d'être clair.

  1. Pour que mon relais SMTP  soit authentifié pour utiliser mon @MAIL lors du test de SPF, il faut que j'indique toutes les @IP sur lesquelles le relais SMTP répond. Dans le cas de "smtp.orange.fr", celui-ci utilise 10 @IP contigües dans la plage 80.12.142.123 à 134.
    Le problème est que si je prends individuellement chacune de ces @IP avec un "ip4:80.12.142.x", j'obtiens une chaîne de paramètres qui s'avère trop longue (> 255 car) pour être incluse directement dans un enregistrement de type TXT.
    L'astuce est donc de "compacter" ces 10 @IP avec la notation CIDR ce qui ne donne plus que : voir la seconde citation ci-avant. Du coup la chaîne de paramètres s'en trouve bien réduite à moins de 255 car et est donc compatible d'un enregistrement TXT.
     
  2. Voilà pour les @IP, maintenant et je comprends que tu n'ai pas compris mon propos mal exprimé et mal formulé (voir première citation ci-avant). Alors que cette syntaxe raccourcie passe bien le test SPF, le problème est que "mail-tester.com" a dégrader ma note de 10/10 en 6,3/10 parce qu'il n'a pas trouvé dans la liste d'@IP compactées CIDR l'@IP du serveur SMTP (80.12.142.131) qui a répondu lors de l'envoi du mail de test. Et cela bien que cette @IP figure pourtant dans la liste compactée. Tu me suis ?
    D'où ma question initiale, sais-tu éventuellement pourquoi cette @IP n'a pas été trouvée ?

Cordialement

oracle7😉

Lien vers le commentaire
Partager sur d’autres sites

Il y a généralement un nom d'hôte associé aux adresses IP de sortie d'un relais SMTP, ou mieux un enregistrement SPF incluant tout ce qu'il faut.

Dans le cas d'orange, ce nom est smtp.smtpout.orange.fr. Je n'ai pas trouvé le SPF mais il devrait exister.

On s'en fout mais j'explique quand même le jeu de piste : Il n'y a aucune règle de nommage de ces noms d'hôte. Dans le cas d'Orange j'ai juste fait une résolution inverse sur une des adresses que tu as indiquées, ce qui donne smtpxx.smtpout.orange.fr où xx est une numérotation séquentielle (01, 02 ,03, ..., 12, 13). En enlevant la numérotation, on trouve l'enregistrement principal. Une documentation officielle aurait été sympa, mais c'est Orange...

À partir de là, tu peux simplement ajouter ces adresses à ton SPF avec une instruction "a" :

ndd.tld.   60   SPF "v=spf1 mx a:smtp.smtpout.orange.fr include:mx.ovh.com -all"

 

Lien vers le commentaire
Partager sur d’autres sites

@PiwiLAbruti

Alors là BRAVO ! Mais c'est génial ce que tu me dis là 😃😃😃

Du coup ce la simplifie encore plus l'enregistrement TXT pour le SPF. Je vais de ce pas tester cela.

Pour le jeu de pistes, j'ai déjà vu cela avec la mécanique Google, donc avec Orange je suppose que c'est le même principe.

Énorme MERCI.

Cordialement

oracle7😉

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.