Проверка SPF: кто может отправлять почту от имени этого домена?

SPF — это DNS-запись, в которой домен перечисляет серверы, которым разрешено отправлять его почту. Без неё, или если она сломана или слишком открыта, проще рассылать поддельные письма от имени этого домена. Введите домен, адрес электронной почты или ссылку, и мы прочитаем его SPF-запись и объясним её.

Как пользоваться

  1. Введите домен, который хотите проверить, или вставьте адрес электронной почты или ссылку: мы используем только домен.
  2. Нажмите «Проверить SPF». Мы прочитаем SPF-запись и пройдём по каждому include, как это сделал бы принимающий сервер.
  3. Посмотрите, чем заканчивается запись, и на число запросов: хорошо, если в конце стоит «-all» или «~all», а запросов 10 или меньше.

Что означает каждый результат

У этого домена нет SPF
Он не указывает, какие серверы могут отправлять его почту, поэтому его проще подделать. Если это ваш домен, опубликуйте SPF-запись.
В SPF-записи есть ошибки
Принимающие серверы не могут её применить, поэтому для них у домена нет SPF. Что не так, показывают сигналы ниже.
Кто угодно может отправлять почту от имени этого домена
Запись заканчивается на «+all», а это разрешение для всех серверов в мире. При такой настройке SPF ничего не защищает.
SPF защищает домен не полностью
Запись не говорит, что делать с серверами не из её списка, поэтому поддельные письма от имени домена не помечаются.
SPF настроен правильно
Домен перечисляет серверы, которые могут отправлять его почту, и просит принимающие серверы помечать или отклонять остальные. Сам по себе SPF не останавливает подделку: что делать принимающим серверам, говорит DMARC.

Что означает каждый сигнал

  • Домен не публикует SPF-запись.
  • Домен (этот или включённый) публикует больше одной SPF-записи. Допускается только одна, поэтому принимающие серверы считают это ошибкой.
  • В записи есть неправильно написанный элемент, поэтому принимающие серверы считают её ошибочной.
  • Записи нужно больше 10 DNS-запросов с учётом всех include. Если их больше 10, принимающие серверы считают запись ошибочной.
  • Один из include указывает на домен без SPF-записи, поэтому принимающие серверы считают запись ошибочной.
  • Механизмы include образуют цикл: домен в итоге включает сам себя.
  • Запись заканчивается на «+all»: любой сервер в мире может отправлять почту от имени этого домена.
  • Запись заканчивается на «?all»: она ничего не говорит о серверах не из списка, поэтому не защищает.
  • Запись заканчивается на «~all»: письма с других серверов помечаются как подозрительные, но не отклоняются. Это самая распространённая настройка.
  • В конце записи нет «all», поэтому серверы не из списка получают нейтральный результат и никакой защиты нет.
  • Запись использует «ptr» — медленный механизм, который стандарт не рекомендует. Многие принимающие серверы его пропускают.
  • Запись использует макросы (элементы с %), которые меняются для каждого письма, поэтому мы не можем проследить эту часть, и реальное число запросов может быть больше.

Какие страны охвачены

Работает с доменами из любой страны. Мы читаем запись так же, как принимающие серверы (RFC 7208): её механизмы, то, чем она заканчивается, каждый include и redirect (до 30 запросов) и число DNS-запросов при лимите в 10.

Мы читаем публичные DNS-записи домена. Если вы вводите адрес электронной почты или ссылку, из вашего браузера уходит только домен. Домен, который вы проверяете, не сохраняется.

Частые вопросы

Что такое SPF?

Sender Policy Framework — DNS-запись, в которой домен перечисляет серверы, которым разрешено отправлять его почту. Сервер, получивший письмо, проверяет, есть ли в этом списке сервер, который его доставил.

Что лучше: «-all» или «~all»?

«-all» просит принимающие серверы отклонять письма с серверов не из списка, а «~all» — помечать их как подозрительные. Оба варианта защищают, и многие домены используют «~all», оставляя решение за DMARC. «+all» и «?all» не защищают.

Почему важен лимит в 10 запросов?

Каждый include, a, mx, ptr, exists и redirect заставляет принимающий сервер обращаться к DNS. Если всей записи нужно больше 10 запросов, она считается ошибочной и SPF перестаёт работать. Уберите сервисы, которыми больше не пользуетесь, или попросите у своего провайдера более простой include.

Останавливает ли SPF поддельные письма сам по себе?

Нет. SPF проверяет скрытого отправителя из «конверта» письма, а не адрес, который вы видите в поле «От». Связывает их как раз DMARC: он просит принимающие серверы отправлять в карантин или отклонять письма, не прошедшие проверку. Проверьте и DMARC домена.