Как сгенерировать dkim подпись
Как сгенерировать dkim подпись
Чтобы отправлять рассылки от своего почтового домена Вам необходима настройка подписей DKIM, SPF.
Установка своей DKIM-подписи для рассылок, отправляемых через сервера CRM АвтоВебОфис, состоит из 3-х ключевых этапов:
Таким образом, в уже существующую SPF запись будут добавлены IP адреса используемые серверами АвтоВебОфис, а для подписей DKIM будет использоваться свой отдельный уникальный ключ.
1. Создание закрытого (DKIM Private Key) и публичного (DKIM Public Key) ключей DKIM подписи
2. Внесение изменений настроек DNS у регистратора домена, к которому создавались секретный (DKIM Private Key) и публичный (DKIM Public Key) ключи DKIM-подписи
ВАЖНО: Публичный ключ в настройки домена нужно вставлять без заголовков —–BEGIN PUBLIC KEY—– и —–END PUBLIC KEY—– Т.е. нужно копировать ТОЛЬКО ПУБЛИЧНЫЙ_КЛЮЧ:
3. Установка своей DKIM-подписи на сервера CRM АвтоВебОфис
Для установки DKIM-подписи на стороне Вашего магазина, зарегистрированного в CRM АвтоВебОфис, Вам необходимо:
4. Настройка SPF-записи для массовых email-рассылок через CRM АвтоВебОфис
SPF (Sender Policy Framework) — система, позволяющая указывать IP-адреса, с которых разрешена отправка в DNS-записях домена.
Для настройки SPF-записи корректно работающей с рассылками, отправляемыми через CRM АвтоВебОфис, Вам необходимо указать следующее значение в DNS:
Имя: mysite.com.
Тип: TXT (текстовая запись)
Значение: v=spf1 include:autoweboffice.ru
ВАЖНО: Если для домена уже присутствует сторонняя SPF запись, ее необходимо удалить или объединить с записью АвтоВебОфис (если хотите сохранить возможность вести рассылки с другого сервиса), так как SPF должна быть одна.
Почему в настройках SPF-записи не указывается конкретных IP-адресов?
CRM АвтоВебОфис это профессиональное решение для организации массовых email-рассылок, позволяющее, в максимально сжатые сроки, отправлять рассылки на адреса сотен миллионов получателей. Для отправки писем в таких объемах, у нас используется множество серверов рассыльщиков, регулярно выводятся из эксплуатации «проблемные» и регулярно вводятся в эксплуатацию новые сервера.
Все это делает невозможным настройку SPF записи для одного или нескольких IP-адресов. Т.к. список используемых IP-адресов постоянно обновляется.
Как проверить правильно настроена/установлена DKIM-подпись или нет?
Для проверки корректности установки/настройки собственной DKIM-подписи, Вам необходимо получить на свой почтовый ящик письмо от Вашего магазина, зарегистрированного в CRM АвтоВебОфис, в котором производили настройку DKIM
Это можно сделать множеством способов, например, выписать счет на свой email в разделе «Продажи→Счета».
После того, как письмо получено, Вам необходимо открыть оригинал письма и убедиться, что в нем есть следующие записи:
Если Вы все настроили правильно, а подпись все равно не работает, попробуйте задать более короткое имя отправителя
5. Настройка DMARC
После того, как Вы настроили DKIM и SPF для почтового домена и убедились в корректности проделанных настроек (dkim=pass и spf=pass в отправляемых из аккаунта письмах), для защиты Ваших писем от подделок, Вам необходимо настроить политику DMARC
6. Настройка получение FBL-отчетов серверами CRM АвтоВебОфис
FBL (Feedback Loop) — это стандарт выдачи информации о жалобах на спам от провайдера услуг электронной почты отправителю писем.
Если говорить проще — любой отправитель писем (например, CRM АвтоВебОфис) может получать в реальном времени информацию о том, что конкретный пользователь пожаловался (нажал кнопку «Это спам») на конкретное письмо, пришедшее от этого сервиса. После нажатия кнопки «Это спам» почтовый сервис формирует отчет в специальном формате ARF (Abuse Reporting Format), который содержит исходное письмо и электронный адрес пользователя, также отчет может содержать дополнительную мета-информацию.
Для того, чтобы настроить FBL, обязательным требованиям является рабочий почтовый сервер или выделенный почтовый ящик, который будет принимать все ваши FBL- отчеты.
Для этого, Вам необходимо создать выделенный почтовый ящик на своем домене для FBL-отчетов и настроить редирект на ящик abuse@autoweboffice.ru
Таким образом, Ваши отчеты будут доступны и нам, и это позволит нам их обрабатывать и исключать из Ваших рассылок контакты, нажавшие кнопку «Это СПАМ» в ответ на Ваше письмо.
Не стоит придумывать разнообразные названия для выделенного ящика для FBL-отчетов. Самыми лучшими и оптимальными названием являются fbl@vash-domen.ru или abuse@vash-domen.ru.
Настройки FBL для Mail.ru
Зарегистрируйтесь в сервисе Postmaster от mail.ru по этой ссылке: https://postmaster.mail.ru.
Создайте специальный e-mail вида fbl@ваш_сайт.ru, на который будут отправляться уведомления о нажатии кнопки СПАМ вашими подписчиками. Обратите внимание: на один домен может быть настроен только один адрес для получения FBL.
Перейдите на страницу настройки FBL https://postmaster.mail.ru/settings и укажите там созданный вами ранее e-mail — fbl@ваш_сайт.ru.
Настройки FBL для Google
Зарегистрируйтесь на https://postmaster.google.com
Указать домен и подтвердить право собственности на него, добавив запись DNS TXT или DNS CNAME.
Cправка Gmail https://support.google.com/mail/answer/6254652.
Настройки FBL для Яндекс
К сожалению, Яндекс прекратил поддержку FBL, а значит и предоставление информации о подписчиках, нажавших на «спам». Настроить FBL для данного сервиса не представляется возможным.
DKIM — это просто
Хочу поделиться своим небольшим опытом прикручивания DKIM (DomainKeys Identified Mail) к своему домену и почтовому серверу.
DomainKeys Identified Mail метод E-mail аутентификации.
Технология DomainKeys Identified Mail (DKIM) объединяет несколько существующих методов антифишинга и антиспама с целью повышения качества классификации и идентификации легитимной электронной почты. Вместо традиционного IP-адреса, для определения отправителя сообщения DKIM добавляет в него цифровую подпись, связанную с именем домена организации. Подпись автоматически проверяется на стороне получателя, после чего, для определения репутации отправителя, применяются «белые списки» и «чёрные списки».
В технологии DomainKeys для аутентификации отправителей используются доменные имена. DomainKeys использует существующую систему доменных имен (DNS) для передачи открытых ключей шифрования.
Теперь необходимо найти, как сформировать пару секретного и публичного ключа. После перебора нескольких вариантов я остановился на web-утилите сервиса port25.com которая, кроме формирования необходимых ключей, так же генерирует и подсказку по DNS записям:
www.port25.com/support/support_dkwz.php
Небольшое пояснение по поводу некого поля «domain selector». Данное поле позволяет привязать к одному домену несколько DKIM записей для разных нужд (например для разных почтовых серверов). В моём случае у меня только один почтовый сервер и у меня нет необходимости в селекторе, так что в роли селектора я выбрал просто «mail».
Полученный приватный ключ сохраняем на сервер в папку, к которой имеет доступ почтовый сервер. Публичный ключ в принципе можно не сохранять в виде файла. Он нам пригодится только для внесения необходимой записи в DNS. В конфигурации домена в hMailServer нам необходимо указать путь к приватному файлу ключа, а так же указать выбранный селектор (напомню, я в виде селектора взял «mail»).
В файле DNS-зоны нам необходимо указать записи вида:
;»
mail._domainkey.example.com. TXT «k=rsa\; t=s\; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDQmO9AuWRbWPgl/jzDPQodrLfFLFqYYi6bCBnsTOCOJQrFbGgiR1C01j4zLw8XgG3rQ0WAaeg6Z/y39Ah7IONfs5gQuK6eGZMmYwIsZyz2dQoUDmDLCb1WygpkrqsCbyPw3SWGihM4iChOwo7Ovo2mTOWOf5ejeZcP2qqNb9nRMQIDAQAB»
Где «mail» перед _domainkey во второй записи — это не что иное, как наш выбранный селектор, а длинный набор символов в той же записи идущий после «p=» — это наш публичный ключ.
Вроде бы всё. Теперь попробуем отправить письмо с нашего почтового сервера на почту gmail, так как доподлинно известно, что gmail проверяет DKIM. Смотрим в полученное письмо в gmail и видим заветные строки:
Authentication-Results: mx.google.com; spf=pass (google.com: domain of example@example.com designates 123.123.123.123 as permitted sender) smtp.mail=example@example.com; dkim=pass header.i=@example.com
Поздравляем меня с успешным покорением DKIM ))), чего и вам желаю. Удачи.
UPD: Для получения пары ключей без использования внешних сервисов можно воспользоваться OpenSSL:
Спасибо lorc за дополнение.
UPD 2: Небольшое дополнение от nshopik:
Так же можно у домена прописать ADSP запись (RFC5617) — это позволит принимающему серверу понять, должно ли ваше письмо быть подписано или нет.
Запись выгладит таким образом:
_adsp._domainkey.example.com. TXT «dkim=all»
Как сгенерировать dkim подпись
DKIM-подпись позволяет подтвердить, что адрес, указанный в поле «От кого», является реальным адресом отправителя письма, а также повышает «доставляемость» писем.
Чтобы настроить DKIM-подпись:
1. Сгенерируйте ключевую пару DKIM: приватный и публичный ключи.
При этом в текущей директории будут созданы файлы mail.private с приватным ключом и mail.txt с готовым публичным ключом в формате DNS-записи.
2. Поместите приватный ключ в файл в директории с ограниченным доступом на вашем отправляющем сервере. Обратите внимание, почтовый сервер должен иметь доступ к этому файлу.
3. Включите поддержку DKIM в вашем почтовом сервере. В некоторых серверах поддержка встроена, в некоторых может быть реализована с помощью бесплатных программ.
4. Перейдите на сайт провайдера, у которого находится DNS-зона управления вашим доменом.
5. Введите логин и пароль для входа в «Панель управления».
6. Перейдите в раздел управления DNS-зонами домена.
7. Добавьте новую ТХТ-запись, указав в теге
сгенерированный публичный ключ. Помните, что время обновления записи может занимать до 48 часов. Пример TXT-записи:
8. Некоторые регистраторы ставят кавычки для TXT (SPF и DKIM)-записи самостоятельно, поэтому для надежности впишите или скопируйте ее так, как представлено в инструкции — с кавычками.
Пример DKIM-подписи в заголовках письма
В DKIM-подписи параметр [d] должен совпадать с именем вашего домена, по которому вы хотите просматривать статистику в Postmaster Mail.ru.
Если вы не знаете, как устанавливать подпись в письмо, обратитесь к своему системному администратору или в службу поддержки вашего хостинга.
Как сгенерировать dkim подпись
DKIM-подпись позволяет подтвердить, что адрес, указанный в поле «От кого», является реальным адресом отправителя письма, а также повышает «доставляемость» писем. Подробнее о DKIM вы можете прочитать здесь.
Чтобы настроить DKIM-подпись:
1. Сгенерируйте ключевую пару DKIM (приватный и публичный ключи).
Генерация пары ключей с использованием OpenSSL
Генерация пары ключей с использованием OpenDKIM
При этом в текущей директории будут созданы файлы mail.private с приватным ключом и mail.txt с готовым публичным ключом в формате DNS-записи.
2. Поместите приватный ключ в файл в директории с ограниченным доступом на вашем отправляющем сервере. Обратите внимание, почтовый сервер должен иметь доступ к этому файлу.
3. Включите поддержку DKIM в вашем почтовом сервере. В некоторых серверах поддержка встроена, в некоторых может быть реализована с помощью бесплатных программ.
4. Перейдите на сайт провайдера, у которого находится DNS-зона управления вашим доменом.
5. Введите логин и пароль для входа в «Панель управления».
6. Перейдите в раздел управления DNS-зонами домена.
7. Добавьте новую ТХТ-запись, указав в теге «p» сгенерированный публичный ключ. Помните, что время обновления записи может занимать до 48 часов. Пример TXT-записи:
8. Некоторые регистраторы ставят кавычки для TXT (SPF и DKIM)-записи самостоятельно, поэтому для надежности впишите или скопируйте ее так, как представлено в инструкции — с кавычками.
Корректность настройки подписи DKIM можно узнать по наличию подписи DKIM-Signature в заголовках письма, а также строчке dkim=pass в заголовке «Authentication-Results».
Пример DKIM-подписи в заголовках письма:
В DKIM-подписи параметр [d] должен совпадать с именем вашего домена, по которому вы хотите просматривать статистику в Postmaster Mail.ru.
Если вы не знаете, как устанавливать подпись в письмо, обратитесь к своему системному администратору или в службу поддержки вашего хостинга.
Без DKIM-подписи просматривать статистику в Postmaster невозможно.
Настройка DKIM
В этой статье будет рассмотрена настройка цифровой подписи для Вашего домена.
Технология DomainKeys Identified Mail (DKIM) — это метод e-mail аутентификации: к отправленному письму добавляется заголовок DKIM-Signature, в котором содержится зашифрованная информация о домене отправителя. Таким образом, содержимое заголовка DKIM-Signature подтверждает отправителя письма. На стороне получателя подпись автоматически проверяется, после чего для определения репутации отправителя применяются «белые списки» и «черные списки». После оценки репутации отправителя письма это письмо может быть принято, помещено в папку «Спам», либо отправлено на дополнительную проверку.
Настройка DKIM при отправке рассылок через хостинг Beget
На хостинге Beget можно настроить DKIM-подпись для следующих способов отправки писем:
Для создания DKIM-подписи для писем, отправляемых средствами PHP mail(), потребуется выделенный IP-адрес, подключить его можно из Панели управления аккаунтом, в разделе Сайты. Далее для настройки DKIM-подписи необходимо написать тикет из раздела Помощь и поддержка, указав в нём домен сайта.
Для создания DKIM-подписи для писем, отправляемых средствами SMTP, необходимо написать тикет из Панели управления аккаунтом, раздел Помощь и поддержка, указав в нём домен сайта. Настройка DKIM для SMTP возможна только на оплаченных аккаунтах (минимум на месяц по текущему тарифному плану). Настройка DKIM-подписи с нашей стороны возможна только в том случае, когда рассылки отправляются через наш хостинг и почта работает через нас, то есть, в качестве MX записи у домена, будут значения:
Настройка DKIM при отправке рассылок через сторонний сервис (на примере unisender.com)
Также возможен вариант, когда рассылки производятся через сторонний сервис, либо настроен сервис «Яндекс.Почта» для домена и т.п. В этом случае нужно самостоятельно в разделе DNS в Панели управления внести необходимые записи.
Рассмотрим внесение нужных записей на примере сервиса unisender.com. Для других сервисов рассылки инструкция будет похожей.
1. Смотрим необходимые настройки на сервисе рассылок:
2. Переходим в раздел DNS в панели управления. В верхней части экрана выбираем домен, для которого будем редактировать DNS-записи. В нашем случае первые две строки с SPF-записью начинаются с символа @. Согласно RFC 1034, 1035 этот символ обозначает всю зону целиком. Нажимаем кнопку «открыть режим редактирования» справа от зоны, совпадающей с названием домена, и вносим нужные TXT-записи:
Если необходимо добавить spf2-запись, тогда уже создаётся новая TXT-запись. В нашем случае spf2-запись нужно добавить, сделаем это через форму быстрого добавления:
Итого мы добавили нужные TXT-записи:
3. Далее нам нужно создать подзону _domainkey и добавить в неё запись. Через форму быстрого добавления вводим название подзоны в поле name, выбираем тип записи TXT в поле type, и в поле data вставляем нужную нам запись:
4. Аналогично нужно создать подзону us._domainkey и добавить в неё запись с самой DKIM-подписью:
Итого добавленные записи выглядят следующим образом:
Обновление записей DNS происходит в течение 15 минут, после этого можно проверить наличие записи в системе DNS. Сделать это можно, к примеру, на сервисе G Suite, в качестве имени нужно ввести имя подзоны, например, us._domainkey.example.ru (вместо example.ru нужно подставить Ваш домен):
Чтобы удостовериться в том, что всё настроено правильно, нужно отправить письмо с ящика домена, для которого настроена цифровая подпись, и на принимающем ящике просмотреть заголовки письма. Там должен быть заголовок DKIM-Signature. Если этот заголовок есть, значит подпись работает. В случае, если письмо оказалось не подписано, необходимо обращаться в поддержку сервиса, через который отправляется письмо.
Для проверки через сервис Unisender была отправлена рассылка, и вот заголовок DKIM-Signature есть в технических заголовках письма:
Здесь видно, что DKIM-подпись работает.












