Как и зачем настраивать SPF-запись для домена

Как и зачем настраивать SPF-запись для домена

Часть писем, которые приходят на электронную почту, оказываются спамом или вовсе отправлены мошенниками. Чтобы защитить от них получателей, почтовые сервисы используют цифровые подписи: SPF-запись, DKIM-подпись и политику DMARC. Они работают как пропуск: по ним почтовик решает, доставить письмо, отклонить или отправить в спам. Поэтому компании, которые отправляют рассылки, настраивают цифровые подписи для своих почтовых доменов. Это положительно влияет на их репутацию у почтовых сервисов, а значит, и на доставляемость рассылок.
В статье расскажем, как настроить SPF-запись.

Что такое SPF-запись

SPF-запись (sender policy framework) — это запись в системе доменных имен (DNS) отправителя. DNS похожа на справочник: в ней указаны названия сайтов ― домены и их цифровые адреса ― IP-адреса. С помощью IP-адреса устройства в сети могут обмениваться информацией, в том числе отправлять электронные письма.
Она содержит список IP-адресов, которым разрешено отправлять почту от имени домена отправителя. Так почтовые сервисы могут проверить, что письмо действительно пришло с сервера, который может отправлять письма от имени этого домена.
v=spf1 ip4:192.0.2.1 include: example.com ~all ― так выглядит типичная SPF-подпись.
Вот как она работает:
  1. Сервер с IP-адресом 192.0.2.1 отправляет письмо от имени домена example.ru.
  2. Почтовый сервер получателя ищет в DNS домена example.ru запись SPF.
  3. Если она есть, сервер проверит, указан ли в ней IP-адрес 192.0.2.1.
  4. Если IP-адрес указан, письмо отправляется в папку «Входящие». Если нет, почтовый сервер может отклонить письмо или отправить его в спам.
Для рассылок можно использовать один или несколько IP-адресов. Например, с одного IP-адреса отправлять продающие рассылки, а с другого ― транзакционные. В этом случае в SPF-подпись нужно включить их все.
Эта цифровая подпись помогает:
  • улучшить доставляемость писем, так как с ее помощью почтовый сервер определяет, что сообщение прислал действительный и авторизованный отправитель;
  • бороться со спуфингом и фишингом, когда мошенник пытается отправить письмо от имени чужого домена. Например, известной компании вроде «Сбера» или «Госуслуг».

Синтаксис SPF-записи

Запись состоит из нескольких тегов, их еще называют механизмами. В каждом из них зашифрована подсказка для почтового сервера: откуда пришло письмо, опасно ли оно для получателя и что с ним нужно сделать.
Разберем на примере: v=spf1 ip4:192.0.2.1 include: example.com ~all.
  1. Тег v=spf1 указывает на версию SPF. Сейчас поддерживается только версия spf1, поэтому эта часть будет одинаковой во всех записях.
  2. Тег ip4:192.0.2.1 означает, что разрешена отправка почты с IP-адреса 192.0.2.1. Наравне с механизмом ip4 может использоваться механизм ip6. Он тоже указывает IP-адреса, с которых можно отправлять письма.
  3. Тег include: example.com указывает, что нужно учитывать настройки SPF домена example.com. То есть разрешает принимать письма со всех серверов, указанных в ней.
  4. Тег ~all указывает, что механизм нужно применять ко всем входящим письмам.
В SPF-подпись можно добавить один из четырех префиксов, или квалификаторов: +, -, ~, ?. Он говорит серверу получателя, что делать с письмом, если оно не пройдет проверку. Если у механизма не будет квалификатора, проверка будет считаться пройденной.
В нашем примере используется префикс ~. Он означает, что письмо можно принять, но пометить как подозрительное. Например, отправить в спам.
Вот что означают остальные три:
  • принять письмо: +;
  • отклонить письмо: -;
  • нейтральный префикс, который показывает, что явно не указано, что IP-адресу можно отправлять письма от имени домена: ?.
Синтаксис можно прописать самому, а можно воспользоваться генератором SPF-записи. Это быстро, бесплатно и гарантирует отсутствие ошибок.
Однако одной SPF-записи недостаточно, чтобы дать указание почтовому сервису, что делать с письмом, если оно не пройдет проверку. Она работает только в комплексе с DKIM-подписью и политикой DMARC. Если письмо не пройдет проверку SPF и DKIM, политика DMARC укажет, что с ним сделать: отклонить, положить в спам или пропустить. Поэтому лучше настроить все эти цифровые подписи.

Как настроить SPF-запись

Запись настраивается на сайте DNS-провайдера домена. Вот как это сделать:
1. Определить список серверов, которые могут отправлять письма от имени домена. Это могут быть серверы почтового провайдера: «Яндекс», Gmail или облачные сервисы электронной почты, например Google Cloud или Microsoft Exchange Online.
2. Создать TXT-запись DNS. Запись TXT — это текстовая информация о домене. Например, ее используют, чтобы подтвердить право собственности на домен. А в нашем случае — как контейнер для SPF. В SPF-записи может быть не больше 255 символов, а файл TXT не должен весить больше 512 байт.
3. Добавить TXT-запись DNS на сайте DNS-провайдера домена. Для этого нужно войти в консоль управления DNS-провайдера и найти страницу управления записями домена.
4. Проверить, что все настроено правильно. В специальном сервисе можно проверить:
  • существует ли опубликованная запись SPF;
  • не превышает ли она установленную длину, используется ли в ней разрешенный набор символов;
  • подлинность указанных в ней IP-адресов и доменов.
Например, это можно сделать в сервисе MxToolbox. Для этого нужно ввести имя домена и выбрать из списка проверок SPF Record Lookup.
Картинка
В сервисе MXToolbox можно проверить валидность каждого элемента отдельно и всю запись целиком

Почему настраивать SPF-запись нужно не всегда

Некоторые платформы для рассылок автоматически обеспечивают корректность настройки SPF-подписи — в этом случае самостоятельно настраивать ее не нужно. Обычно это указано в инструкции по настройке цифровых подписей.