Курс администрирования DNS · Урок 8/11

SPF подробно

Лимит SPF в 10 DNS-запросов (RFC 7208 §4.6.4) — самая частая реальная причина отказа SPF: записи органически разрастаются по мере добавления новых сервисов, незаметно превышают лимит, и SPF начинает возвращать permerror для всех — часто незамеченным месяцами.

«Чем больше include: — тем надёжнее защита». На самом деле каждый дополнительный include:, a, mx, ptr, exists, redirect стоит один запрос из лимита в 10. Превышение лимита не делает политику строже — оно полностью ломает проверку SPF.

Лабораторное окружение не обязательно:

  • marinadns.io/mailauth — проверяет вашу SPF-запись и подсчитывает число DNS-запросов.
  • NODA (noda.marinadns.io) — SPF Lookup Limit Check (CAT-MAIL) автоматизирует именно эту проверку.

Для ручного разбора записи термин за термином и симуляции превышения лимита — см. Урок 8 на странице Лабораторное окружение курса.

# Прочитайте текущую SPF-запись
dig yourdomain.com TXT +short | grep spf1

# Подсчитайте запросы вручную — каждый из этих механизмов стоит 1 запрос: include, a, mx, ptr, exists, redirect
# (единой команды dig для этого нет — разбирайте запись термин за термином)

# Проверьте реальным SPF-валидатором (инструмент /mailauth на MarinaDNS делает именно это)
# либо вручную разрешите каждую цель 'include:', подсчитывая вложенные include

# Симулируйте превышение лимита: добавьте достаточно механизмов include:, чтобы превысить 10, затем проверьте на permerror
# через реальную тестовую отправку (mail-tester.com или аналог) или специализированный инструмент подсчёта SPF-запросов

Исправляйте через «уплощение» (замена include: на его разрешённые IP-диапазоны напрямую, принимая компромисс по обслуживанию) или удаление неиспользуемых include — никогда не полагайтесь на то, что количество останется под 10 по мере добавления новых сервисов.

Вы должны уметь объяснить, не подглядывая:

  • Какие механизмы SPF расходуют лимит в 10 запросов.
  • Почему «плоская» (flattened) запись — это компромисс, а не универсальное решение.
  • Почему домен, вообще не отправляющий почту, всё равно должен публиковать v=spf1 -all.

Если можете ответить на всё без подсказок — переходите к Уроку 9.


Попрактикуйтесь с инструментами

← Курс администрирования DNS Лабораторное окружение