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

Неизмененная запись SPF, но результаты проверки могут отличаться

Я управляю небольшим веб-сервером, и у меня возникли некоторые проблемы с правильной настройкой SPF / DMARC для домена. Я пытаюсь понять, почему проверка SPF иногда проходит, а иногда - нет. Это происходит при использовании одного и того же валидатора и когда в запись не было внесено никаких изменений. Это похоже на то, как если бы он с нескольких попыток читал разные записи из разных источников.

В этом примере я использую dmarcian.com в качестве валидатора SPF.

Если я захожу на сайт и использую Инструменты -> Проверка домена, иногда появляется сообщение «У вашего домена есть действующая запись SPF, а политика достаточно строгая». Если я нажимаю «Проверить домен» несколько раз (без возможности орфографической ошибки), иногда появляется сообщение «У вашего домена нет записи SPF». Почему я должен получить два разных результата по одной и той же проверке, если ничего не изменилось?

Провайдер - Arvixe (скоро сменится). Веб-сервер - это Windows VPS, а веб-сервер не является почтовым сервером. Мы платим за отдельную рассылку рассылки, хотя отправляем не очень много.

Я использую WebsitePanel для редактирования записей DNS. Записи SPF не поддерживаются, поэтому я использую запись TXT. Выглядит это так:

Имя: _spf Тип: TXT Данные: v = spf1 + a + mx + ip4: 207.210.200.162 + ip4: 143.95.68.96 ~ все

Домен: theiaicertification.org IP-адреса: 108.167.130.38 / 108.167.130.39 Почтовый сервер: 207.210.200.162 / 143.95.68.96

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

Оба авторитетных DNS-сервера дают одинаковый ответ на запрос записей TXT для домена, так что это тоже не проблема. Я вижу точный ответ:

theiaicertification.org. 86400  IN      TXT     "v=spf1 +a +mx +ip4:207.210.200.162 +ip4:143.95.68.96  ~all"

Здесь я хочу отметить несколько моментов.

Использование a и / или mx может быть проблематичным для почтового сервера только с IPv4. Это связано с тем, что у вас нет контроля над тем, какие IP-адреса нужно будет проверять по вашей записи SPF, поэтому ваша запись SPF должна соответствовать стандартам для проверки адресов IPv4 и IPv6. Существует ограничение на количество запросов DNS без ответа во время проверки записи SPF. Однако в вашем случае вы едва избежали этой ловушки.

Добавляя к каждой записи префикс + это не то, как обычно пишут записи SPF, но, похоже, работает.

Я проверил, что можно проверить IP-адреса на соответствие вашим записям SPF, используя Python-реализацию проверки spf:

>>> import spf
>>> spf.query('192.0.2.1', 'zjyjxstzenmpvhpm@theiaicertification.org', '').check()
('softfail', 250, 'domain owner discourages use of this host')
>>> spf.query('2001:db8::1', 'zjyjxstzenmpvhpm@theiaicertification.org', '').check()
('softfail', 250, 'domain owner discourages use of this host')
>>> 

Однако ни один из них не объясняет, почему вы видите разные результаты. Возможное объяснение разных результатов - кеширование. TTL для вашей записи TXT составляет 86400 секунд, что составляет 24 часа. Если вы недавно изменили его, и TTL также был 24 часа до этого, это может занять 24 часа, чтобы ваше изменение вступило в силу везде.

Я предполагаю, что служба, которую вы используете для проверки ваших записей SPF, имеет более одного рекурсивного преобразователя, и по крайней мере один из них кэшировал более старую версию вашей записи TXT.