Можно ли иметь несколько записей TXT для одного домена, содержащего разные записи SPF?

17

Удаленный домен получателя отклоняет почту на основании SPF, и я думаю, что это потому, что отправитель настроил SPF неправильно.

Когда я бегу копать, я вижу:

[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

Это действительная установка? Мне кажется странным, что есть две отдельные записи (каждая с большими сбоями). Разве все не должно быть в одной записи?

Я ожидаю, что правильная запись TXT будет:

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

Майк Б
источник

Ответы:

20

Нет, ты прав. См. RFC 4408, раздел 4.5 .

  1. Записи, которые не начинаются с раздела версии точно "v = spf1", отбрасываются. Обратите внимание, что раздел версии заканчивается либо символом SP, либо концом записи. Запись с разделом версии "v = spf10" не совпадает и должна быть отброшена.

  2. Если в наборе есть какие-либо записи типа SPF, то все записи типа TXT отбрасываются.

    После описанных выше шагов должна остаться ровно одна запись, и оценка может быть продолжена. Если осталось две или более записей, то check_host () немедленно завершается с результатом «PermError».

    Если соответствующие записи не возвращаются, клиент SPF ДОЛЖЕН предположить, что домен не делает объявлений SPF. Обработка SPF ДОЛЖНА останавливаться и
    возвращать «Нет».

dmourati
источник
2
По состоянию на апрель 2014 года существует RFC 7208, который устарел RFC 4408. Записи типа SPF устарели в пользу записей типа TXT SPF records MUST be published as a DNS TXT (type 16) Resource Record (RR) [RFC1035] only.(см. RFC 7208, раздел 3.1 ). Я собираюсь попробовать новый ответ, основанный на этом.
JHoffmann
4

Эта настройка SPF недопустима. Если найдено несколько записей, выбор записи должен привести к ошибке в результате. См. RFC 7208, раздел 4.5 о выборе записей:

Если результирующий набор записей включает в себя более одной записи, check_host () выдает результат «permerror».

JHoffmann
источник