В 2023 году более 67% кибератак по электронной почте проводилось с применением спуфинга — подмены отправителя. Подделка email-адреса — это проблема протокола SMTP, которую продолжают эксплуатировать злоумышленники. Чтобы не лишиться репутации из-за спама и фишинга от имени компании, нужно задать SPF-запись для своего доменного имени. Разберем подробнее этот термин.
Что такое SPF-запись
SPF (Sender Policy Framework) — это DNS-запись домена, отвечающая за проверку подлинности отправителя почты. Она содержит информацию о доверенных серверах, с которых разрешено отправлять письма. Фактически владелец домена расширяет протокол SMTP: всего одна строка описывает ограничения для рассылок, определяя список разрёшенных IP-адресов.
При получении электронного сообщения почтовый сервер проверяет отправителя по SPF-записи. Если IP нет в списке разрешённых, письмо помечается как подозрительное или может быть отклонено.
Для каждого доменного имени создаётся только одна запись. Если для отправки используется несколько сервисов или решений (например, для массовых рассылок, транзакционных писем и т. д.), все адреса нужно включить в одну строку.
Протокол использует только поле «От кого» в сообщении. Для анализа содержимого дополнительно используются ресурсные записи DKIM и DMARC.
Кому нужно её настраивать
Защита почтового трафика важна и для крупных корпораций, и для рядовых пользователей. Правильная конфигурация гарантирует, что отправителем писем является только оригинальный домен.
Для бизнеса с собственным сайтом такая аутентификация защищает репутацию. Злоумышленники часто отправляют спам и фишинг от имени популярных брендов, что вредит имиджу и приводит к жалобам клиентов.
Маркетологи также заинтересованы в идентификации отправителя электронных сообщений. Без соответствующей настройки письма могут попасть в папку «Спам» или вовсе не дойти до адресата по таким причинам:
- Подозрение в подмене почтового адреса. Особенно если используются распространённые сервисы (например, gmail.com).
- Плохая репутация IP-адреса, с которого идёт отправка. Например, если ранее с него уже спамили.
- Внесение в чёрные списки из-за жалоб пользователей.
Как происходит аутентификация
Контроль подлинности поля «От кого» проходит в несколько этапов:
- Почтовый сервис отправляет письмо от имени определённого домена. Например, с адреса company@adminvps.ru.
- Получающий сервер проверяет SPF-запись, чтобы определить список допустимых IP.
- Затем производится сравнение адресанта со списком адресов из нашей DNS-записи.
- Если IP присутствует в списке, сообщение считается безопасным. Если нет — оно помечается как спам или отклоняется.
Для домена с настроенным идентификатором не получится подделать заголовок «От кого». Если же SPF-запись не задана, злоумышленники могут воспользоваться таким просчётом в безопасности.
Синтаксис записи
Строка начинается с параметра v=spf1, который определяет версию записи. Сейчас актуальна только spf1.
Далее следуют параметры, устанавливающие доверенные сервера, с которых разрешена отправка почты:
- all — определяет обработку писем со всех остальных источников;
- ip4 и ip6 — конкретные IP-адреса или подсети;
- a — IP отправителя должен соответствовать A-записи доменного имени;
- mx — IP отправителя должен входить в MX-записи домена;
- include — позволяет учитывать настройки записи другого доменного имени;
- redirect — указывает, что нужно применить настройки SPF указанного домена.
Перед настройкой SPF-записи необходимо также знать префиксы, регулирующие логику обработки почты:
- — — отклоняет электронные сообщения;
- ~ — помечает письмо как спам («мягкое» отклонение);
- + — принимает почту, установлен по умолчанию;
- ? — нейтральная обработка, сообщение будет обрабатываться как обычное письмо.
Как выглядит SPF-запись: разбираем на примерах
Пример 1:
v=spf1 a:my.adminvps.ru ~all
Разберём каждый параметр:
- «v=spf1» — версия протокола, обязательный параметр.
- «a:my.adminvps.ru» — почта будет приниматься только с A-записи указанного поддомена.
- «~all» — определяет политику для остальных адресов, которые не попали в предыдущие правила. Входящие не будут отклоняться, но получат пометку «Спам».
Пример 2:
v=spf1 redirect=_spf.adminvps.ru -all
Здесь «redirect=_spf.adminvps.ru» указывает, что для отправки писем будут учитываться только сервера adminvps.ru. Сообщения из других источников будут отклоняться: «-all».
Пример 3:
v=spf1 ip4:172.200.8.0/24 include:otherdomain.net ~all
Что изменилось:
- Добавлен параметр «ip4:172.200.8.0/24» — разрешает письма от адресов в диапазоне 172.200.8.0-172.200.8.255.
- «include:otherdomain.com» — дополнительно учитывает настройки записи указанного домена и разрешает принимать сообщения от прописанных в его SPF адресов.
Настройка SPF-записей для почтовых сервисов
Выполнив несложную последовательность действий, можно за пару минут защитить пользователей и повысить репутацию сайта.
Готовые SPF-записи для рассылки с популярных в России почтовых сервисов:
- Яндекс.Почта:
v=spf1 redirect=_spf.yandex.net ~all
- Google;
v=spf1 include:_spf.google.com ~all
- Mail.ru.
v=spf1 redirect=_spf.mail.ru ~all
Если вы используете какие-то еще адреса, синтаксис будет выглядеть, например, так:
v=spf1 ip4:172.101.54.11 ip4:172.101.54.12 include=_spf.mail.ru ~all
Вместо приведённых IP-адресов вы можете подставить свои или просто указать подсеть.
Вводить строку параметров нужно на сайте хостинг-провайдера в разделе DNS. Необходимо перейти к TXT-записям и вставить в файл готовую запись. В результате входящая почта со сторонних источников будет перенаправляться в спам.
Обновление DNS может занять до нескольких часов. Необходимо набраться терпения и перепроверить настройки позже.
Как протестировать новую конфигурацию
Оценить проделанную работу можно с помощью специализированных онлайн-сервисов. Один из таких — Mail-Tester:
Нужно отправить тестовое сообщение на указанный ящик. Сервис проанализирует подлинность сервера по SPF, а также шансы получения сообщения. В результате вы получите подробную информацию об отправленном письме и рекомендации по улучшению:
Кроме SPF (а также DKIM и DMARC-записей), сервис анализирует сообщения по нескольким параметрам, которые влияют на вероятность попадания во «Входящие»:
- Проверяется валидность HTML и текстовой версий письма. Некорректный HTML-код может привести к тому, что письмо будет заблокировано или попадёт в спам.
- Оценивается качество форматирования — соотношение текста и изображений, наличие alt-значений и кнопки отписки.
- Битые ссылки также негативно сказываются на доверии к адресанту.
- Анализируется содержимое послания с помощью системы SpamAssassin. Чем больше набрано баллов, тем выше риск блокировки.
- Адресант проверяется в 25 базах чёрных списков. Это гарантирует, что рассылка не будет заблокирована на уровне хостинга.
Как злоумышленники используют неправильную конфигурацию
Если SPF-запись не настроена, то существуют следующие угрозы:
- Злоумышленник может зарегистрировать похожий домен и отправлять сообщения, выдавая себя за вашу компанию.
- Почтовые сервисы используют эту технологию для проверки репутации адресанта. Без записи вероятность попадания в спам выше.
- Компании часто добавляют друг друга в whitelist на основе этого идентификатора. Его отсутствие позволит злоумышленнику обойти ограничения.
Пренебрежение параметрами DNS усилит действия других атак, например фишинга или спама. Обязательно настройте SPF-запись для домена, чтобы повысить доверие к письмам.
Советы по настройке
Рекомендации по редактированию DNS-записей для защиты от спуфинга:
- Прежде чем создавать SPF-запись, нужно убедиться, что учтены все серверы, которые могут отправлять письма.
- При большом количестве сайтов с общими MX-серверами для упрощения обслуживания стоит использовать redirect.
- Рекомендуется ограничить отправку писем строкой «v=spf1 -all» для всех серверов, которые не используют функционал SMTP.
- Если много ресурсов и отправителей распределены географически, можно применить include и отдельную зону _spf для хранения SPF-записей.
- Рекомендуется включить на почтовых серверах контроль SPF/DKIM/DMARC входящих писем.
- Имеет смысл создавать SPF-записи для почтовых серверов. Это необходимо для прохождения проверки HELO/EHLO на принимающем хосте.