Как настроить SPF, DKIM и DMARC
  • 28 Oct 2022
  • 6 минуты
  • Темная тема
    Светлая тема
  • формат pdf

Как настроить SPF, DKIM и DMARC

  • Темная тема
    Светлая тема
  • формат pdf

SPF, DKIM и DMARC — это основные настройки для защиты почтового сервера отправителя от рассылок вредоносных писем.

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

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

SPF и DKIM работают через записи на DNS сервера. Принцип работы очень простой:

  1. Сервер получателя получает письмо с адреса info@company.com, с сервера mta.mindbox.ru.
  2. Сервер получателя делает запрос к DNS для домена company.com и ищет записи SPF и DKIM.
  3. В случае если записей нет, письму проставляется статус neutral (конкретно по этим проверкам) и письмо проверяется дополнительными фильтрами.
  4. В случае если записи обнаружены, проверяется, разрешено ли серверу mta.mindbox.ru отправлять почту домена company.com.
  5. Если mta.mindbox.ru не найден в списке разрешенных, то письмо или отбрасывается, или проставляется статус neutral.
  6. Если mta.mindbox.ru найден в списке разрешенных, письму проставляется статус pass и повышается рейтинг письма при прохождении других фильтров.

DNS

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

После того, как записи были указаны в DNS домена, может пройти до 24 часов до того момента, как они начнут обнаруживаться извне — и нами, и через mxtoolbox.

Записи в DNS выглядят так:

Снимок экрана 2020-07-14 в 18.30.05.png

Если у вас периодически открывается и пропадает проблема о том, что запись DKIM не обнаружена — первым делом обратитесь к своему хостинг-провайдеру в поддержку. Это симптом того, что DNS «моргает», поэтому записи на домене переодически не обнаруживаются из вне.

SPF

SPF — Sender Policy Framework (инфраструктура политики отправителя) — настройка со списком серверов и IP-адресов, с которых разрешается рассылать письма от имени вашего домена. Это подтверждение того, что именно вы отправляете письмо.

Почтовый сервер получает письмо от имени клиента и отправленное с серверов Mindbox, смотрит на содержание SPF и понимает, может ли письмо от такого отправителя рассылаться с серверов Mindbox.

Настройка

Рекомендуемая нами конфигурация SPF:

v=spf1 a mx include:spf.mindbox.ru ?all

v — версия записи;

a mx — указывает, что можно отправлять почту с ip, указанных в соответствующих записях домена-отправителя;

include — указывает, с каких ip дополнительно можно рассылать почту, здесь перечисляются все сторонние ip или домен, в записях которого перечислены ip;

