Как защитить домен от спуфинга и спама с помощью DMARC

DMARC (domain-based message authentication reporting and conformance) — это политика защиты пользователей от спама и фишинговых писем.

Используются три стандарта аутентификации электронных писем, которые помогают защитить электронную почту от спуфинга и фишинга, а также предотвратить попадание отправляемых из организации писем в папку "Спам" получателей.

  • SPF (Sender Policy Framework) – определяет почтовые серверы и домены, которым разрешено отправлять электронную почту от имени вашей организации.
  • DKIM (DomainKeys Identified Mail) – добавляет к каждому отправляемому письму цифровую подпись, с помощью которой принимающие серверы могут проверить, не было ли письмо подделано или изменено при доставке.
  • DMARC (Domain-based Message Authentication, Reporting, and Conformance) – сообщает принимающим почтовым серверам, что делать с полученными из организации письмами, которые не прошли проверку SPF или DKIM.

Прежде чем внедрять DMARC, настройте технологии DKIM (DomainKeys Identified Mail) и SPF (Sender Policy Framework). Аутентификация писем с их помощью должна выполняться как минимум за 48 часов до включения DMARC.

Проверить наличие записи DMARC можно при помощи утилиты dig. Введите _dmarc. и полное доменное имя. Например, для домена dieg.info укажите _dmarc.dieg.info

dig _dmarc.dieg.info txt @8.8.8.8 +short
"v=DMARC1; p=reject"

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

DMARC использует выравнивание доменов для аутентификации вашей электронной почты. Это означает, что DMARC проверяет, является ли домен, указанный в адресе From (в видимом заголовке), подлинным, сравнивая его с доменом, указанным в скрытом заголовке Return-path (для SPF) и заголовке подписи DKIM (для DKIM). Если оба домена совпадают, электронное письмо проходит DMARC, в противном случае это приводит к DMARC fail.

Таким образом, если ваша электронная почта не проходит DMARC, это может быть связано с несоответствием домена. То есть ни SPF, ни DKIM идентификаторы не совпадают, и электронное письмо кажется отправленным из неавторизованного источника.

Обратите внимание, что для того, чтобы электронная почта прошла проверку подлинности DMARC, необходимо соответствие либо SPF, либо DKIM.

Чтобы вам не ломать голову, приведем ниже четыре самые распространенные DMARC-записи. В примере для домена dieg.info создаем запись состоящая из 3 частей. В дальнейшем, в примерах будет указана только третья часть, но не забывайте о двух первых:) когда будите создавать запись в DNS.

  1. Target / Host / Location: _dmarc
  2. Record Type: TXT
  3. Your DMARC Record is: v=DMARC1;p=none

Самая простая DMARC-запись. По сути, она не призывает сервер получателя ни к каким действиям по отношению к неаутентифицированным письмам. Мы рекомендуем её внести, чтобы проверить, что всё работает исправно.

v=DMARC1;p=none;rua=mailto:postmaster@yourdomain.com

Показывает получателю, что не надо отклонять никаких писем, но вам на указанный адрес будет отправляться письмо. В письме — агрегированный отчёт об отправленных письмах и серверах, откуда они ушли. Такая запись нужна, если вы хотите увидеть, идёт ли от вас нежелательный трафик. Ещё это промежуточный вариант перед включением политики reject (полного отклонения неаутентифицированных сообщений).

v=DMARC1;p=quarantine;rua=mailto:postmaster@yourdomain.com

Вариант-середнячок, один из самых распространённых. Письма, которые не аутентифицированы, будут помечаться вашим почтовым сервисом как спам или как нежелательные (зависит от сервиса).

v=DMARC1;p=reject;pct=25;rua=mailto:postmaster@yourdomain.com
"v=DMARC1; p=none; rua=mailto:darkfire@dieg.info"
"v=DMARC1; p=reject; sp=none; pct=100; ri=86400; rua=darkfire@dieg.info"

Это уже строгая политика DMARC относительно неаутентифицированных сообщений. Мы рекомендуем вам постепенно наращивать процент отклонения таких писем: начиная с 25%, понемногу переходить к 100%.

Алгоритм настройки проверок соответствия DMARC.

Чтобы обнаружить сбой DMARC, используйте эту удобную функцию, предлагаемую вашим протоколом DMARC. Вы можете получать отчеты, содержащие ваши данные DMARC, от ESP, просто определив тег "rua" в вашей записи DMARC DNS. Ваш синтаксис может быть следующим:

v=DMARC1; ptc=100; p=reject; rua=mailto:infog@example.com;

Тег rua должен содержать адрес электронной почты, на который вы хотите получать отчеты.

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

Из отчетов DMARC можно узнать (Как интерпретировать отчеты DMARC):

  • какие серверы или сторонние отправители шлют письма от имени вашего домена;
  • количество сообщений, отправленных с одного IP-адреса за отчетный период времени;
  • какой процент писем из вашего домена успешно проходит проверку DMARC;
  • какие серверы или сервисы шлют письма, которым не удается пройти проверку DMARC;
  • какие действия DMARC (none, quarantine или reject) выполняет получающий сервер с сообщениями из вашего домена, не прошедшими проверку.

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

📌 Для тестирования скриптов, установщиков VPN, Python ботов рекомендуем использовать надежные VPS на короткий срок. Если вам нужна помощь с более сложными задачами, вы можете найти фрилансера, который поможет с настройкой. Узнайте больше о быстрой аренде VPS для экспериментов и о фриланс-бирже для настройки VPS, WordPress. 📌

💥 Подпишись в Телеграм 💥 и задай вопрос по сайтам и хостингам бесплатно!