руководство · DMARC в Cloudflare
Как продуктовой команде безопасно внедрить DMARC в Cloudflare?
Чтобы настроить DMARC в Cloudflare, составьте список всех сервисов, которые отправляют письма с вашими видимыми доменами From, проверьте выравнивание SPF или DKIM на контрольных письмах и добавьте одну TXT-запись с политикой точно по имени _dmarc. Начните с режима отчётов, сохраните прежнее состояние DNS, проверьте ответы авторитетных и рекурсивных серверов и изучите агрегированные отчёты, прежде чем запрашивать quarantine или reject. Cloudflare размещает или анализирует DNS-политику; он не делает отправителя выровненным и не доказывает доставку.
Разделите DNS в Cloudflare и настройку отправителей
Cloudflare может обслуживать авторитетный DNS, в то время как письма приложения отправляет и подписывает другой провайдер. Зафиксируйте эти границы, прежде чем что-либо менять. Зона публикует TXT-запись с политикой DMARC; каждый почтовый провайдер управляет своим return path, доменом и селектором подписи DKIM, подтверждением, а иногда и отчётами; приложение определяет тенанта, класс письма, получателя, шаблон, видимый адрес From и путь через провайдера. Корректная DNS-запись не исправит неавторизованного отправителя, отсутствующую подпись DKIM, невыровненный return path или значение From, относящееся к чужому тенанту. Составьте список систем продакшена, стейджинга, поддержки, оплаты, идентификации, мониторинга, CRM, маркетинга и личной переписки по видимому домену From. Назначьте каждой владельца и контакт для отката и классифицируйте неизвестные источники в отчётах, прежде чем ужесточать режим применения.
Запрашивайте то имя политики, которое проверяют получатели
Для писем от alerts@notify.example.test начните с TXT-записи по имени _dmarc.notify.example.test. Не опубликуйте политику по ошибке на имени веб-сайта, почтового сервера (MX), селектора DKIM или return path. Современный механизм обнаружения DMARC может выбрать применимую политику организационного домена или публичного суффикса, если у домена автора нет корректной записи, поэтому фиксируйте и запрошенное имя, и выбранный домен политики. Запросите текущие ответы авторитетных и рекурсивных серверов до того, как открывать Cloudflare. Несколько записей политики на одном имени, некорректный синтаксис тегов или конфликтующая CNAME-запись могут сделать результат непригодным. Сохраните старое содержимое, TTL, вывод резолвера, владельца и ожидаемое значение после изменения, чтобы откат был точным, а не восстанавливался по памяти во время инцидента.
Создайте одну проверенную TXT-запись в Cloudflare
Откройте нужный аккаунт и зону Cloudflare, перейдите в DNS Records, нажмите Add record и выберите TXT. Для политики на корневом домене используйте относительное имя _dmarc, а для нужного поддомена — точную метку _dmarc. Введите одно проверенное значение без непоследовательных кавычек; в документации Cloudflare сказано, что новое содержимое TXT, сохранённое без кавычек, автоматически заключается в кавычки. Выберите TTL, соответствующий плану развёртывания и восстановления, при необходимости добавьте ссылку на изменение без персональных данных и сохраняйте запись только после проверки зоны, имени, старого и нового значения. TXT-политики — это данные DNS, а не проксируемые веб-маршруты. Если зоной управляет хостинг-партнёр или другой авторитетный провайдер, вносите изменение там, а не исходите из того, что панель Cloudflare авторитетна.
Формируйте значение DMARC из осознанных решений
Запись на этапе наблюдения может начинаться с v=DMARC1; p=none и согласованного URI для агрегированных отчётов, но это пример, а не универсальное значение. Ставьте версию первой, задавайте запрашиваемую политику осознанно и авторизуйте каждый адрес для отчётов. Пересматривайте политику для поддоменов, режим выравнивания, процент и теги отчётов только при наличии задокументированного требования и актуального толкования стандарта. Не копируйте пример от вендора с чужим почтовым ящиком в rua и не переходите сразу к p=reject только потому, что синтаксис корректен. Корректная запись выражает желаемую обработку на стороне получателя; она не доказывает, что SPF или DKIM проходят аутентификацию, что хотя бы один аутентифицированный идентификатор выровнен с доменом From, что учтены все легитимные пути отправки или что хоть одно письмо попало во «Входящие».
Проверьте выравнивание SPF и DKIM на реальных письмах
Отправьте контрольные письма по каждому пути отправки приложения получателям, чьи исходные заголовки вы можете просмотреть. Зафиксируйте видимый From, SMTP MAIL FROM, IP-адрес отправки, домен d= и селектор DKIM, Authentication-Results, идентификатор провайдера, класс письма, окружение и время. DMARC может пройти благодаря выровненному аутентифицированному SPF или выровненной проверенной подписи DKIM. SPF проверяет SMTP-идентификатор, и его результат может измениться при пересылке; DKIM проверяет подпись над выбранным содержимым. Ни то, ни другое не заменяет авторизацию в приложении. Осознанно тестируйте мягкое (relaxed) и строгое (strict) выравнивание, включая поддомены и резервные маршруты. Приём запроса API провайдером, приём письма сервером назначения, прохождение DMARC, попадание в папку и вовлечённость — это разные наблюдения. Разделяйте эти состояния, чтобы успешный вызов API или зелёный индикатор политики никогда не выдавались за более сильное доказательство доставки.
Проверяйте DNS и отчёты вне панели управления
После сохранения запросите TXT-запись по точному имени _dmarc у авторитетных серверов имён Cloudflare и у нескольких независимых рекурсивных резолверов. Сохраните исходные ответы, выбранный домен политики, TTL, резолвер, время и результат парсера. Убедитесь, что пригодная запись ровно одна, v=DMARC1 стоит первым, обязательные значения корректны, а URI для отчётов согласованы. Повторите проверку после ожидаемого окна кеширования. Снова отправьте контрольные письма и изучите заголовки у получателя. Cloudflare описывает DMARC Management как способ увидеть источники отправки и сводные результаты SPF, DKIM и DMARC, но отчёты — это запаздывающие наблюдения, предоставленные получателями, а не полная картина в реальном времени. Сопоставляйте их с данными провайдера. Останавливайтесь при расхождении резолверов, отсутствии редкого трафика, неизвестных легитимных источниках, невыровненных контрольных письмах или неожиданных изменениях объёма отчётов.
Относитесь к Cloudflare DMARC Management как к изменению DNS
Cloudflare сообщает, что при включении DMARC Management может быть предложено создать запись, если её нет, или добавить адрес Cloudflare для агрегированных отчётов в существующий тег rua. Проверяйте такое предлагаемое изменение как изменение продакшен-инфраструктуры: экспортируйте прежнее значение, убедитесь, что существующие адреса оставлены намеренно, проверьте охват доменов и сохраните возможность отката. В документации по включению также описаны текущие ограничения — работа только с корневым доменом — и оговорка о внешней SPF-записи. Не делайте вывода, что функция может безопасно переписать SPF, размещённый в другом месте. Указанный источник или IP-адрес не доказывает, какое приложение, тенант или человек его авторизовал, а отсутствие строки не доказывает отсутствия трафика. Используйте этот раздел для сбора данных, сохраняя при этом данные авторитетного DNS, исходные письма, логи провайдера и аудит приложения.
Ужесточайте режим применения поэтапно, опираясь на данные
Наблюдайте достаточно долго, чтобы охватить всех легитимных отправителей, классы писем, недельные закономерности, пакетные задания, резервные маршруты и редкие сценарии. Классифицируйте источники как собственные, согласованные вендоры, пересылка, неизвестные или злоупотребления. Исправьте выравнивание для легитимного трафика, прежде чем запрашивать более строгую обработку. Критерий «да/нет» должен включать корректный DNS, успешное прохождение контрольных писем, приемлемую долю выровненного трафика, отсутствие неизвестных легитимных источников, назначенных ответственных за инциденты, готовность поддержки и проверенный откат. Ужесточайте политику только ограниченным согласованным изменением и отслеживайте как ошибки аутентификации, так и сбои бизнес-процессов. Откатывайте или приостанавливайте изменения при отклонении легитимных писем, пропаже отчётов, неожиданных источниках, несогласованности резолверов, смене провайдера или сюрпризах с наследованием политики поддоменами. По возможности меняйте SPF, DKIM и DMARC по отдельности, чтобы причина регрессии оставалась понятной.
Избегайте типичных ошибок DMARC в Cloudflare
Частые ошибки: правка не той зоны, публикация не по тому имени _dmarc, две записи политики одновременно, испорченные кавычки, замена согласованного списка rua, предположение, что политика корневого домена и поддомена одинаковы, и переход к p=reject до того, как проявятся редкие отправители. Ещё одна ошибка — считать сохранённое или обнаруженное в панели состояние доказательством на уровне писем. Используйте точные диффы, контрольных получателей, независимые запросы, исходные заголовки и логи инцидентов с ограниченным кругом получателей. Не допускайте попадания адресов клиентов, текстов писем, API-ключей и неограниченных данных отчётов в тикеты и аналитику. Если ответы авторитетных серверов и кешей остаются несогласованными дольше запланированного, ожидаемый отправитель отсутствует или реальное письмо не проходит выравнивание, остановитесь и отдельно диагностируйте делегирование, кеш, синтаксис записи, список отправителей, SPF и DKIM.
Как SendHQ вписывается в эту схему
Безопасная граница не зависит от провайдера: приложение авторизует письмо, провайдер отправки аутентифицирует его, Cloudflare публикует или анализирует состояние DNS, а получатели оценивают письмо. Опирайтесь на актуальную официальную документацию Cloudflare, действующий стандарт DMARC, наблюдаемые ответы DNS и данные контролируемых полученных писем.
Частые вопросы
По какому имени в Cloudflare размещается DMARC-политика корневого домена?
Создайте TXT-запись _dmarc для зоны — она будет разрешаться как _dmarc.example.com. Для адреса From на поддомене оценивайте именно этот домен автора и текущие правила обнаружения.
Нужно ли вручную ставить кавычки в значении TXT?
По данным Cloudflare, новое содержимое TXT, сохранённое без кавычек, заключается в них автоматически. Избегайте непоследовательных ручных кавычек, а затем проверьте исходный ответ авторитетного сервера и результат парсера.
Проксирует ли Cloudflare TXT-запись DMARC?
Нет, для этой TXT-политики решение о HTTP-проксировании не применяется. Опубликуйте её в авторитетном DNS и проверьте извне; проксирование веб-трафика — это отдельная функция.
Может ли DMARC Management изменить запись?
В документации Cloudflare по включению функции сказано, что она может предложить добавить запись или адрес Cloudflare для rua. Явно проверьте это изменение, сохраните прежнее состояние, убедитесь в результате и при необходимости откатите его.
Отклоняет ли p=none письма, не прошедшие проверку?
Нет. Это запрашиваемая политика для наблюдения. Составьте список легитимных отправителей и исправьте их с помощью отчётов и контрольных писем, прежде чем рассматривать более строгий запрос к получателям.
Доказывает ли прохождение DMARC попадание во «Входящие»?
Нет. Оно доказывает лишь, что применимая проверка выровненной аутентификации пройдена. Приём провайдером, приём получателем, папка размещения и вовлечённость требуют отдельных доказательств в соответствующих рамках.
Почему SPF проходит, а DMARC — нет?
Аутентифицированный SMTP-идентификатор может быть не выровнен с видимым доменом From, либо возникла другая ошибка проверки. Изучите точные идентификаторы и исходные результаты на стороне получателя.
Доказывает ли запись DMARC интеграцию с провайдером почты?
Нет. Одна лишь запись DMARC не доказывает интеграцию с провайдером почты.
Источники
- Управление DNS-записями — Cloudflare
- Типы DNS-записей в Cloudflare — Cloudflare
- Обзор Cloudflare DMARC Management — Cloudflare
- Включение Cloudflare DMARC Management — Cloudflare
- Статистика DMARC в Cloudflare — Cloudflare
- RFC 9989: стандарт DMARC — RFC Editor
- RFC 7208: стандарт SPF — RFC Editor
- RFC 6376: стандарт DKIM — RFC Editor