DMARC alignment: выравнивание доменов в DMARC
DMARC alignment (выравнивание) это совпадение домена в заголовке From с доменом, который прошел проверку SPF или DKIM. Письмо может иметь spf=pass и dkim=pass, но dmarc=fail, если домены не выровнены. Ниже разбираем, как работают режимы relaxed и strict, где смотреть домены в заголовках и как найти причину сбоя.
1. Коротко: что проверяет DMARC alignment
DMARC принимает письмо, если выполняются два условия одновременно: хотя бы один механизм (SPF или DKIM) дал pass, и домен этого механизма выровнен с доменом в From. Само по себе прохождение SPF или DKIM недостаточно.
Для SPF выравнивается домен из адреса возврата (MAIL FROM, он же Return-Path). Для DKIM выравнивается домен из тега d= в подписи. Домен, с которого физически отправлено письмо (HELO, IP, PTR), в выравнивании не участвует.
Типовая ситуация: письма уходят через ESP, DKIM подписан доменом провайдера рассылок, а в From стоит ваш корпоративный домен. SPF и DKIM проходят, DMARC падает, потому что домены не совпадают.
2. Какие домены сравниваются
В письме есть минимум три доменных идентификатора. DMARC сравнивает их с доменом From (видимый адрес отправителя в почтовом клиенте):
| Идентификатор | Где искать в письме |
|---|---|
| From (Header From) | Поле From:, его видит получатель. Базовая точка сравнения для DMARC |
| MAIL FROM / Return-Path | Адрес возврата на SMTP-сессии, в исходнике письма это заголовок Return-Path. Сравнивается при SPF-выравнивании |
| DKIM d= | Тег d= в заголовке DKIM-Signature. Сравнивается при DKIM-выравнивании |
Пример: From: newsletter@brand.ru, Return-Path: bounce.123@send.esp-platform.com, DKIM d=esp-platform.com. SPF pass по домену send.esp-platform.com, DKIM pass по esp-platform.com, но ни один не выровнен с brand.ru. Результат: dmarc=fail.
Если хотя бы один из двух механизмов выровнен, DMARC проходит. То есть достаточно либо настроить DKIM-подпись вашим доменом, либо обеспечить совпадение Return-Path с From.
3. Режимы relaxed и strict
Выравнивание бывает двух режимов. Они задаются тегами aspf (для SPF) и adkim (для DKIM) в DMARC-записи. Если теги не указаны, действует режим relaxed.
| Режим | Как сравниваются домены |
|---|---|
| relaxed (r, по умолчанию) | Совпадают организационные домены: mail.brand.ru и brand.ru считаются выровненными. Поддомены того же домена подходят |
| strict (s) | Требуется точное совпадение домена: mail.brand.ru не выровнен с brand.ru. Нужен From ровно на том домене, что подписан DKIM или стоит в Return-Path |
Пример DMARC-записи со строгим режимом для DKIM:
v=DMARC1; p=reject; rua=mailto:dmarc@brand.ru; adkim=s; aspf=r
Строгий режим усиливает защиту от подделки (злоумышленник не сможет пройти DMARC, подписав письмо произвольным поддоменом), но ломает сценарии, где рассылка идет с поддомена, а транзакционная почта с основного домена, и подписи настроены не для всех. Перед переходом на strict проверьте выравнивание по всем потокам: маркетинговые, транзакционные, корпоративная почта, внешние сервисы (CRM, тикет-системы, формы на сайте).
4. Типовые симптомы и их причины
Ниже частые сочетания результатов проверок и их объяснение. Результаты смотрите в заголовке Authentication-Results исходника письма.
| Симптом | Вероятная причина |
|---|---|
| dmarc=fail при spf=pass | SPF прошел по домену Return-Path ESP, который не совпадает с From. DKIM либо отсутствует, либо подписан чужим доменом |
| dkim=pass, но dmarc=fail | Письмо подписано доменом провайдера (d=esp.com), а From на вашем домене. Подпись валидна, но не выровнена |
| spf alignment failed | Return-Path и From на разных доменах. Часто встречается у ESP с собственным bounce-доменом |
| dkim alignment failed | d= в подписи не совпадает с From по правилам режима (strict ломает поддомены, relaxed требует общий организационный домен) |
| Домен From не совпадает с dkim | На стороне ESP не добавлена и не подтверждена DKIM-подпись вашим доменом: не созданы CNAME/TXT записи селекторов |
| dmarc=fail после переадресации | Форвардинг ломает SPF (письмо идет с IP промежуточного сервера). Если DKIM при этом тоже не выровнен или поврежден, DMARC падает |
- ✕Симптом spf=pass + dmarc=fail почти всегда означает проблему выравнивания, а не самой SPF-записи. Менять SPF в этом случае бессмысленно.
- ✕Проверяйте выравнивание по каждому потоку отдельно: у маркетинговой рассылки, транзакционных писем и корпоративной почты домены Return-Path и d= обычно разные.
5. Практический разбор на заголовках
Возьмем исходник письма, которое Gmail отклонил. Фрагмент Authentication-Results:
Authentication-Results: mx.google.com; dkim=pass header.i=@send.esp-platform.com header.s=s1 header.b=abc123; spf=pass (google.com: domain of bounce@send.esp-platform.com designates 203.0.113.10 as permitted sender) smtp.mailfrom=bounce@send.esp-platform.com; dmarc=fail (p=REJECT sp=QUARANTINE dis=QUARANTINE) header.from=brand.ru
Разбор: From на домене brand.ru, SPF прошел по send.esp-platform.com, DKIM подписан тем же доменом провайдера. Ни один идентификатор не выровнен с brand.ru, поэтому dmarc=fail. DMARC-политика домена p=reject, и письмо отклонено или ушло в спам.
Как это чинится на практике: в кабинете ESP включаете подпись DKIM вашим доменом (обычно раздел доменов или аутентификации отправителя), ESP выдает две-три CNAME-записи селекторов, вы публикуете их в DNS. После подтверждения dkim=pass header.i=@brand.ru, выравнивание появляется, dmarc=pass.
Проверить опубликованные записи можно командами: dig TXT _dmarc.brand.ru для DMARC-политики, dig CNAME s1._domainkey.brand.ru для селектора DKIM (имя селектора смотрите в настройках ESP).
6. Дерево диагностики
Последовательность действий при dmarc=fail:
1. Откройте исходник письма и найдите Authentication-Results. Выпишите три значения: домен From, smtp.mailfrom (Return-Path), header.i или d= из DKIM. Быстрее всего это делает анализатор заголовков: он парсит письмо прямо в браузере.
2. Если dkim=pass, сравните домен d= с From. Совпали с учетом режима adkim: выравнивание есть, ищите проблему в другом потоке. Не совпали: настройте DKIM-подпись своим доменом у ESP.
3. Если dkim=fail или подписи нет, смотрите SPF. Сравните домен smtp.mailfrom с From с учетом режима aspf. Если не совпадают: либо настраивайте пользовательский Return-Path у ESP (не все провайдеры это позволяют), либо чините DKIM, это надежнее.
4. Проверьте саму DMARC-запись: dig TXT _dmarc.ваш-домен. Убедитесь, что запись одна, синтаксис валиден, теги adkim и aspf соответствуют вашей схеме подписей.
5. Повторите для каждого источника почты: ESP рассылок, транзакционный сервис, почтовая платформа, CRM, сайт. Отчеты DMARC (rua) показывают все источники по вашему домену и помогают найти потоки, о которых вы забыли.
- •Переадресация и списки рассылки могут ломать SPF или DKIM уже после того, как вы все настроили. Это не ошибка вашей конфигурации: для таких сценариев существует ARC.
- •Изменения DNS распространяются не мгновенно. После правки записей подождите TTL записи и повторите проверку тестовым письмом.
7. Как проверить результат
Отправьте тестовое письмо из каждого потока на адрес Gmail и откройте исходник: dmarc=pass и header.i=@ваш-домен (или совпадение Return-Path) означают, что выравнивание настроено.
Проверьте домен целиком: DMARC-запись, селекторы DKIM, SPF. Для этого есть инструменты проверки на сайте, они показывают опубликованные записи и типовые ошибки синтаксиса.
Смотрите динамику в кабинетах постмастеров. Google Postmaster Tools показывает долю писем, прошедших SPF, DKIM и DMARC: после исправления выравнивания доля DMARC должна вырасти до уровня, близкого к 100% по затронутым потокам. PostmastersTool собирает эти данные по API и принимает DMARC-отчеты, поэтому рассинхронизацию выравнивания по конкретному источнику видно в истории по дням, а не в ручной выборке писем.
Учтите, что статистика постмастеров привязана к домену d= в подписи DKIM: пока письма подписаны доменом ESP, данные по вашему домену в Postmaster могут быть неполными. После перехода на собственную подпись статистика соберется на ваш домен.
Что сделать дальше
Проверьте выравнивание по своему домену и закройте проблемные потоки.
- 1Разобрать исходник письма
Вставьте исходник письма в анализатор заголовков: он покажет From, Return-Path, d= и результат DMARC в одном экране, без ручного поиска по тексту.
Открыть анализатор заголовков - 2Проверить DMARC-запись домена
Убедитесь, что запись одна, синтаксис валиден, а теги adkim и aspf соответствуют вашей схеме подписей.
Проверить DMARC - 3Настроить аутентификацию целиком
Если потоков много и домены разъехались, закажите настройку SPF, DKIM и DMARC: выровняем подписи по всем источникам и безопасно поднимем политику.
Обсудить аудит и настройку - 4Поставить мониторинг
Подключите домен к мониторингу: доли DMARC из Google Postmaster, DMARC-отчеты и DNS-проверки будут собираться автоматически, с алертами при падении.
Зарегистрироваться