Как работает DMARC
Этапы проверки письма почтовым провайдером
Как настроить DMARC
Какую политику DMARC выбрать
Примеры записей DMARC и что они значат
Как работает фишинг и почему защита от него важна
Полезные ссылки
DMARC (Domain-based Message Authentication Reporting and Conformance) — это политика защиты пользователей от спама и фишинговых писем.
Если описать DMARC более точным, научным языком, то это аутентификация сообщений, предоставление отчётов и проверка соответствия на базе доменного имени.
Для начала мы дадим немного теории. Если вы хотите быстро настроить DMARC, не вдаваясь в подробности, перейдите к разделу «Как настроить DMARC».
Из истории. Политика DMARC появилась в 2010 году как инструмент защиты от фишинга. Её поддержали почтовые провайдеры AOL, Comcast, GMail, Hotmail, Netease, Yahoo! Mail и отправители рассылок American Greetings, Bank of America, Facebook, Fidelity, JPMorgan Chase & Co., LinkedIn, PayPal.
Как работает DMARC
Представьте, что вы отправляете массовую рассылку. Например, через UniSender. В этом случае email-провайдеру, например Mail.ru, важно знать, что именно вы разрешили UniSender отправлять письма от вашего имени. Что письма с вашего домена отправляете именно вы, а не какой-нибудь мошенник.
DMARC регулирует этот процесс. Он указывает серверу, что делать с письмом, если записи DKIM и SPF некорректны. Корректные DKIM и SPF подтверждают, что письмо действительно было отправлено от домена, указанного в поле «От:» в письме. Даже если технически письмо отправлено с серверов UniSender, а не с вашего почтового сервера.
Таким образом, DMARC отвечает за аутентификацию почты. То есть за процедуру проверки подлинности отправителя.
Разберемся, как именно DMARC это делает.
DMARC — это протокол, в котором записано, что сделать с письмом после прочтения DKIM- и SPF-записей. DKIM и SPF — это записи в настройках почтового домена. Они подсказывают email-провайдеру, что делать с пришедшим ему письмом.
DKIM работает так: в письме есть зашифрованные данные о том, кем и когда было отправлено письмо. Почтовый провайдер, Gmail или Mail.ru, получает эти данные вместе с письмом. Провайдер расшифровывает их с помощью публичного ключа, выложенного на домене, с которого отправлено письмо. Если данные совпадают — значит, это честный отправитель, письмо можно отправлять во «Входящие». Если нет — мошенник, письмо отправляется в «Спам».
Пример работы DKIM — аутентификация домена
SPF работает иначе: он показывает, можно ли с конкретного сервера отправлять письмо от этого домена. Сервер определяется по IP-адресу.
Разберем пример: когда вы отправляете рассылку через UniSender или настраиваете корпоративную почту на Mail.ru, вы делегируете серверам UniSender и Mail.ru право отправлять письма с вашего домена. В SPF написано, что сервера с конкретными IP-адресами получили от вас разрешение отправлять почту с вашего домена.
SPF выявляет доверенного отправителя по IP
Что же делает DMARC:
- указывает почтовому провайдеру, что делать с письмом в зависимости от результатов прочтения DKIM и SPF,
- говорит серверу отправить отчет на почту администратора домена (то есть вам или вашему системному администратору) с информацией, какие письма были отправлены и как провайдер поступил с письмами.
Пример работы DMARC: прочитал DKIM и говорит, что делать с теми, у кого данные не совпадают
Чтобы лучше разобраться, посмотрим, как эти протоколы работают при отправке обычной рассылки.
Как провайдер проверяет письма с учетом настроек DMARC
Допустим, вы отправили рассылку через UniSender пользователю на Mail.ru.
Как сегодня проходит отправка и получение письма:
1. Письмо отправлено.
2. Отправляющий сервер прописывает DKIM каждому письму.
3. Письмо получено провайдером получателя (Mail.ru).
4. Провайдер проверяет репутацию домена, вхождение email и домена в черные списки, IP-адреса серверов, с которых отправлено письмо. В рамках этой проверки:
- Провайдер расшифровывает и верифицирует DKIM. Точно ли от этого домена отправлено письмо, или это подделка?
- Провайдер расшифровывает и верифицирует SPF. Разрешено ли слать письма от этого домена этому IP?
- Провайдер применяет политику, прописанную в DMARC. В DMARC написано отправить в «Спам» тех, у кого DKIM не совпадает и отправить отчет об этом администратору домена.
5. К письму применяются стандартные спам-фильтры. Как они работают — читайте отдельную статью.
6. Четыре варианта развития событий после:
- Письмо пропущено и попадает во «Входящие» получателю. Если DKIM и SPF в порядке, а спам-фильтры пройдены.
- Письмо добавлено в карантин (в «Спам»). Если DKIM не совпадает и/или спам-фильтры не пройдены.
- Письмо отклонено (не доставлено). Индивидуальные причины: к примеру, у пользователя забит почтовый ящик.
7. После того, как письма распределены, отправителю сформирован и отправлен автоматический отчёт, где написано, что произошло с отправленными письмами.
То же самое в виде схемы:
График, как происходят все стандартные проверки письм
А теперь перейдем к настройке DMARC. Мы будем разбираться, как делать это с помощью стандартных настроек домена и хостинга. Если вы хотите разобраться в технических вопросах — обратитесь к своему системному администратору.
Как настроить DMARC
Чтобы настроить DMARC, нужно:
- Зайти в панель управления хостингом вашего сайта.
- Найти в настройках управление DNS-записями.
- Внести новую TXT-запись DMARC. Дальше мы на примере разберем, что именно надо написать.
- Самые распространённые записи мы перечислили в примерах. Можете просто скопировать запись оттуда.
- Сохранить внесенные изменения.
Вам нужно в своем хостинге найти раздел, где редактируются TXT-записи. Запись TXT — это тип записи DNS в текстовом формате, которая говорит внешним источникам, что делать. К примеру, подтверждает собственность на домен. Или, как DMARC, говорит почтовикам, что делать с письмами от этого домена.
Вот, к примеру, панель хостинга Fornex. Тут TXT-записи редактируются в разделе «Домены». Если не получится найти сразу — обратитесь в службу поддержки хостинга, они вам помогут.
Пример для хостинга Fornex. Куда вставляется TXT-запись
Примеры записей DMARC и что они значат
Вы можете просто скопировать ту запись, которая подходит для вашей задачи. Если что-то не получается — обращайтесь в Службу заботы о клиентах UniSender, вам обязательно помогут.
Пример 1. Что написать в DMARC, если вы не делаете рассылки.
Если у вас небольшой сайт, вы не делаете массовую рассылку и используете только корпоративную почту, вам достаточно базовой записи DMARC. Она выглядит так:
"v=DMARC1; p=none;"
Здесь видно, что запись есть, и политика — ничего не делать.
Пример 2. Что написать в DMARC если вы делаете рассылки
Если вы делаете рассылки, вам нужно прописать DMARC так, чтобы вы получали отчёт об отправках и политику указать none, так как вы пока не знаете, какие еще письма отправляются с вашего домена. Если вы поставите quarantine можете отправить хорошие, но неправильно настроенные письма в «Спам».
"v=DMARC1; p=none; sp=none; rua=mailto:postmaster@domain.tld"
Это один из самых популярных вариантов записи.
Тег «rua» с адресом обозначает, что на эту почту будет приходить отчёт. Упростить чтение отчётов можно с помощью сервиса Uriports.
Пример 3. Отклонять все сообщения, не прошедшие проверку DMARC
Такая запись будет означать, что все письма, у которых не совпадает DKIM будут не доставлены. Ее можно писать, если вы уверены, что письма отправляете только вы и всё у вас настроено корректно. Отчетов вы получать не будете.
"v=DMARC1; p=reject"
Пример 4. Отклонять все сообщения, не прошедшие проверку DMARC и отправлять все отчёты на ящик admin@test.ru.
Пишите такую запись в ситуации, когда вы точно знаете, что вас взломали. И от вашего имени отправляют письма. Но сначала убедитесь, что DKIM настроен. Только впишите ваш email вместо admin@test.ru.
"v=DMARC1; p=reject; rua=mailto:admin@test.ru"
Пример 5. 30% сообщений, которые приходят от вашего домена, но не проходят проверки DMARC, помещать в карантин.
Запись подходит, если вы начали понемногу работать с доставляемостью. Тогда 30% будут проверятся на DKIM и отправляться в «Спам» если он не соответствует. А к остальным карантин применятся не будет.
"v=DMARC1; p=quarantine; pct=30"
Что писать в настройках DMARC
Этот раздел для тех, кто хочет более детально разобраться в значениях тегов и механизме работы DMARC.
Рассмотрим, что означают разные теги и политики DMARC.
"v=DMARC1; p=none;"
v=DMARC1 — версия протокола DMARC, должна быть 1.
Это обязательно нужно написать, чтобы провайдер распознал, что именно эта TXT-запись определяет политику DMARC. Если этот параметр не будет идти первым в записи, DMARC не распознается.
p= — это Requested Mail Receiver Policy, то есть что именно сделать с письмом, если DKIM не соответствует.
У политики может быть три варианта значений:
- p=none — не предпринимать особых действий или все на усмотрение почтового провайдера;
- p=quarantine — отправить в «Спам»;
- p=rejected — не принимать письмо.
Какую политику DMARC выбрать
В самой настройке DMARC самое сложное понять, какая политика подойдет для ваших текущих задач.
None — это просто доставлять все письма. Такая политика подходит, когда вы только начали настраивать DMARC и хотите видеть, от кого вообще отправляется почта с вашего домена. Вы же не в курсе всех в вашей компании, кто отправляет письма, в том числе автоматические. Это могут быть разработчики, бухгалтерия (которая подключила 1С), маркетологи из других отделов.
Quarantine — это политика карантина. С этой пометкой письма, в зависимости от почтового провайдера будут:
- отправлены в спам;
- отмечены к более строгой проверке;
- помечены как подозрительные у пользователя во «Входящих».
Пример пометки письма как подозрительного в Gmaill
Reject — самая строгая политика и самый высокий уровень защиты. Все письма, которые не прошли проверку SPF и/или DKIM будут заблокированы. Казалось бы, выбираем reject и все защищены 🙂 Но с этим есть нюансы.
DKIM/SPF корректно не работают в случае, если:
- пользователи настроили пересылку писем с одного своего ящика на другой, такие письма от вашего имени не будут доставляться;
- сервис, через который вы отправляете письма, например платежка, не позволяет прописать DMARC, DKIM и SPF;
- вы забыли внести сервис рассылок или CRM в белый список отправителей, или белый список работает некорректно, тогда все массовые рассылки по вашему же выбору не будут доставляться пользователям;
- другие виды ошибок и поломок в DMARC- записи.
Если вы настроите политику reject, во всех этих случаях письма не будут доставляться отправителям.
Эксперты советуют сначала прописать в политику DMARC политику p=none и корректные отчёты с помощью тегов rua и fo. В отчётах будет видно, с каких адресов уходят письма и что с ними происходит. Не исключено, что вы найдете и мошеннические отправки.
Затем продумать, что нужно изменить в рассылке, чтобы в политике DMARC можно было указать quarantine. В этой стратегии нужно учитывать интересы всех отделов, которые работают с доменом и сайтом. Убедится, что у всех корректно настроены письма и прописаны SPF, DKIM, DMARC и письма из бухгалтерии или биллинга не будут отмечаться, как подозрительные.
На эту тему читайте советы:
Теги DMARC бывают обязательные и не обязательные. Обязательные — это v=DMARC1 и p= со значением политики. Мы выше рассказали, как ее выбирать.
Необязательные теги DMARC
Кроме обязательных тегов, можно указать дополнительные. Они будут указывать, какие отчёты и куда отправлять или к какому проценту писем применять политику. Перечислим необязательные теги:
- aspf и adkim позволяют проверять SPF и DKIM и могут принимать значения r (relaxed) — мягкая проверка и s (strict) — строгая, для начала выбирайте мягкую проверку, чтобы не заблокировать некорректно настроенные, но нужные письма от вашего домена, например автоматическую отправку счетов из 1С;
- pct отвечает за % писем, подлежащих фильтрации по этому протоколу. Если не заполнено — то все. Если pct=20 — будет фильтровать 20% писем.
- sp — политика субдомена (или субдоменов), которая работает так же, как и политика домена. Когда вы делаете массовую рассылку, почта отправляется с разных поддоменов на вашем домене. Вы можете регулировать каждый из них.
- rua — email, на который раз в сутки будет приходить агрегированный отчёт в XML. Этот отчёт и поможет вам узнать, кто отправляет письма от вашего имени и какие письма вообще отправляются от вашего домена.
- rf — отчёт, если письмо не прошло проверку;
- fo — failure reporting options, если механизм отчёта не сработал:
- fo=0 (используется по умолчанию) — отправить отчёт, если не пройден ни один этап аутентификации;
- fo=1 — если не пройден хотя бы один этап аутентификации;
- fo=d — если не пройдена DKIM;
- fo=s — если не пройдена SPF.
Так как DMARC был придуман для защиты от фишинга, разберёмся, что это такое и почему важно от него защищаться.
Как работает фишинг и почему защита от него важна
В 2018 году фишингу подверглось 83% пользователей, но только 65% смогли объяснить что это такое.
Фишинговое письмо не всегда выглядит, как подделка. Иногда дизайн в точности повторяет письмо от бренда, а заметить, что ссылки и email отправителя не совпадают, очень сложно. А можно просто не знать, с какого адреса бренд отправляет важные информационные сообщения.
Пример особо опасного фишинга — маскировка под Gmail
Интернет-мошенники, которые занимаются фишингом, подделывают письмо и сайт авторитетного отправителя. Затем отправляют пользователю письмо с эмоциональной темой, например, «Кто-то украл ваш пароль». Посмотрите на адрес отправителя, это точно не Gmail. Но в спешке можно этого не заметить.
Пример фишингового письма, подделанного под Gmail
Затем пользователь переходит на страницу, которая выглядит точь в точь как страница авторизации в Gmail. Можно и не заметить, что со ссылкой что-то не так.
Пример фишинговой страницы под Gmail
Всё, злоумышленники завладели паролем от почты и могут пойти дальше — узнать информацию о банковских картах, украсть деньги или аккаунты в соцсетях.
По ссылке — много примеров искусного фишинга.
В данном случае DMARC — это единственный способ определить, что Gmail не отправлял этого письма. Если он настроен, письмо будет не доставлено или помечено как подозрительное, пользователь обратит внимание, что это подделка. И сохранит свой пароль.
DMARC — отличный инструмент, чтобы следить за доставляемостью почты и понимать, как провайдеры получают и обрабатывают ваши письма. На основе этого вы можете улучшить доставляемость и вернуть себе 5% или больше вашей базы, которая может не получать письма по техническим причинам.
Служба заботы о клиентах помогает настроить политику DMARC для клиентов. Если вы клиент UniSender, просто обратитесь в чат поддержки. Если вы не клиент — зарегистрируйтесь в UniSender.
Полезные ссылки
Полный путеводитель по DMARC
DMARC: защитите вашу рассылку от подделок
FAQ по настройке аутентификации на сайте DMARC
Сервис проверки домена на DMARC онлайн
Как настроить аутентификацию рассылок