DMARC (аутентификация сообщений на основе домена)

Электронная почта и безопасность
Политика электронной почты, объединяющая SPF и DKIM и задающая действия для сообщений, не прошедших проверку.
← Вернуться к глоссарию

Что такое DMARC?

DMARC (аутентификация сообщений на основе домена, отчётность и соответствие) — протокол аутентификации электронной почты, дополняющий SPF и DKIM. Он позволяет владельцу домена опубликовать политику для принимающих серверов: что делать с сообщениями, не прошедшими проверку, и как получать отчёты о результатах аутентификации.

Почему DMARC необходим

Одних SPF и DKIM недостаточно: они не сообщают получателю, как поступать с сообщением, которое не прошло проверку. Злоумышленник может отправить поддельное письмо без корректных SPF/DKIM, а у принимающего сервера не будет согласованной инструкции.

DMARC устраняет этот пробел:

Как работает DMARC

1. Отправитель публикует политику DMARC в DNS (TXT-запись на _dmarc.domain.com)

2. Отправляется письмо с From: [email protected]

3. Получатель проверяет SPF и DKIM

4. Получатель проверяет согласование: совпадает ли подтверждённый домен с заголовком From

5. Применяется политика: по записи DMARC (none, quarantine, reject)

6. Отправляются отчёты: совокупные отчёты на указанные адреса

Согласование DMARC

DMARC требует «согласования»: домен в заголовке From должен совпадать хотя бы с одним из следующих доменов:

Без согласования SPF/DKIM могут пройти, но DMARC завершится неуспешно.

Формат записи DMARC

Записи DMARC являются TXT-записями на _dmarc.yourdomain.com:

_dmarc.example.com.    IN    TXT    "v=DMARC1; p=reject; rua=mailto:[email protected]"

Теги DMARC

ТегОбязателенОписаниеПример
vДаВерсияv=DMARC1
pДаПолитикаp=none/quarantine/reject
ruaНетURI совокупного отчётаrua=mailto:[email protected]
rufНетURI подробного отчётаruf=mailto:[email protected]
pctНетДоля применения политикиpct=100
spНетПолитика поддоменовsp=reject
adkimНетРежим согласования DKIMadkim=s (strict) or adkim=r (relaxed)
aspfНетРежим согласования SPFaspf=s or aspf=r

Политики DMARC

p=none: только наблюдение, никаких действий над не прошедшими проверку сообщениями
v=DMARC1; p=none; rua=mailto:[email protected]
p=quarantine: отправлять не прошедшие проверку сообщения в спам или карантин
v=DMARC1; p=quarantine; rua=mailto:[email protected]
p=reject: полностью отклонять не прошедшие проверку сообщения
v=DMARC1; p=reject; rua=mailto:[email protected]

Путь внедрения DMARC

Этап 1: наблюдение (p=none)

Начните с наблюдения, чтобы понять экосистему электронной почты:

v=DMARC1; p=none; rua=mailto:[email protected]

Анализируйте отчёты в течение 2–4 недель, чтобы выявить:

Этап 2: карантин (p=quarantine)

После аутентификации легитимных источников:

v=DMARC1; p=quarantine; pct=10; rua=mailto:[email protected]

Используйте \pct=10\, чтобы сначала помещать в карантин только 10% сообщений, постепенно увеличивая долю.

Этап 3: отклонение (p=reject)

Полная защита:

v=DMARC1; p=reject; rua=mailto:[email protected]

Отчёты DMARC

Совокупные отчёты (rua)

Ежедневные XML-отчёты о результатах аутентификации всей вашей электронной почты:

Подробные отчёты (ruf)

Индивидуальные отчёты о сбоях, которые отправляют не все получатели по соображениям конфиденциальности:

Обработка отчётов

Необработанные отчёты DMARC представлены в XML и сложны для чтения. Используйте такие сервисы, как:

Проверка DMARC

dig _dmarc.example.com TXT
curl "https://domscan.net/v1/health?domain=example.com"

# Returns hasDMARC status

Распространённые проблемы DMARC

Отчёты не поступают: убедитесь, что адрес rua принимает большие письма, поскольку некоторые провайдеры их фильтруют. Легитимная почта не проходит проверку: проверьте настройки SPF/DKIM всех сервисов отправки и убедитесь в согласовании доменов. Сбои у сторонних сервисов: многие сервисы требуют отдельной настройки DKIM для согласования DMARC.

DMARC завершает построение аутентификации почты. Внедряйте его после того, как SPF и DKIM настроены и проверены.

Применяйте эти знания на практике

Используйте API DomScan для проверки доступности доменов, их состояния и многого другого.