DMARC: почтовая безопасность

Вы наверняка знаете, что адреса отправителей писем (поле From:) довольно часто подделываются. Получатель сообщений от поддельного отправителя уверен, что письма ему приходят от пользователей определенных доменов, которые не имеют к этому никакого отношения.

Что делать, если рассылка ведется якобы от имени пользователей почты в домене Вашего сайта? Как обезопасить репутацию своего домена от негативного действия фишинга и спуфинга?

Если вы получили сообщение о невозможности доставки Вашего сообщения со странной пометкой о несоответствии некоей политике DMARC, эта статья написана специально для вас.

550-This message was not accepted due to domain owner DMARC policy (RFC 7489)

DMARC — это технология, созданная для защиты от спамовых и фишинговых писем, основанная на идентификации почтовых доменов.

Мы постарались подробно рассказать о том, чем вам может быть полезна технология DMARC и как избежать досадных ошибок при работе с почтой.


Зачем это нужно?


Вслед за ростом количества спама и связанного с рассылками интернет-мошенничества, механизмы проверки подлинности электронных писем постоянно совершенствуются. Если письмо не проходит проверку подлинности, оно должно быть определено как спам, но в некоторых случая проверку подлинности не проходят и письма от надежных отправителей. Что делать, чтобы обычные письма точно доходили до адресата, а нежелательные точно отправлялись в папку «Спам»?

Стандарт проверки подлинности сообщения на доменном уровне DMARC (Domain-based Message Authentication, Reporting & Conformance) помогает владельцам надежно защитить свои почтовые домены от использования злоумышленниками для рассылки спама и/или фишинг сообщений. Если для домена определен ряд критериев проверки подлинности (записи SPF, DKIM, DMARC), и сообщение не проходит проверку по данным критериям, оно будет отклонено или попадет в спам, в зависимости от значения записей.

Как это работает?

В записи DMARC домена указывается, какие действия рекомендуется выполнить почтовому серверу в случае, если домен отправителя сообщения не проходит заданные проверки (по SPF и DKIM записям в DNS домена). Если проверка домена не пройдена и в записи указано, что сообщение может быть не принято, почтовый сервер может отклонить данное сообщение, выслав соответствующий отчет отправителю.

Как DMARC влияет на доставляемость?

При получении сообщения почтовым сервером, в соответствии с его текущими

настройками, производится оценка репутации домена по множеству факторов.

Если запись DMARC не указана, значит домен может быть использован для рассылки мошеннических сообщений, фишинга и спуфинга. Наличие такой возможности уменьшает степень доверия к домену и понижает его репутацию, что может привести к попаданию отправленного с него сообщения в спам или к отклонению сообщения.

Избежать этого помогут правильно настроенные записи в описании DNS домена: SPF, DKIM и DMARC.

Настройка SPF

Запись SPF добавляется как TXT-запись домена и имеет вид:

domain.com. TXT "v=spf1 a mx ip4:141.8.194.175 ~all"

Она определяет серверы, с которых происходит отправка сообщений, и действия для них.

Здесь приведена стандартная запись, генерируемая нашим сервисом автоматически при добавлении домена на аккаунт. Рассмотрим некоторые варианты аргументов записи:

v

Версия протокола, имеет значение “spf1”

+

Принимать сообщение. Этот параметр установлен по умолчанию.

Отклонить сообщение.

~

Пометить сообщение как СПАМ

?

Нейтральное отношение

mx

Включает в себя все адреса серверов, указанные в MX-записях домена.

ip4

Позволяет указать конкретный IP-адрес или сеть адресов.

a

Указывает поведение в случае получения письма от конкретного домена.

include

Включает в себя хосты, разрешенные SPF-записью указанного домена.

redirect

Указывает получателю, что нужно проверять SPF-запись указанного домена вместо текущего домена.

all

Все остальные серверы, не перечисленные в SPF-записи.

Таким образом, добавляемая нашим сервисом запись гласит, что сообщения от основного домена (“a”), домена из MX-записи (“mx”), IP-адреса 141.8.194.175 (“ip4:141.8.194.175”) необходимо принимать, а со всех прочих (“all”) — перемещать в папку со спамом.

Если обслуживание почты на домене делегировано на внешний сервис (например, Yandex), добавляется следующая запись:

"v=spf1 redirect=_spf.yandex.ru"

Она указывает на использование SPF-записи, указанной для домена _spf.yandex.ru.

Настройка DKIM

DKIM-запись необходима для проверки сервера отправителя по специальной паре ключей. Эта запись не имеет такого множества параметров, как SPF, и имеет следующий вид:

mail._domainkey.domain.com. TXT "k=rsa\; t=s\; p=..."

Здесь:

  • “mail” — так называемый селектор, который нужен для добавления нескольких записей, для каждой записи нужно будет указать свой селектор.
  • “_domainkey” — идентификатор записи типа DKIM
  • k, t, p — параметры ключа.

DKIM-запись на нашем сервере сгенерирована для домена, указываемого в заголовке From по умолчанию, который имеет вид login@server , где login — логин аккаунта хостинга, а server — имя сервера в нашей системе.

Для основного домена сайта на нашем хостинге запись можно добавить через Панель управления.

Если почта обслуживается внешним сервисом, то у нас необходимо добавить только TXT-запись с именем и значением, полученным на данном внешнем сервисе.

Также у домена можно прописать ADSP запись — это позволяет принимающему серверу понять, должно ли ваше письмо быть подписано.

Запись выглядит таким образом:

_adsp._domainkey.domain.com. TXT "dkim=all"

Значений “dkim=” может быть три:

all

Все письма должны быть подписаны, в противном случае письмо будет отмечено как подозрительное.

discardable

Неподписанные письма не должны приниматься.

unknown

Аналогично отсутствию записи.

Настройка DMARC

Пример простейшей записи DMARC имеет вид:

_dmarc.domain.com TXT «v=DMARC1; p=none;»

Она указывает, что для всех сообщений по ней не требуется принимать никаких действий. Однако данная запись никакой пользы не несет, поэтому рассмотрим возможные параметры записи:

Тег

Описание

Значения

Обязательный

v

Версия протокола.

DMARC1

Да

p

Правила для домена

none — не принимать никаких действий

quarantine — отправлять сообщения в спам

reject — не принимать сообщения

Да

aspf

Режим проверки
соответствия для
SPF-записей

r (relaxed) — разрешать частичные совпадения,

например субдоменов данного домена

s (strict) — разрешать только

полные совпадения

Нет

pct

Сообщения,
подлежащие
фильтрации (в %)

Процент сообщений, для которых применимы правила

Нет

sp

Правила для
поддоменов

none — не принимать никаких действий

quarantine — отправлять сообщения в спам

reject — не принимать

Нет

rua

Адрес для сводных
отчетов (значение может быть указано, но пока отправка отчетов не поддерживается большинством почтовых сервисов)

rua=mailto:report@domain.com

Нет

С использованием данных параметров можно задать следующее правило:

"v=DMARC1; p=quarantine; sp=quarantine; aspf=r;"

Оно задает, что все сообщения, отправленные с ящика в домене или поддомене, не прошедшие проверку, необходимо помещать в спам.

Добавить комментарий