Что делает "-all" во включенной (вторичной) записи SPF?

В записи SPF -all опция означает: "Я внесу в белый список только те машины / домены, которые я перечислю здесь, и никакие другие серверы не могут отправлять электронную почту для этого домена".

Так что же это значит, когда кто-то использует include: параметр в записи SPF, чтобы включить вторую запись SPF, и эта вторичная запись SPF имеет -all? Каково влияние этого там?

3 ответа

Механизм включения запускает рекурсивную оценку для включенной записи. Если эта оценка завершится неудачно (например, по -all во включенной записи), результат механизма включения будет считаться "Не совпадает". Таким образом, на практике механизм -all (или любой другой механизм с квалификатором -) во включенной записи SPF не влияет на оценку первичной записи.

Полный обзор того, как механизм включения влияет на оценку первичной записи, можно увидеть в таблице в разделе 5.2 RFC 7208 ( https://tools.ietf.org/html/rfc7208)

Для прохождения проверки SPF отправляющий IP-адрес должен пройти хотя бы один из механизмов. Механизмы включения проверяют входящий IP-адрес, используя включенную запись SPF, и "возвращают" результат.

Используя ваш пример:

a.example.com    IN TXT "v=spf1 include:b.example.com +all"
b.example.com    IN TXT "v=spf1 -all"

Включенная запись вернет ошибку, так как она содержит только -all механизм. Тем не менее, первая запись пройдет, потому что она имеет +all механизм.

Используя более подробный пример:

a.example.com            IN TXT "v=spf1 ip4:1.2.3.4 mx include:spf.example.org -all"
a.example.com            IN MX  0 mailserver.example.com
mailserver.example.com   IN A   1.2.3.5
spf.example.org          IN TXT "v=spf1 ip4:4.3.0.0/16 -all"

Я запишу результаты каждого механизма в том же порядке, в котором они указаны в записи. Итак, результаты будут отформатированы так:

  • a.example.com: [ip4] [mx] [include] [-all]
  • spf.example.org: [ip4] [-all]

Со следующими адресами отправителя:

1.2.3.4

  • spf.example.org -> fail fail
  • a.example.com -> pass fail fail fail

Окончательный результат будет passтак как хотя бы одна проверка пройдена

1.2.3.5

  • spf.example.org -> fail fail
  • a.example.com -> fail pass fail fail

Окончательный результат будет passтак как хотя бы одна проверка пройдена

4.3.10.20

  • spf.example.org -> pass fail
  • a.example.com -> fail fail pass fail

Окончательный результат будет passтак как хотя бы одна проверка пройдена

TL;DR: механизм включения оценивается отдельно, а результат возвращается к оценке записи, которая его включила. Оценка записи не выполняется, если не найдено ни одного механизма Так как вы закончили свой пример с +all, он всегда будет совпадать и, следовательно, пройдет.

-all в конце интерпретируется после обработки любых включений.

Его цель - сообщить, как следует обрабатывать электронные письма, не отправленные через перечисленные ресурсы.

-all значит бросить их как подделки, а ~all означает, что они все еще могут быть законными и к ним следует относиться с большим подозрением.

Другие вопросы по тегам