DKIM (DomainKeys Identified Mail) – это механизм аутентификации электронной почты, который помогает бороться с подделкой электронной почты. Он добавляет цифровую подпись к исходящим сообщениям, и получатель может проверить DNS-запись домена, что сообщение действительно было отправлено из указанного домена и что его содержимое не было изменено во время доставки.
На VPS или выделенном сервере настроить DKIM довольно легко, поскольку у вас есть полный контроль над почтовым сервером и его настройкой.
В примере ниже мы настраиваем DKIM для домена example.com
Создайте каталог для ключей DKIM
Сначала подготовим каталог, в котором будет храниться закрытый ключ:
mkdir -p /etc/exim4/dkimГенерация закрытых и открытых ключей
cd /etc/exim4/dkim
Сгенерируйте закрытый ключ (он остается только на сервере):
openssl genrsa -out example.com.key 1024
Далее на основе закрытого ключа мы создаем открытый ключ, который затем добавляем в DNS:
openssl rsa -pubout -in example.com.key -out example.com.pubУстановка владельца файла
Exim в Debian обычно запускается от пользователя Debian-exim, поэтому меняем владельца каталога и ключей:
chown -R Debian-exim:Debian-exim /etc/exim4/dkimПодключите DKIM в конфигурации Exim
Откройте шаблон конфигурации Exim:
-
основной файл:
/etc/exim4/exim4.conf.template
Добавляем следующие параметры перед разделом remote_smtp:
DKIM_CANON = расслаблено
DKIM_DOMAIN = example.com
DKIM_PRIVATE_KEY = /etc/exim4/dkim/example.com.key
DKIM_SELECTOR = электронная почта
Если вы используете разделенную конфигурацию (conf.d), то в файл следует добавить следующие строки:
-
/etc/exim4/conf.d/transport/30_exim4-config_remote_smtp
Перезапустите Exim и проверьте параметры
Применение изменений:
перезапуск службы exim4
Проверяем, что параметры DKIM подобрались:
exim -bP транспорты | grep dkimДобавление записи DKIM в DNS
Теперь вам необходимо создать TXT-запись в DNS-зоне домена. Имя записи формируется следующим образом:
email._domainkey
Где email — это селектор (DKIM_SELECTOR) из конфигурации Exim.
В значение записи TXT вставляем открытый ключ в формате DKIM, например:
v=DKIM1; ч=ша256; к=РСА; p=0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDcbu6mvGWmF65Suqazr3Krb2Ky/EXs8qaT1yMDfc00YJD77dq6jCnAwxQUHHuKanl ELGd1uqomTzs5MBuzw0TCEhzIyyiD+ZZBbJQa85a7OhdLoDs7MkwlF2Asqj4k44CpJo0c7gAySdbIQNaY9YpTW0L1TatwIDAQAB
Пояснение параметров:
-
v=DKIM1— версия DKIM -
h=sha256— алгоритм хеширования (обычно используетсяsha256, иногдаsha1) -
k=rsa— тип ключа -
p=...— открытый ключ (соответствует содержимому файлаexample.com.pub)