Глоссарий

Что такое SPF / DKIM / DMARC: три настройки DNS, защищающие ваш домен от поддельной почты

SPF, DKIM и DMARC — три настройки DNS, по которым проверяют подлинность почты вашего домена. Роль каждой и как настроить безопасно, начиная DMARC с p=none.

Опубликовано 2026-06-08 Обновлено 2026-10-06 7 мин чтения
На этой странице

Фишинговые письма могут уходить от имени вашего домена без вашего ведома. SPF / DKIM / DMARC останавливают это. Вот роль каждого и как настроить их безопасно.

Роль каждого

НастройкаРоль (в одну строку)
SPFОбъявляет в DNS, какие серверы могут отправлять для этого домена
DKIMДобавляет криптографическую подпись, доказывающую, что письмо не изменено и от легитимного источника
DMARCОбъявляет, что делать, если SPF/DKIM не прошли, и получает отчёты (настройка, связывающая все три вместе)

Все три — текстовые (TXT) записи в DNS. Для example.com они выглядят так (значения — примеры).

НастройкаКуда пишетсяПример значения
SPFexample.comv=spf1 include:_spf.mail-service.example ~all
DKIMselector._domainkey.example.comv=DKIM1; k=rsa; p=(открытый ключ от вашего сервиса отправки)
DMARC_dmarc.example.comv=DMARC1; p=none; rua=mailto:dmarc@example.com

Для include: в SPF используйте значение, которое указывает ваш сервис отправки почты. Открытый ключ DKIM тоже выдаёт сервис отправки, создавать его самому не нужно.

Как почта проверяется

Получатели (Gmail и т. п.) проверяют SPF и DKIM на входящем сообщении, затем применяют вашу политику DMARC, чтобы решить «пропустить / в карантин / отклонить».

Входящая почта (от имени вашего домена)
↓ получатель проверяет
SPF: авторизован ли отправляющий сервер?
DKIM: подпись действительна, не подменена?
↓ сверить результаты с политикой DMARC
DMARC: при провале → пропустить / карантин / отклонить
Получатель проверяет SPF/DKIM, затем политика DMARC выносит решение. Для работы нужны все три.

Так что SPF и DKIM сами по себе могут «проверять, но ничего не делать»; только с политикой DMARC они действительно «останавливают подделку».

Что упускают: соответствие доменов

Ключ к решению DMARC — совпадение доменов. DMARC проходит, только если домен отправителя, который получатель видит в почтовой программе (заголовок From), совпадает с доменом, проверенным SPF или DKIM.

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

Как настроить их безопасно

1

Одна корректная запись SPF

Авторизуйте каждого легитимного отправителя (свои серверы, почтовые сервисы и т. п.). Держите одну запись SPF на домен (несколько записей обычно её ломают).

2

Включите подписание DKIM

Включите DKIM в вашей почтовой платформе и опубликуйте открытый ключ в DNS, чтобы легитимная почта подписывалась.

3

Начните DMARC с p=none

Не отклоняйте сразу. Начните с p=none (только мониторинг) + отчётность, чтобы убедиться, что легитимная почта не отбрасывается.

4

Ужесточайте постепенно

Когда отчёты покажут, что ни один легитимный отправитель не упущен, переходите p=quarantine → p=reject, в итоге достигнув состояния «подделка отклоняется».

«Ровно одна» в шаге 1 идёт из спецификации. RFC 7208 говорит, что если у домена больше одной записи SPF, результат — permerror (постоянная ошибка). Та же спецификация ограничивает DNS-запросы от include и подобных механизмов десятью на всю проверку; превышение — тоже permerror. Добавляя почтовый сервис, дописывайте его в существующую единственную запись, а не добавляйте новую.

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

ОшибкаЧто происходитКак исправить
Две записи SPFSPF возвращает permerrorОбъединить их в одну
Слишком много вложенных includeDNS-запросов больше 10 → permerrorУдалить include неиспользуемых сервисов
DKIM не включён в сервисе отправкиПисьма из этого сервиса не проходят DMARCВключить DKIM в сервисе и опубликовать в DNS
DMARC оставлен на p=noneПоддельные письма продолжают проходитьЧитать отчёты и поднять до reject
Ничего не настроено на домене, который не отправляет почтуПодделку от имени неиспользуемого домена не остановитьОпубликовать v=spf1 -all и DMARC p=reject

Как проверить свой домен

  1. Введите свой домен в проверку SPF / DKIM / DMARC, чтобы увидеть, есть ли все три записи и что в них не так
  2. Чтобы посмотреть напрямую из командной строки, выполните dig +short TXT example.com (SPF) и dig +short TXT _dmarc.example.com (DMARC)
  3. Отправьте письмо со своего домена на адрес Gmail и через «Показать оригинал» в Gmail убедитесь, что у SPF, DKIM и DMARC стоит PASS
  4. Когда начнут приходить отчёты DMARC (rua), раз в неделю проверяйте, нет ли незнакомых отправителей

Для сайта, владение которым вы подтвердили, аудит безопасности сайта проверяет это вместе с настройками на стороне веба.

Реальный случай: поддельное письмо «с вашего же адреса»

