Что такое DMARC?
DMARC (Domain-based Message Authentication, Reporting & Conformance) определен в RFC 7489. Он расширяет возможности SPF и DKIM, добавляя две важные функции: политику, указывающую получателям, как обрабатывать неаутентифицированную почту (мониторинг, карантин или отклонение), и механизм отчетности, который присылает вам XML-отчеты о том, кто отправляет почту от имени вашего домена и проходит ли она проверку.
Что критически важно, DMARC вводит понятие **соответствия (alignment)** — домен в видимом заголовке письма «From» должен совпадать с доменом, аутентифицированным через SPF или DKIM. Это мешает злоумышленникам проходить проверки SPF/DKIM на другом домене, подделывая ваш домен в заголовке From.
Зачем вам нужен DMARC?
1Защита заголовка From
SPF и DKIM сами по себе не защищают видимый адрес From — DMARC закрывает этот пробел через проверку соответствия
2Применение политики
Вы сами решаете, что произойдет с подозрительной почтой: наблюдать, отправить в спам или полностью отклонить
3Агрегированные отчеты
Ежедневные XML-отчеты (RUA) показывают каждый IP, отправляющий почту от вашего домена, и статистику проверок
4Форензик-отчеты (детальные)
Отчеты об ошибках (RUF) присылают копию отдельных подозрительных сообщений для расследования
5Требование Google/Yahoo
С февраля 2024 года массовые отправители должны иметь DMARC минимум с p=none для доставки во входящие Gmail/Yahoo
6Защита бренда
Предотвращает попадание фишинговых писем, имитирующих ваш бренд, вашим клиентам
Как работает DMARC — пошагово
Вы публикуете TXT-запись DMARC по адресу `_dmarc.yourdomain.com`, указывая политику и адреса для отчетов.
Сообщение поступает на принимающий сервер. Он независимо запускает проверки SPF и DKIM.
Проверяется соответствие (alignment) DMARC: совпадает ли аутентифицированный домен (из SPF или DKIM) с доменом в заголовке From?
Если хотя бы одна пара (SPF + соответствие ИЛИ DKIM + соответствие) проходит проверку, DMARC считается пройденным.
Если обе проверки провалены, получатель применяет вашу политику: none (доставить), quarantine (в спам) или reject (отклонить).
Получатель собирает данные об аутентификации для вашего домена и отправляет агрегированные (RUA) или детальные (RUF) отчеты на указанные вами адреса.
Синтаксис записи DMARC
v=DMARC1; p=quarantine; pct=100; sp=reject;
rua=mailto:dmarc-reports@yourdomain.com;
ruf=mailto:dmarc-failures@yourdomain.com;
adkim=s; aspf=s; fo=1Справочник тегов
v=DMARC1— версия, обязательнаp=— политика для доменаsp=— политика для поддоменовpct=— % писем, к которым применяется политикаrua=— получатели агрегированных отчетов (mailto:)ruf=— получатели форензик-отчетов (mailto:)adkim=— соответствие DKIM: r=relaxed (мягкое), s=strict (строгое)aspf=— соответствие SPF: r=relaxed, s=strictfo=— опции отчетов об ошибках (0,1,d,s)ri=— интервал отчетов в секундах (по умолчанию 86400)Три политики DMARC
Объяснение соответствия (alignment) DMARC
Частые ошибки DMARC и их решения
Ошибка соответствия SPF
Домен в Envelope From (return-path) не совпадает с заголовком From — часто бывает у сервисов рассылок с собственным return-path
Ошибка соответствия DKIM
Домен d= в подписи DKIM не совпадает с видимым доменом From — настройте сервис рассылки на подпись вашим доменом
Отсутствует адрес RUA
Без rua= вы не получаете отчетов и ничего не видите — всегда указывайте хотя бы один адрес для отчетов
Поддомены не защищены
Добавьте sp=reject, чтобы распространить политику на поддомены, или опубликуйте отдельные записи DMARC для каждого поддомена
Часто задаваемые вопросы
DMARC — это протокол аутентификации, работающий вместе с SPF и DKIM. Он дает инструкции серверам-получателям о том, что делать с письмами, не прошедшими проверку, защищая ваш домен от подделки.
Проверка подтверждает правильность записи в DNS. Политика (например, p=reject) сообщает провайдерам, таким как Google, что ваши письма законны, снижая риск попадания в спам.
'Quarantine' отправляет подозрительные письма в папку со спамом. 'Reject' — более строгая политика, при которой сервер полностью отклоняет письмо.
Это соответствие домена в заголовке 'От' домену, проверенному через SPF или DKIM. Без этого DMARC может не пройти проверку даже при валидных SPF/DKIM.
Проверьте тег 'rua' на наличие корректного mailto:. Также убедитесь, что DNS обновился и адрес получателя готов принимать внешние отчеты.
Это зависит от настроек TTL вашего DNS. Обычно это занимает от нескольких минут до 48 часов.