Настройка DKIM для Exim в Debian

7

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)