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

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

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

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

DNS

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

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

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

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

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

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 в момент отправки.

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

Настройка

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

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

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

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

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

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

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

ruf= - тэг, в котором можно указать адрес, на который будет приходить отчет о каждом конкретном сообщении, которое не прошло проверку 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

Повторное использование отправителя

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

После добавления отправителя на странице настроек появляется сообщение:

image 13.png

Следуйте инструкции: скопируйте TXT-запись mindbox:******************** и поместите ее в DNS домена.

Проверка TXT

Проверить корректность выполненных действий можно с помощью mxtoolbox. Выберите тип «TXT Lookup» и введите в поле поиска почтовый домен.

Если запись настроена, ее детали отобразятся на странице:

Снимок экрана 2023-02-20 в 18.32.19.png

Зачем нужна политика DMARC. Правила проверки email-рассылок и как ее внедрить.