Как настроить DKIM и DMARC
DKIM и DMARC — это основные настройки для защиты почтового сервера отправителя от рассылок вредоносных писем.
DKIM подтверждает то, что домен отправителя подлинный и что почтовые сообщения приходят именно от него, поэтому без этой подписи письма отправителя будут не доставляться или попадать в спам.
DMARC — это алгоритм обработки писем, который является дополнительной защитой и проверкой ваших рассылок.
DNS
Все подписи настраиваются через соответствующие записи в DNS клиента, панель управления к которому предоставляет хостинг-провайдер, у которого был куплен домен.
После того, как записи были указаны в DNS домена, может пройти до 24 часов до того момента, как они начнут обнаруживаться извне — и нами, и через mxtoolbox.
Записи в DNS выглядят так:
Если у вас периодически открывается и пропадает проблема о том, что запись DKIM не обнаружена — первым делом обратитесь к своему хостинг-провайдеру в поддержку. Это симптом того, что DNS «моргает», поэтому записи на домене периодически не обнаруживаются извне.
DKIM
DKIM — DomainKeys Identified Mail — метод для обнаружения подделки email-писем. Запись подтверждает, что сервер, с которого ушло сообщение с данным отправителем, действительно может отправлять сообщения от его имени. DKIM повышает репутацию отправителя и доставляемость писем. Проверка происходит через приватный и публичный ключи.
Настройка
Пара ключей генерируется отдельно для каждого сервера-рассыльщика. Публичный ключ кладется в запись DKIM в DNS домена отправителя, а приватным ключом подписываются уходящие сообщения.
В Mindbox ключи нужно сгенерировать в Настройки → Рассылки → Настройки email. После того, как добавите и сохраните отправителя, появится кнопка «Сгенерировать DKIM». Инструкция об этом есть тут.
Именно то, что было сгенерировано после нажатия на кнопку и отображается у домена, нужно положить в запись DNS.
Рядом кладем вторую запись _domainkey o=~;
**которая говорит о том, что для данного домена могут рассылаться и неподписанные DKIM сообщения.
Проверка DKIM
Проверить DKIM-запись в mxtoolbox.
Важно, чтобы ключ, который высвечивается в mxtoolbox полностью совпадал с тем, что показывается в настройках email в Mindbox, иначе запись будет настроена неверно. Это совпадение нужно проверить вручную при наличии соответствующей проблемы в настройках Mindbox.
Так же важно, чтобы ключ обнаруживался с нужным селектором — для нас это Mindbox.
Если этого не происходит, то либо DKIM вообще не настроен, либо есть ошибка в имени записи mindbox._domainkey
, поэтому нужно смотреть туда.
Также для проверки DKIM можно отправить письмо на Gmail и открыть его оригинал.
Если в оригинале получилось найти dkim=pass, то всё настроено правильно.
Если при попытке отправить письмо на 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.
Важно
- При политике
p=quarantine
почтовому серверу указано класть определенные письма в спам, что может повлиять на доставляемость и OR писем. - При политике
p=reject
почтовому серверу указано отклонять определенные письма, что может повлиять на уровень доставляемости писем.
В обоих случаях при возникновении проблем первым делом нужно решить проблемы с цифровыми подписями.
Проверка DMARC
Для проверки нужно пройти на mxtoolbox и ввести в поле поиска почтовый домен клиента.
Если запись настроена, детали должны отобразиться на странице в развёрнутом виде:
Для проверки DMARC можно отправить письмо на Gmail и открыть его оригинал.
И найти в заголовках проверку DMARC:
Повторное использование отправителя
Иногда нужно создать отправителя, чей домен ранее был добавлен на другой проект.
В таком случае его ключ DKIM будет уже подтвержден, поэтому нужна дополнительная проверка на владение доменом. Для этого нужно будет ввести в DNS новую запись.
После добавления отправителя на странице настроек появляется сообщение:
Следуйте инструкции: скопируйте TXT-запись mindbox:********************
и поместите ее в DNS домена.
Проверка TXT
Проверить корректность выполненных действий можно с помощью mxtoolbox. Выберите тип «TXT Lookup» и введите в поле поиска почтовый домен.
Если запись настроена, ее детали отобразятся на странице: