Перейти к содержимому
Справочник

Что такое SPF

SPF перечисляет серверы, которым разрешено отправлять почту от имени вашего домена. Как его составить, что ломает лимит в 10 запросов и почему одного SPF мало.

2 минуты чтения

Коротко

SPF (Sender Policy Framework) — это список серверов, которым разрешено отправлять почту от имени вашего домена. Список публикуется как TXT-запись в DNS, а принимающий сервер при доставке сверяется с ним: «письмо пришло с этого адреса — он здесь есть?»

Как выглядит запись

v=spf1 include:_spf.google.com include:spf.protection.outlook.com ~all

Читается слева направо:

  • v=spf1 — версия, с которой начинается любая запись SPF.
  • include: — «серверы этого сервиса тоже мои». Самый распространённый механизм: сервисы сами поддерживают свои списки адресов.
  • ip4: / ip6: — конкретный адрес или подсеть, если вы отправляете почту со своего сервера.
  • ~all или -all — что делать со всем, что в список не попало.

Последний элемент важен:

Квалификатор Значение Когда использовать
~all Softfail — «скорее всего чужое, но пропустите» Пока вы не уверены, что перечислили всех отправителей
-all Fail — «чужое, отклоняйте» Когда список полон и проверен
+all Разрешить всем Никогда. Это отменяет смысл SPF

Два правила, на которых спотыкаются чаще всего

Одна запись на домен. Две отдельные записи v=spf1 — гарантированный сбой проверки, независимо от их содержимого. Новый сервис добавляется ещё одним include: в существующую запись, а не отдельной строкой в DNS.

Не больше 10 DNS-запросов. Каждый include:, a, mx и redirect тратит как минимум один запрос, а вложенные include: тратят свои. Почта плюс CRM плюс хелпдеск плюс сервис рассылок — и лимит исчерпан. При превышении проверка возвращает permerror, и SPF перестаёт работать полностью: даже перечисленные явно серверы больше не считаются разрешёнными.

Посчитать запросы и собрать корректную запись поможет генератор SPF.

Чего SPF не умеет

Три ограничения, из-за которых SPF сам по себе не защищает домен:

  1. SPF проверяет технический адрес, а не тот, который видит человек. Проверяется домен из обратного пути (Return-Path), а в почтовом клиенте видно поле From:. Это разные вещи, и у злоумышленника может быть безупречный SPF по собственному домену при вашем домене в From:. Закрывает этот разрыв только согласование DMARC.

  2. SPF ломается при пересылке. Если получатель настроил пересылку, письмо отправляет уже сервер-посредник — его адреса в вашем списке нет, и проверка проваливается. Это нормальное поведение протокола. Именно поэтому в паре с SPF нужен DKIM, подпись которого пересылку переживает.

  3. SPF ничего не говорит о том, что делать с письмом. Он лишь возвращает результат. Инструкцию для принимающего сервера задаёт DMARC.

Порядок действий

  1. Составьте список всех сервисов, которые отправляют почту от вашего имени.
  2. Соберите из них одну запись SPF, удерживаясь в пределах десяти запросов.
  3. Пока не уверены в полноте списка, оставьте ~all.
  4. Когда отчёты DMARC подтвердят, что легитимных источников вне списка нет, переходите на -all.

Посмотреть текущую запись SPF своего домена можно бесплатной проверкой.

ShareX / TwitterLinkedIn
Бесплатный старт · 14 дней пробного периода · отмена в любой момент

От подделки — к блокировке.

p=none
5 минут
p=quarantine
2-я неделя
p=reject
4–6-я неделя

Оплата — после завершения 14-дневного пробного периода · отмените раньше, и списания не будет