SPF, DKIM и DMARC: как защитить доменную почту от подделки

SPF, DKIM и DMARC - это DNS-записи для проверки подлинности почты. Они помогают почтовым сервисам понять, действительно ли письмо отправлено вашим доменом, или кто-то просто подделал адрес отправителя. Правильная аутентификация повышает доверие к домену и уменьшает риск попадания нормальных писем в спам.

Почему эти записи важны

Почтовые сервисы вроде Gmail и Yahoo сейчас заметно строже проверяют отправителей. Для обычной почты домен должен хотя бы проходить SPF или DKIM. Для массовых и маркетинговых рассылок актуальные требования уже предполагают SPF, DKIM и корректную DMARC-политику, обычно начиная с p=none. Если домен в видимом поле From: не совпадает с доменом, который прошел SPF или DKIM, DMARC может не пройти даже при наличии DNS-записей.

Что делает SPF

SPF указывает, какие серверы имеют право отправлять почту от имени домена. Запись публикуется в DNS как TXT.

example.com. TXT "v=spf1 include:_spf.google.com ~all"

Этот пример подходит для домена, который отправляет почту только через Google Workspace. Если письма также отправляются с хостинга, CRM, сервиса рассылок или формы на сайте, все легальные отправители должны быть включены в одну SPF-запись.

Важные правила SPF

  • У домена должна быть только одна SPF TXT-запись.
  • Не создавайте несколько отдельных SPF-записей. Их нужно объединять в одну строку.
  • ~all - мягкая ошибка, безопаснее на этапе настройки.
  • -all - строгий вариант, его стоит использовать только когда все отправители точно указаны.
  • Слишком много внешних include может сломать SPF из-за лимита DNS-запросов.

Что делает DKIM

DKIM добавляет цифровую подпись к исходящим письмам. Закрытый ключ подписывает письмо на почтовом сервере, а открытый ключ публикуется в DNS. Получающий сервер проверяет, что письмо не было изменено и подписано разрешенным доменом.

selector._domainkey.example.com. TXT "v=DKIM1; k=rsa; p=PUBLIC_KEY_HERE"

Имя selector зависит от почтового сервиса. Например, Google Workspace часто использует selector вида google, но у других сервисов имя может отличаться.

Что делает DMARC

DMARC связывает SPF и DKIM с видимым доменом отправителя. Он говорит принимающему серверу, что делать, если письмо не прошло SPF или DKIM с правильным совпадением домена.

_dmarc.example.com. TXT "v=DMARC1; p=none; rua=mailto:dmarc@example.com"

Начинайте с p=none, чтобы наблюдать за результатами. Когда вы убедитесь, что вся легальная почта проходит проверку, политику можно постепенно ужесточить до quarantine или reject. Не ставьте сразу reject, если не проверили все источники отправки.

Правильный порядок настройки

  1. Составьте список всех сервисов, которые отправляют почту от домена: почта хостинга, формы сайта, Google Workspace, CRM, рассылки, биллинг.
  2. Добавьте или исправьте одну SPF-запись, в которой указаны все легальные отправители.
  3. Включите DKIM в почтовом сервисе и добавьте DKIM TXT-запись в DNS.
  4. Добавьте DMARC-запись с p=none для наблюдения.
  5. Отправьте тестовые письма на Gmail и другие ящики, затем проверьте заголовки письма.
  6. Только после успешных проверок переходите к более строгой DMARC-политике.

Частые ошибки

  • Для одного домена создано две или больше SPF-записей.
  • Сайт отправляет письма через хостинг, но SPF разрешает только Google или другой внешний сервис.
  • DKIM включили в почтовом сервисе, но DNS-запись не добавили или добавили с опечаткой.
  • DMARC сразу поставили в p=reject и начали блокировать нормальную почту.
  • Домен в поле From: не совпадает с доменом, который прошел SPF или DKIM.

Что отправить в поддержку

Если письма попадают в спам или отклоняются, пришлите домен, ящик или сервис, который отправляет письмо, адрес получателя, примерное время отправки и текст ошибки или полные заголовки письма. Так можно понять, где именно не проходит SPF, DKIM или DMARC.

Почтовую защиту проще настроить, когда видны все отправители

Напишите, какие сервисы отправляют письма от вашего домена. Мы поможем правильно объединить SPF, проверить DKIM и выбрать безопасную DMARC-политику.

Проверить SPF, DKIM и DMARC