web-dev-qa-db-fra.com

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

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 Dig, 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 y ait 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 TXT record soit:

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

17
Mike B

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 version se termine par un caractère SP ou la fin de l'enregistrement. Un enregistrement avec une section version de "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 ignoré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
    renvoie "Aucun".

20
dmourati

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".

4
JHoffmann