- Dkim подпись как настроить
- Настройка DKIM/SPF/DMARC записей или защищаемся от спуфинга
- 1. DKIM
- Зачем же он нужен?
- Настройка DKIM подписи и DNS записей
- 2. SPF
- Настройка SPF записей
- 3.DMARC
- Настройка DMARC записей
- Эпилог
- Dkim подпись как настроить
- Пример DKIM-подписи в заголовках письма
- Настройка DKIM
- Настройка DKIM при отправке рассылок через хостинг Beget
- Настройка DKIM при отправке рассылок через сторонний сервис (на примере unisender.com)
Dkim подпись как настроить
DKIM-подпись позволяет подтвердить, что адрес, указанный в поле «От кого», является реальным адресом отправителя письма, а также повышает «доставляемость» писем. Подробнее о DKIM вы можете прочитать здесь.
Чтобы настроить DKIM-подпись:
1. Сгенерируйте ключевую пару DKIM (приватный и публичный ключи).
Генерация пары ключей с использованием OpenSSL
Генерация пары ключей с использованием OpenDKIM
Для генерации приватного ключа в командной строке введите: openssl genrsa -out privatekey.pem 1024, где «privatekey.pem» — файл приватного ключа, «1024» — длина ключа.
Для генерации публичного ключа введите команду: openssl rsa -pubout -in privatekey.pem -out publickey.pem, где «publickey.pem» — файл публичного ключа
Для генерации ключей используйте команду opendkim-genkey -d example.ru -s mail, где «example.ru» — ваш домен, «mail» — селектор.
При этом в текущей директории будут созданы файлы 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/SPF/DMARC записей или защищаемся от спуфинга
1. DKIM
DKIM (DomainKeys Identified Mail) — это метод e-mail аутентификации, основанный на проверке подлинности цифровой подписи. Публичный ключ хранится TXT записи домена.
Зачем же он нужен?
DKIM необходим для того, чтобы почтовые сервисы могли проверять, является ли отправитель достоверным или нет. Т.е. защищает получателя письма от различных мошеннических писем (которые отправлены с подменой адреса отправителя).
Настройка DKIM подписи и DNS записей
Для это нам необходимо создать пару ключей:
Или можно воспользоваться онлайн-сервисом, чего я крайне не советую.
Далее необходимо указать путь с секретному ключу в файле конфигурации (для этого лучше почитать документацию) почтового сервера и публичный ключ в DNS.
Примером записей является
mail._domainkey.your.tld TXT «v=DKIM1; k=rsa; t=s; p= »
где
mail — селектор. Можно указать несколько записей с разными селекторами, где в каждой записи будет свой ключ. Применяется тогда, когда задействовано несколько серверов. (на каждый сервер свой ключ)
v — версия DKIM, всегда принимает значение v=DKIM1 . (обязательный аргумент)
k — тип ключа, всегда k=rsa . (по крайней мере, на текущий момент)
p — публичный ключ, кодированный в base64. (обязательный аргумент)
t — Флаги:
t=y — режим тестирования. Такие отличают отличаются от неподписанных и нужны лишь для отслеживания результатов.
t=s — означает, что запись будет использована только для домена, к которому относится запись, не рекомендуется, если используются субдомены.
возможные:
h — предпочитаемый hash-алгоритм, может принимать значения h=sha1 и h=sha256
s — Тип сервиса, использующего DKIM. Принимает значения s=email (электронная почта) и s=* (все сервисы) По-умолчанию «*».
; — разделитель.
Так же стоит прописать ADSP запись, которая позволяет понять, обязательно должно быть письмо подписано или нет.
_adsp._domainkey.example.com. TXT «dkim=all»
Значений может быть три:
all — Все письма должны быть подписаны
discardable — Не принимать письма без подписи
unknown — Неизвестно (что, по сути, аналогично отсутствию записи)
2. SPF
SPF (Sender Policy Framework) — расширение для протокола отправки электронной почты через SMTP. SPF определен в RFC 7208 (Wiki). Если простым языком, то SPF — механизм для проверки подлинности сообщением, путем проверки сервера отправителя. Как по мне, данная технология полезна в связке в другими (DKIM и DMARC)
Настройка SPF записей
all»
Здесь:
v=spf1 является версией, всегда spf1
a — разрешает отправляет письма с адреса, который указан в A и\или AAAA записи домена отправителя
mx — разрешает отправлять письма c адреса, который указан в mx записи домена
(для a и mx можно указать и другой домен, например, при значении a:example.com , будет разрешена а запись не домена отправителя, а example.com)
Так же можно добавлять и отдельные ip адреса, используя ip4: и ip6: . Например, ip4:1.1.1.1 ip6: 2001:0DB8:AA10:0001:0000:0000:0000:00FB . Еще есть include: ( include:spf.example.com ), позволяющий дополнительно подключать spf записи другого домена. Это все можно комбинировать через пробел. Если же нужно просто использовать запись с другого домена, не дополняя её, то лучше всего использовать redirect: ( redirect:spf.example.com )
-all — означает то, что будет происходить с письмами, которые не соответствуют политике: «-» — отклонять, «+» — пропускать, «
» — дополнительные проверки, «?» — нейтрально.
3.DMARC
Domain-based Message Authentication, Reporting and Conformance (идентификация сообщений, создание отчётов и определение соответствия по доменному имени) или DMARC — это техническая спецификация, созданная группой организаций, предназначенная для снижения количества спамовых и фишинговых электронных писем, основанная на идентификации почтовых доменов отправителя на основании правил и признаков, заданных на почтовом сервере получателя (Wiki). То есть почтовый сервер сам решает, хорошее сообщение или плохое (допустим, исходя из политик выше) и действует согласно DMARC записи.
Настройка DMARC записей
Типичная запись выглядит так: _dmarc.your.tld TXT «v=DMARC1; p=none; rua=mailto:postmaster@your.tld»
В ней не предпринимаются никакие действия, кроме подготовки и отправки отчета.
Теперь подробнее о тегах:
v — версия, принимает значение v=DMARC1 (обязательный параметр)
p — правило для домена. (Обязательный параметр) Может принимать значения none , quarantine и reject , где
p=none не делает ничего, кроме подготовки отчетов
p=quarantine добавляет письмо в СПАМ
p=reject отклоняет письмо
Тэг sp отвечает за субдомены и принимает такие же значения, как и p
aspf и adkim позволяют проверять соответствиям записям и могут принимать значения r и s , где r — relaxed более мягкая проверка, чем s — strict.
pct отвечает за кол-во писем, подлежащих фильтрации, указывается в процентах, например, pct=20 будет фильтровать 20% писем.
rua — позволяет отправлять ежедневные отчеты на email, пример: rua=mailto:postmaster@your.tld , так же можно указать несколько email через пробел ( rua=mailto:postmaster@your.tld mailto:dmarc@your.tld )
ruf — отчеты писем, не прошедшие проверку DMARC. В остальном все так же, как и выше.
Эпилог
Мы научились настраивать DKIM/SPF/DMARC и противостоять спуфингу. К сожалению, это не гарантирует безопасность в случае взлома сервера или же отправки писем на серверы, не поддерживающие данные технологии. Благо, что популярные сервисы все же их поддерживают (а некоторые и являются инициаторами данных политик).
Эта статья — лишь инструкция по самостоятельной настройке записей, своего рода документация. Готовых примеров нет намеренно, ведь каждый сервер уникален и требует своей собственной конфигурации.
Источник
Dkim подпись как настроить
DKIM-подпись позволяет подтвердить, что адрес, указанный в поле «От кого», является реальным адресом отправителя письма, а также повышает «доставляемость» писем.
Чтобы настроить DKIM-подпись:
1. Сгенерируйте ключевую пару DKIM: приватный и публичный ключи.
Для генерации приватного ключа в командной строке введите: openssl genrsa -out privatekey.pem 1024 , где privatekey.pem — файл приватного ключа, 1024 — длина ключа.
Для генерации публичного ключа введите команду: openssl rsa -pubout -in privatekey.pem -out publickey.pem , где publickey.pem — файл публичного ключа
Для генерации ключей используйте команду opendkim-genkey -d example.ru -s mail , где example.ru — ваш домен, mail — селектор.
При этом в текущей директории будут созданы файлы mail.private с приватным ключом и mail.txt с готовым публичным ключом в формате DNS-записи.
2. Поместите приватный ключ в файл в директории с ограниченным доступом на вашем отправляющем сервере. Обратите внимание, почтовый сервер должен иметь доступ к этому файлу.
3. Включите поддержку DKIM в вашем почтовом сервере. В некоторых серверах поддержка встроена, в некоторых может быть реализована с помощью бесплатных программ.
4. Перейдите на сайт провайдера, у которого находится DNS-зона управления вашим доменом.
5. Введите логин и пароль для входа в «Панель управления».
6. Перейдите в раздел управления DNS-зонами домена.
7. Добавьте новую ТХТ-запись, указав в теге
сгенерированный публичный ключ. Помните, что время обновления записи может занимать до 48 часов. Пример TXT-записи:
8. Некоторые регистраторы ставят кавычки для TXT (SPF и DKIM)-записи самостоятельно, поэтому для надежности впишите или скопируйте ее так, как представлено в инструкции — с кавычками.
Корректность настройки подписи DKIM можно узнать по наличию подписи DKIM-Signature в заголовках письма, а также строчке dkim=pass в заголовке Authentication-Results .
Пример DKIM-подписи в заголовках письма
В DKIM-подписи параметр [d] должен совпадать с именем вашего домена, по которому вы хотите просматривать статистику в Postmaster Mail.ru.
Если вы не знаете, как устанавливать подпись в письмо, обратитесь к своему системному администратору или в службу поддержки вашего хостинга.
Источник
Настройка DKIM
В этой статье будет рассмотрена настройка цифровой подписи для Вашего домена.
Технология DomainKeys Identified Mail (DKIM) — это метод e-mail аутентификации: к отправленному письму добавляется заголовок DKIM-Signature, в котором содержится зашифрованная информация о домене отправителя. Таким образом, содержимое заголовка DKIM-Signature подтверждает отправителя письма. На стороне получателя подпись автоматически проверяется, после чего для определения репутации отправителя применяются «белые списки» и «черные списки». После оценки репутации отправителя письма это письмо может быть принято, помещено в папку «Спам», либо отправлено на дополнительную проверку.
Настройка DKIM при отправке рассылок через хостинг Beget
На хостинге Beget можно настроить DKIM-подпись для следующих способов отправки писем:
- через SMTP-сервер;
- через функцию PHP mail(), он же sendmail.
Для создания 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-подпись работает.
Удачной работы! Если возникнут вопросы — напишите нам, пожалуйста, тикет из Панели управления аккаунта, раздел «Помощь и поддержка».
Источник