Назад | Перейти на главную страницу

SPF включает: слишком много IP-адресов

Я столкнулся с проблемой с SPF. Запись SPF для моего домена будет содержать четыре или пять записей, плюс она будет содержать: include: sgizmo.com

Запись SPF для sgizmo.com содержит одиннадцать записей! Это, плюс мой, намного больше десяти, разрешенных RFC (и, вероятно, большинством серверов). Я понимаю, что должен быть предел, чтобы предотвратить DoS-атаки. Однако в реальном мире, вероятно, для крупных компаний вполне разумно иметь много адресов серверов.

Кроме того, должен ли я следить за своими «включенными» аналогами на предмет изменений и дополнений? Должен ли я проверять еженедельно, ежедневно, чтобы убедиться, что какая-то комбинация изменений внезапно не перебьет меня? Мне не кажется, что SPF подходит для прайм-тайма.

Есть другой способ сделать это?

Если вы достигли предела для записей SPF, возможно, вы делаете что-то не так. Рассмотрите возможность использования:

  • ярлык "а"
  • ярлык "mx"
  • Подсети

Очень распространенная тактика - перечислить все ваши потенциальные почтовые обменники как записи MX для этого домена, но с очень высоким приоритет число. Поскольку MX для домена выбираются в порядке от самого низкого до самого высокого, это означает, что сервер никогда не будет выбран для получить трафик, но будет указан как разрешенный для Отправить трафик. Это улучшает доставляемость даже для пунктов назначения, которые не поддерживают SPF. Только не забудьте включить "mx" в свой список SPF.

Почему вы вообще включаете IP-адреса?

Вы можете включать сети, доменные имена, записи mx - нет необходимости вводить отдельный IP-адрес.

RFC 7208 заявляет, что количество запросов DNS ограничено 10. Следовательно, если ваша запись SPF содержит 5 IP-адресов, а sgizmo включает 11, вы можете получить эту информацию только с помощью 2 запросов DNS. Один запрос к вашему DNS для записи SPF и один запрос к sgizmo для их записи SPF. Имейте в виду, что исходный запрос SPF не учитывается в сумме 10.

Вы можете быть сбиты с толку RFC 7208 § 4.6.4 где говорится:

Следующие термины вызывают запросы DNS: механизмы «include», «a», «mx», «ptr» и «exists», а также модификатор «redirect». Реализации SPF ДОЛЖНЫ ограничить общее количество этих терминов до 10 во время оценки SPF, чтобы избежать неоправданной нагрузки на DNS.

Это не означает, что ваша запись SPF может содержать только 10 элементов. Это означает, что обработка SPF должна вызывать не более 10 запросов DNS. Например, следующая запись SPF содержит только 2 термина, но включает 254 IP-адреса и включает в общей сложности 265 адресов:

v=spf1 ip4:123.123.123.2/24 include:sgizmo.com -all

Это всего 2 DNS-запроса, и первый не считается. Если у вас также есть веб-сервер и 5 MX (почтовых серверов), вы можете сделать следующее:

v=spf1 mx a ip4:123.123.123.2/24 include:sgizmo.com -all

Поскольку условия MX и A требуют поиска DNS, они считаются двумя дополнительными DNS-запросами. Поскольку вы можете получить полный список записей MX в одном запросе DNS, указанный выше SPF доведет количество запросов DNS до 3 из 10 и будет включать 271 адрес.

Чтобы разобраться в вашей проблеме, давайте посмотрим на следующую запись SPF:

v=spf1 ip4:123.123.123.2 ip4:123.123.123.4 ip4:123.123.123.6 ip4:123.123.123.8 ip4:123.123.123.10 include:sgizmo.com -all

Это включает 7 терминов, но только для включения требуется запрос DNS. Это означает, что это добавит 16 серверов к вашей действительной проверке SPF и будет засчитываться как 1 поиск DNS из 10, поскольку условия ip4 не требуют каких-либо DNS-запросов для их разрешения.

Вы абсолютно правы, это досадный предел в SPF, и вы не делаете ничего плохого.

Фактически, у sgizmo.com ужасный показатель SPF. Сам по себе он учитывает 10 запросов DNS, поэтому добавление его к вашей собственной записи приведет к тому, что ваш SPF будет на 11, и, следовательно, будет сломан SPF. Получающие почтовые серверы отклонят вашу запись SPF в целом, и, если вы настроили политику DMARC (отклонение), ваши электронные письма вполне могут быть отброшены.

Вы можете проверить состояние записи SPF на https://dmarcian.com/spf-survey/ или в https://MXToolbox.com или многие другие инструменты.

Однако на веб-сайте SurveyGizmo указано, что если вы пользуетесь их услугами и вам нужно добавить их в SPF, вы должны использовать app.sgizmo.com для включения, который включает только IP-адреса. Так что в итоге только один дополнительный поиск в вашей собственной записи SPF. Но представьте, что от вашего имени отправляют 20 таких поставщиков!

Что касается вашего вопроса о мониторинге вашей записи SPF, вам, безусловно, нужно отслеживать свою запись и количество запросов DNS, включая все включения и включения. Вы можете написать простой скрипт или время от времени посещать вышеупомянутые инструменты.

Более постоянным решением была бы отправка электронных писем от сторонних поставщиков с поддомена (Sursys.yourdomain.com). Некоторое программное обеспечение также позволяет вам устанавливать альтернативный путь возврата / адрес возврата в ваших электронных письмах. SPF всегда проверяется в почтовом домене Return-Path, если он присутствует.

Надеюсь, это поможет.

Поправьте меня, если я ошибаюсь, но я думал, что это всего 10 поисков DNS. Я не думал, что IP-адреса здесь учитываются.

Похоже, что на sgizmo.com их всего 5: sgizmo.com, a, mx, emailsrvr.com и support.zendesk.com.