В поле «От» (From) электронного письма кто угодно может указать любой адрес (подмена отправителя). Три стандарта на основе DNS позволяют принимающим серверам проверить, действительно ли письмо пришло с заявленного домена: SPF, DKIM и DMARC. С 2024 года Gmail и Yahoo требуют их от массовых отправителей, а отсутствие этих записей — одна из частых причин, по которым письма попадают в спам.
SPF: каким серверам разрешена отправка
Sender Policy Framework — это TXT-запись со списком серверов, которым разрешено отправлять почту от имени вашего домена.
example.com. TXT "v=spf1 include:_spf.google.com include:sendgrid.net -all"
include:добавляет серверы другого провайдера.ip4:/ip6:добавляют конкретные адреса.- Окончание записи задаёт политику:
-all(отклонять всё остальное),~all(softfail: принимать, но помечать),?all(нейтрально).
Принимающий сервер сверяет IP-адрес подключившегося сервера с записью для домена из заголовка Return-Path.
Ограничения: для домена допускается только одна SPF-запись, не более 10 DNS-запросов, а при пересылке писем SPF перестаёт работать.
DKIM: подпись на каждом письме
DomainKeys Identified Mail подписывает каждое письмо закрытым ключом на сервере отправителя. Открытый ключ публикуется в DNS:
selector1._domainkey.example.com. TXT "v=DKIM1; k=rsa; p=MIIBIjANBgkqh..."
Получатель берёт селектор и домен из заголовка DKIM-Signature, запрашивает ключ и проверяет, что подписанные заголовки и тело письма не были изменены. DKIM сохраняется при пересылке. Запись для публикации вам выдаст ваш почтовый провайдер.
DMARC: политика, которая связывает всё воедино
Domain-based Message Authentication, Reporting and Conformance сообщает получателям, что делать с письмом, не прошедшим проверку, и требует, чтобы SPF или DKIM проходили для того же домена, что указан в адресе From (так называемое выравнивание, alignment).
_dmarc.example.com. TXT "v=DMARC1; p=quarantine; rua=mailto:dmarc-reports@example.com"
| Политика | Действие |
|---|---|
p=none |
Только мониторинг и отправка отчётов |
p=quarantine |
Письма, не прошедшие проверку, помещаются в спам |
p=reject |
Письма, не прошедшие проверку, отклоняются |
Начните с p=none, несколько недель изучайте отчёты, чтобы найти всех легитимных отправителей, а затем переходите к quarantine и reject.
Какие результаты вы увидите
| Результат | Значение |
|---|---|
| pass | Проверка пройдена |
| fail | Проверка не пройдена; при политике DMARC reject письмо отклоняется |
| softfail | SPF ~all: отправитель не авторизован, но письмо не отклоняется сразу |
| neutral / none | Политики или записи нет |
| temperror / permerror | Проблема с DNS или ошибка в записи |
Проверить результаты для конкретного письма можно с помощью нашего Email Header Analyzer, а записи вашего домена, включая лимит в 10 запросов, — с помощью SPF, DKIM & DMARC Checker. Он также сгенерирует для вас корректные записи.
Чек-лист настройки для вашего домена
- Опубликуйте одну SPF-запись, в которой перечислены все сервисы, отправляющие почту от вашего имени.
- Включите DKIM-подпись в каждом сервисе отправки и опубликуйте их ключи.
- Опубликуйте DMARC-запись с
p=noneи адресом для отчётов. - Если у вас собственный почтовый сервер, настройте для него соответствующую запись обратной зоны DNS.
- Через несколько недель ужесточите DMARC до
quarantine, а затем доreject.
Часто задаваемые вопросы
Нужны ли все три?
Да. SPF и DKIM выполняют проверки, а DMARC заставляет получателей действовать по их результатам и защищает ваш домен от подмены.
Почему SPF не проходит для пересланных писем?
Пересылающего сервера нет в вашей SPF-записи. DKIM при этом обычно проходит, а значит, проходит и DMARC.
Могут ли SPF, DKIM и DMARC остановить весь фишинг?
Они не позволяют другим использовать именно ваш домен. От похожих доменов они не защищают, поэтому внимательно проверяйте адрес отправителя.