¿Está bien tener múltiples registros TXT para un solo dominio que contenga diferentes entradas SPF?

17

Un dominio de destinatario remoto está rechazando el correo por SPF y creo que es porque el remitente ha configurado SPF incorrectamente.

Cuando corro cavar, veo:

[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

¿Es esta una configuración válida? Me parece extraño que haya dos registros separados (cada uno con fallas duras). ¿No debería estar todo en un solo registro?

Esperaría que el registro TXT adecuado sea:

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

Mike B
fuente

Respuestas:

20

No. Tienes razon. Ver RFC 4408, sección 4.5 .

  1. Los registros que no comienzan con una sección de versión exactamente "v = spf1" se descartan. Tenga en cuenta que la sección de versión finaliza con un carácter SP o al final del registro. Un registro con una sección de versión de "v = spf10" no coincide y debe descartarse.

  2. Si hay registros del tipo SPF en el conjunto, se descartan todos los registros del tipo TXT.

    Después de los pasos anteriores, debe haber exactamente un registro restante y la evaluación puede continuar. Si quedan dos o más registros, check_host () sale inmediatamente con el resultado de "PermError".

    Si no se devuelven registros coincidentes, un cliente SPF DEBE asumir que el dominio no hace declaraciones SPF. El procesamiento SPF DEBE detenerse y
    devolver "Ninguno".

dmourati
fuente
2
A partir de abril de 2014, hay RFC 7208, que obsoleto RFC 4408. Los registros de tipo SPF han quedado en desuso a favor de los de tipo TXT SPF records MUST be published as a DNS TXT (type 16) Resource Record (RR) [RFC1035] only.(ver RFC 7208, sección 3.1 ). Voy a probar una nueva respuesta basada en esto.
JHoffmann
4

Esta configuración de SPF no es válida. En caso de que se encuentren múltiples registros, la selección de registros debería producir un error como resultado. Consulte RFC 7208, sección 4.5 para seleccionar registros:

Si el conjunto de registros resultante incluye más de un registro, check_host () produce el resultado "permerror".

JHoffmann
fuente