«Мне пришло письмо с угрозами с моего же адреса на мой адрес» — типичный случай, о котором предупреждали японский IPA и другие. Чаще всего это не взлом аккаунта: просто переписано поле отправителя. Поскольку отправитель может написать в этом поле что угодно, такие письма могут попадать во входящие для доменов, которые не подняли DMARC до reject. Как распознать и что делать, разобрано здесь:

Обновление спецификации (май 2026 г.)

В мае 2026 года DMARC был пересмотрен как RFC 9989, который заменяет прежний RFC 7489. Три политики — p=none, p=quarantine и p=reject — не изменились. Что изменилось: тег pct (доля применения) удалён и заменён тегом t, обозначающим тестовый режим, а также добавлен тег np для политики в отношении несуществующих поддоменов. Существующие записи не перестанут работать в одночасье, но при написании новой не используйте pct.

Мнение этого сайта: вы также защищаете своих пользователей

SPF/DKIM/DMARC — это не только про доставку вашей почты; это ещё и защита ваших пользователей от фишинга, выдающего себя за ваш домен. Фишинг в конечном счёте — это способ кражи учётных данных и ключей. Многие домены останавливаются на SPF/DKIM и никогда не поднимают DMARC до принуждения (reject). Не останавливайтесь на p=none; читайте отчёты и поднимайте до самого reject, чтобы это имело смысл.

Источники (первичные)

  • IETF RFC 7208, «Sender Policy Framework (SPF)» — datatracker.ietf.org (одна запись на домен; не более 10 DNS-запросов)
  • IETF RFC 6376, «DomainKeys Identified Mail (DKIM) Signatures» — datatracker.ietf.org
  • IETF RFC 9989, «Domain-Based Message Authentication, Reporting, and Conformance (DMARC)» (май 2026 г.; заменяет RFC 7489) — datatracker.ietf.org
  • Google, «Email sender guidelines» — support.google.com (требования с 1 февраля 2024 г.; требования к отправителям 5000+ писем в день)

Читать дальше

Классификация

CWE классифицирует типы слабостей, из-за которых возникают уязвимости; MITRE ATT&CK классифицирует техники атакующих. Обе системы ведёт MITRE, и они широко используются для разметки уязвимостей и правил обнаружения.

ATT&CK (техника атаки)

© 2026 The MITRE Corporation. This work is reproduced and distributed with the permission of The MITRE Corporation. MITRE ATT&CK and ATT&CK are registered trademarks of The MITRE Corporation. The MITRE Corporation (MITRE) hereby grants you a non-exclusive, royalty-free license to use ATT&CK® for research, development, and commercial purposes. Any copy you make for such purposes is authorized provided that you reproduce MITRE's copyright designation and this license in any such copy. ATT&CK Terms of Use

FAQ

QДля чего нужны SPF / DKIM / DMARC?
A

Чтобы получатели (Gmail и т. п.) могли проверять, подлинна ли почта от вашего домена. Без них кто угодно может беспрепятственно отправлять поддельный фишинг от вашего имени, и репутация вашего домена страдает.

QВ чём разница между этими тремя?
A

SPF объявляет «какие серверы могут отправлять для этого домена», DKIM — это «криптографическая подпись, доказывающая, что письмо не подменили», а DMARC — «что делать, если SPF/DKIM не прошли, плюс отчётность». DMARC объединяет результаты SPF/DKIM и делает их обязательными к исполнению.

QНа что обратить внимание при настройке?
A

Авторизуйте всех легитимных отправителей (почтовые сервисы и т. п.), прежде чем ужесточать. Особенно DMARC: прыжок сразу к reject может отбросить легитимную почту, поэтому начинайте с p=none (только мониторинг), читайте отчёты, затем переходите p=quarantine → p=reject.

QЧто означает DMARC p=none?
A

Это просьба к получателям не применять особой обработки к письмам, не прошедшим аутентификацию. Подделку это не останавливает, но вы получаете отчёты (rua), показывающие, кто отправляет почту от имени вашего домена. Убедившись во всех легитимных отправителях, поднимайте до p=quarantine (папка «Спам»), а затем до p=reject (отклонение).

QЧем отличаются «-all» и «~all» в SPF?
A

Оба ставятся в конце записи SPF и говорят, как обращаться с почтой от серверов, которых нет в списке. -all означает «не авторизован» (fail), ~all — «вероятно, не авторизован» (softfail). При настроенном DMARC окончательную обработку определяет политика DMARC, поэтому начинать с ~all, пока вы не подтвердили всех легитимных отправителей, нормально.

QЧто такое ограничение SPF в 10 DNS-запросов?
A

Спецификация SPF (RFC 7208) ограничивает DNS-запросы от include, a, mx, ptr, exists и модификатора redirect десятью на всю проверку. При превышении результат — permerror (постоянная ошибка), и SPF считается непройденным. Если перечислять несколько почтовых сервисов через include, упереться в лимит легко; удаляйте include для сервисов, которыми больше не пользуетесь.

QТребует ли Gmail SPF, DKIM и DMARC?
A

С 1 февраля 2024 года Google требует от всех, кто отправляет письма на личные аккаунты Gmail, настроить SPF или DKIM. Отправители 5000 и более писем в день должны настроить и SPF, и DKIM, DMARC (допустима политика p=none) и соответствие домена From домену SPF или DKIM.