SPF, DKIM и DMARC: как настроить и запретить отправку писем от вашего имени
Электронная почта придумана во времена, когда все доверяли всем. Адрес отправителя в письме это просто текст, и кто угодно может написать туда ваш домен. Исправляют это три DNS-записи: SPF, DKIM и DMARC. С 2024 года Google и Yahoo требуют их от массовых отправителей, Mail.ru и Яндекс тоже всё строже проверяют почту без них, и всё больше серверов такие письма отклоняет или кладёт в спам.
SPF: кто имеет право отправлять
SPF (Sender Policy Framework) это TXT-запись со списком серверов, которым разрешено отправлять почту от вашего домена. Пример для компании на Microsoft 365 с сервисом рассылок:
v=spf1 include:spf.protection.outlook.com include:servers.mcsv.net -all
Для Google Workspace используется include:_spf.google.com, для Яндекс 360 include:_spf.yandex.net. На что обратить внимание:
- Только одна SPF-запись на домен. Две записи делают недействительными обе.
- Лимит в 10 DNS-запросов. Каждый include расходует запросы. При большом числе сервисов SPF ломается без всяких предупреждений.
- «-all» или «~all». Окончание говорит, что делать с почтой с других серверов. Если не уверены, что перечислили всех отправителей, начните с «~all».
DKIM: подпись, доказывающая, что письмо не меняли
DKIM (DomainKeys Identified Mail) добавляет к каждому письму криптографическую подпись. Открытый ключ публикуется в DNS, и получатель проверяет, что письмо отправлено вашими системами и не изменено по дороге. В Microsoft 365 DKIM включается в портале Defender и требует двух CNAME-записей, Google Workspace и Яндекс 360 выдают готовую TXT-запись. Каждый сервис, который пишет от вашего имени (CRM, система счетов, рассылки), тоже должен подписывать письма вашим доменом.
DMARC: политика, которая всё связывает
Сами по себе SPF и DKIM не защищают от подделки: они проверяют технические адреса, которых получатель не видит. DMARC привязывает их к видимому домену в поле «От кого» и говорит серверу-получателю, что делать при провале проверки. А ещё присылает отчёты, из которых видно, кто на самом деле отправляет почту от вашего имени.
v=DMARC1; p=none; rua=mailto:dmarc@yourcompany.com
У политики (p=) три уровня:
- none: только мониторинг и отчёты;
- quarantine: письма, не прошедшие проверку, уходят в спам;
- reject: такие письма отклоняются.
Как внедрить DMARC и не сломать собственную почту
- Составьте список отправителей. Офисная почта, формы на сайте, CRM, бухгалтерская программа, рассылки, служба поддержки. Каждый должен проходить SPF или DKIM с вашим доменом.
- Опубликуйте p=none с отчётами и собирайте данные две-четыре недели. Отчёты приходят в XML, бесплатные сервисы делают их читаемыми.
- Закройте пробелы. Обычно это один-два забытых сервиса, чаще всего система выставления счетов.
- Перейдите на p=quarantine, при желании сначала с pct=25, потом 100.
- Закончите на p=reject. Теперь никто не отправит письмо, притворяясь вашим доменом.
Частые ошибки
- Сразу ставить p=reject и терять счета, которые отправляет забытая система.
- Забывать поддомены и неиспользуемые домены. Домен, который не отправляет почту, всё равно должен иметь «v=spf1 -all» и DMARC с reject, иначе его используют для фишинга.
- Отправлять отчёты DMARC в ящик, который никто не читает.
Проверьте свой домен
Безопасность почты первый пункт нашего бесплатного IT-аудита. Мы проверим SPF, DKIM и DMARC снаружи, скажем, можно ли сейчас отправить письмо от вашего имени, и дадим точные записи для публикации.