Найти тему
knowledge base

Настройка политик DMARC для почтового домена

Финальным штрихом в настройке почтового сервера, является создание записи DMARC в ДНС зонах обслуживаемых доменов. Перед этим действием, в соответствующих доменных зонах должны быть созданы записи SPF и DKIM (как настроить SPF рассказываю тут, как настроить DKIM - тут).

DMARC - является записью типа TXT в доменной зоне, которая определяет политику для почтового сервера получателя письма, по проверке SPF и\или DKIM записи, и действий которые надо предпринять, если письмо подпадает или не подпадает под описанную политику.

Работает это так:

  • пользователь с пересылает письмо с домена company.com;
  • сервер получатель принимает письмо и проверяет есть ли запись SPF для домена company.com, а так же соотвествует ли записи SPF сервер с которого письмо пришло;
  • сервер получатель проверяет подпись DKIM в заголовке письма;
  • далее сервер получатель смотрит, какие действия предпринять с письмом в соответствии с политикой DMARC (если проверки и SPF и DKIM прошли успешно, то письмо доставляется получателю, если одна из проверок не пройдена или обе не пройдены, то возможны следующие варианты: письмо м.б. доставлено получателю в неизменном виде, письмо м.б. доставлено получателю с пометкой SPAM, письмо может быть отклонено, сервер получатель может отправить отчет о том, под какую политику попало письмо, на адрес указанный в записи DMARC).

Синтаксис у DMARC простой:

  • тип записи выбираем TXT;
  • в поле host пишем _dmarc;
  • в поле "текст" указываем версию DMARC, политику, и различные необязательные параметры;
  • параметры в поле "текст" разделяются символами ";".

Вот список параметров, которые обычно использую я:

  • v - версия, принимает только одно значение v=DMARC1 (обязательный);
  • p - политика (обязательный), может принимать следующие значения: none - пропускать письмо и не принимать ни каких действий; quarantine - пропускать письма, но помечать не прошедшие проверку по SPF и\или DKIM как спам; reject - письма не прошедшие проверку отклюняются;
  • rua - адреса для отправки агрегированных отчётов об ошибках, разделённые запятой.
  • pct - процент сообщений, к которым применяется правило DMARC, любое целое число от 0 до 100 (по умолчанию 100).
  • fo - при каких условиях генерировать отчёты об ошибках: 0 - если не пройдены все основные механизмы; 1 - если хотя бы один механизм не пройден; d - отчет о не пройденной проверки DKIM; s - отчёт о не пройденной проверки SPF;

Вот примеры DMARC записей для разных ситуаций:

_dmarc TXT v=DMARC;p=none (запись DMARC с политикой, которая пропускает все письма, без уведомления, бывает нужна для ситуации, когда требуется политика DMARC, а блокировать ничего не требуется)

_dmarc TXT v=DMARC;p=quarantine (DMARC которую обычно использую я, пропускает все письма, но не прошедшие проверки помечает как спам)

_dmarc TXT v=DMARC;p=quarantine;rua=mailto:admin@company.com (тоже самое, но с уведомлениями)

_dmarc TXT v=DMARC;p=reject;rua=mailto:admin@company.com (самая строгая политика, блокирующая письма и уведомляющая об этом)

Вот пример использования других параметров:
_dmarc TXT v=DMARC;p=reject;pct=50;fo=d;rua=mailto:admin@company.com (здесь проверка идёт 50% писем, блокируются те, у которых провалена проверка и по SPF и по DKIM, администратору приходит отчет о проваленных проверках по DKIM).

проверить настройки SPF, DKIM и DMARC можно на следующих online ресурсах:

  • mxtoolbox - тут можно проверить многие параметры, в том числе корректность записей MX, SPF, DKIM, DMARC;
  • mail-tester - тут проверяются общие настройки почты, находится ли домен в спам листах, корректность записей X, SPF, DKIM. Суть сервиса в отправке со своего почтового сервера письма на специально сформированный адрес, и оценка как самого письма, так и настроек сервера и доменных записей (сервис платный, но в день можно бесплатно сделать 3 теста).