[spf.mindbox.ru](http://spf.mindbox.ru) — домен Mindbox, который как раз содержит в себе все наши ip-адреса; если появляются новые, то мы их добавляем внутрь этого домена безболезненно для записей отправителей.

?all — говорит о том, что сообщения с ip-адресов, отличных от перечисленных, не отклоняются, а принимаются, просто с другим статусом. Настройку можно менять на свое усмотрение.

Такая запись задается один раз для домена, дальше она просто дополняется новыми ip-адресами. То есть, если клиент уже определял SPF-запись для своего домена, например, пользуется еще каким-то рассыльщиком, то ему нужно добавить в уже существующую запись include spf.mindbox.ru.

Для поддомена отправителя нужна своя запись, также одна на весь поддомен.

Проверка SPF

Проверить SPF-запись на mxtoolbox. Важно, чтобы запись обнаруживалась, чтобы она была одна на весь домен и чтобы в ней было указание на IP Mindbox.

Снимок экрана 2022-10-28 в 15.21.44.png

После нажатия на SPF Record Lookup появится такая таблица. Учитывайте, что обновление записей обычно занимает от 30 минут до 4 часов — стоит подождать некоторое время, чтобы записи успели обновиться.

Снимок экрана 2022-10-28 в 15.22.37.png

Вторым шагом проверки является отправка письма с доверенного сервера (который вы внесли в SPF, например, с нашего) на ящик на Gmail. Нужно открыть полученное письмо, в меню выбрать «Показать оригинал».

Снимок экрана 2022-10-28 в 17.13.36.png

В оригинале письма нужно найти строчку Received-SPF: pass. Если она есть, то настройка была правильной.

Снимок экрана 2022-10-28 в 15.59.44.png

Если стоит failed или neutral, то что-то прописано неверно, и Gmail не доверяет серверу, с которого было отправлено письмо.

Все записи домена можно проверить здесь.

DKIM

DKIM — DomainKeys Identified Mail — метод для обнаружения подделки email-писем. Запись подтверждает, что сервер, с которого ушло сообщение с данным отправителем, действительно может отправлять сообщения от его имени. DKIM повышает репутацию отправителя и доставляемость писем. Проверка происходит через приватный и публичный ключи.

Настройка

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

В Mindbox ключи нужно сгенерировать здесь: «Настройки рассылок» → «Настройки email». После того, как добавите и сохраните отправителя, появится кнопка «Сгенерировать DKIM». Инструкция об этом есть тут.

Снимок экрана 2022-10-28 в 15.53.21.png

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

Снимок экрана 2022-10-28 в 15.56.59.png

Рядом кладем вторую запись _domainkey o=~; **которая говорит о том, что для данного домена могут рассылаться и неподписанные DKIM сообщения.

image.png

Проверка DKIM

Проверить DKIM-запись в mxtoolbox.

Снимок экрана 2022-10-28 в 16.06.27.png

Важно, чтобы ключ, который высвечивается в mxtoolbox полностью совпадал с тем, что показывается в настройках email в Mindbox, иначе запись будет настроена неверно. Это совпадение нужно проверить вручную при наличии соответствующей проблемы в настройках Mindbox.

Снимок экрана 2022-10-28 в 16.25.53.png

Так же важно, чтобы ключ обнаруживался с нужным селектором — для нас это Mindbox.

image.png

Если этого не происходит, то либо DKIM вообще не настроен, либо есть ошибка в имени записи mindbox._domainkey, поэтому нужно смотреть туда.

Также для проверки DKIM можно отправить письмо на Gmail и открыть его оригинал.

Снимок экрана 2022-10-28 в 17.13.36.png

Если в оригинале получилось найти dkim=pass, то всё настроено правильно.

Снимок экрана 2022-10-28 в 16.28.28.png

Если при попытке отправить письмо на mail.ru получаете ошибку вида dkim=invalid reason=pubkey_syntax, проверьте опубликованную запись DKIM на наличие пробелов.

DMARC

Цифровая подпись DMARC позволяет задать определенное поведение для писем, которые не проходят проверку на DKIM и SPF в момент отправки.

Когда почтовый сервер обнаружил, что письма не соответствуют тому, что написано внутри записей SPF и DKIM, и данный отправитель не может слать с таких IP и сервера, он проверит запись DMARC и сделает с письмом то, что там указано (отклонит, отправит в спам или не сделает ничего).

Настройка

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

Имя записи: _dmarc.company.com
Значение (TXT): v=DMARC1; p=none

Запись добавляется в единственном экземпляре на домен и все поддомены.

v= - версия записи

p= - политика обращения с письмами, которые не прошли проверку записей SPF и DKIM.

  1. p=none в записи сообщает почтовому серверу, который принимает сообщение, что ему нужно в любом случае принять письмо и сделать с ним что-то на свое усмотрение вне зависимости от того, была ли пройдена проверка DKIM и SPF (обеих записей) для такого сообщения.
  2. p=quarantine в записи сообщает почтовому серверу, который принимает сообщение, что, если проверка DKIM и SPF (обеих записей) не прошла, ему нужно положить сообщение в спам.
  3. p=reject в записи сообщает почтовому серверу, который принимает сообщение, что, если проверка DKIM и SPF (обеих записей) не прошла, ему нужно отклонить сообщение и вообще его не принимать.

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

ruf= - тэг, в котором можно указать адрес, на который будет приходить отчет о каждом конкретном сообщении, которое не прошло проверку и SPF, и DKIM и к которому была применена политика DMARC.

Об отчётах DMARC можно почитать здесь.

pct= - тэг, который принимает число от 1 до 100, означающее процент писем, к которым будет применена указанная в записи политика.

Рекомендации

Мы рекомендуем настраивать политику, отличную от p=none, на собственное усмотрение.

Ужесточение политики DMARC рекомендуется делать плавно:

  1. Сначала настраивается политика p=none и отчёты DMARC через тэги rua и ruf. Важно следить через отчёт за количеством сообщений, не прошедших проверку DMARC, и устранять их.
  2. Как только проблемы по большей степени решены, можно ужесточать политику, пользуясь также тэгом pct. Отслеживание проблем через отчёты остается.

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

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

Важно

  1. При политике p=quarantine почтовому серверу указано класть определенные письма в спам, что может повлиять на доставляемость и OR писем.
  2. При политике p=reject почтовому серверу указано отклонять определенные письма, что может повлиять на уровень доставляемости писем.

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

Проверка DMARC

Для проверки нужно пройти на mxtoolbox и ввести в поле поиска почтовый домен клиента.

Если запись настроена, детали должны отобразиться на странице в развёрнутом виде:

Снимок экрана 2022-10-28 в 17.09.28.png

Для проверки DMARC можно отправить письмо на Gmail и открыть его оригинал.

Снимок экрана 2022-10-28 в 17.13.36.png

И найти в заголовках проверку DMARC:

66504106f8dee0aac5f91e3379f8bc1bdmarc2.png


Была ли эта статья полезной?