Est-il OK d'avoir plusieurs enregistrements TXT pour un seul domaine contenant différentes entrées SPF?

17

Un domaine destinataire distant rejette le courrier pour des raisons de SPF et je pense que c'est parce que l'expéditeur a SPF configuré de manière incorrecte.

Quand je lance creuser, je vois:

[fooadm@box ~]# dig @8.8.8.8 -t TXT foosender.com

; <<>> DiG 9.3.6-P1-RedHat-9.3.6-20.P1.el5_8.6 <<>> @8.8.8.8 -t TXT foosender.com
; (1 server found)
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 30608
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;foosender.com.              IN      TXT

;; ANSWER SECTION:
foosender.com.       14039   IN      TXT     "v=spf1 include:spf.foo1.com -all"
foosender.com.       14039   IN      TXT     "v=spf1 include:_spf.bob.foo2.com -all"

;; Query time: 26 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Tue Jan  7 09:45:38 2014
;; MSG SIZE  rcvd: 146

Est-ce une configuration valide? Il me semble étrange qu'il existe deux enregistrements distincts (chacun avec des échecs durs). Tout ne devrait-il pas être dans un seul enregistrement?

Je m'attendrais à ce que le bon enregistrement TXT soit:

v=spf1 include:spf.foo1.com include:_spf.bob.foo2.com -all

Mike B
la source

Réponses:

20

Tu as raison. Voir RFC 4408, section 4.5 .

  1. Les enregistrements qui ne commencent pas par une section de version exactement "v = spf1" sont supprimés. Notez que la section de version se termine soit par un caractère SP, soit par la fin de l'enregistrement. Un enregistrement avec une section de version "v = spf10" ne correspond pas et doit être supprimé.

  2. Si des enregistrements de type SPF figurent dans l'ensemble, tous les enregistrements de type TXT sont supprimés.

    Après les étapes ci-dessus, il doit rester exactement un enregistrement et l'évaluation peut continuer. S'il reste deux enregistrements ou plus, check_host () se ferme immédiatement avec le résultat de "PermError".

    Si aucun enregistrement correspondant n'est renvoyé, un client SPF DOIT supposer que le domaine ne fait aucune déclaration SPF. Le traitement SPF DOIT s'arrêter et
    retourner "Aucun".

dmourati
la source
2
Depuis avril 2014, il existe la RFC 7208 qui rend obsolète la RFC 4408. Les enregistrements de type SPF ont été déconseillés au profit de ceux de type TXT SPF records MUST be published as a DNS TXT (type 16) Resource Record (RR) [RFC1035] only.(voir RFC 7208, section 3.1 ). Je vais essayer une nouvelle réponse basée sur cela.
JHoffmann
4

Cette configuration SPF n'est pas valide. Si plusieurs enregistrements sont trouvés, la sélection d'enregistrements devrait produire une erreur en conséquence. Voir RFC 7208, section 4.5 sur la sélection des enregistrements:

Si l'ensemble d'enregistrements résultant comprend plusieurs enregistrements, check_host () produit le résultat "permerror".

JHoffmann
la source