1

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

Опубликовано:

Настроим  на нашем почтовым сервере Exim  DKIM подписи, для того чтобы письма с нашего почтового сервера не попадали в спам и быстрее проходили проверку в различных спам-фильтрах, а также повысить доверие к нашему почтовому серверу со стороны популярных почтовых систем mail, yandex, gmail.

И добавим в DNS нашего домена необходимых записей о наличии поддержки DKIM.

Рассмотрим настройку DKIM при помощи opendkim-tool

apt-get install opendkim-tools

создаем папку dkim в которой будет лежать наш приватный ключ

mkdir /etc/exim4/dkim

Меняем права на папку с root на Debian-exim

chown -R Debian-exim:Debian-exim /etc/exim4/dkim

Генерируем открытый и закрытый ключи для домена adminunix.ru:

 opendkim-genkey -D /etc/exim4/dkim/ -d adminunix.ru -s email

D

        Каталог в который будут сгенерированы ключи

d

      Называет домена, который будет использовать этот ключ для подписания

После выполнения будут созданы файлы etc/exim4/dkim/mail.private и /etc/exim4/dkim/email.txt, с секретным и публичными ключами соответственно.

переходим в папку /etc/exim4/dkim/ и переименовываем mail.private в adminunix.ru.key

cd /etc/exim4/dkim/
mv email.private adminunix.ru.key

Меняем права adminunix.ru.private (файл закрытого ключа) с root на Debian-exim

chown -R Debian-exim:Debian-exim /etc/exim4/dkim/adminunix.ru.key
chmod 640 /etc/exim4/dkim/adminunix.ru.key

Настройки DNS

посмотрим содержимое файла mail.txt

cat /etc/exim4/dkim/email.txt

email._domainkey В TXT "v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxweK5
+F42YFdkRQqZI922yCQc68pdgWUhYr7CSeCxcQ5P10oKi2mXtYxOOKmeA7NExY6U5jrGEJ6gyr
BfsJPUp25PwApbpGZ+cIRB2/N3KcevEfiOVyyO7f7WduM+jmz69nyLozWO7QM2QjCCxWx6aKZm" ; ----- DKIM ключ почты для adminunix.ru

И добавляем эту информацию в нашу DNS зону в TXT запись.

Добавляем в поле имя
email._domainkey

а в поле Контент

v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxweK5
+F42YFdkRQqZI922yCQc68pdgWUhYr7CSeCxcQ5P10oKi2mXtYxOOKmeA7NExY6U5jrGEJ6gyr
BfsJPUp25PwApbpGZ+cIRB2/N3KcevEfiOVyyO7f7WduM+jmz69nyLozWO7QM2QjCCxWx6aKZm

После того как мы добавили запись в DNS домена то mail.txt можно удалять файл.

Проверяем добавление записи в DNS

 dig txt email._domainkey.adminunix.ru | grep DKIM

в ответ должны получить

email._domainkey.adminunix.ru. 2214 IN TXT "v=DKIM1\; k=rsa\; t=s\; p=MIIBIj...

Последним этапом настройки DKIM подписи является определение DKIM Author Domain Signing Practices (DKIM ADSP)
Добавляем еще одну запись TXT в DNS домена.

_adsp._domainkey.adminunix.ru IN TXT "dkim=all"

all

        — отправка неподписанных сообщений запрещена,

discardable

        — все неподписанные сообщения должны быть заблокированы на стороне получателя.

unknown

      — домен может подписывать некоторые или все письма

Настройка Exim

Добавляем в конфиг /etc/exim4/exim4.conf.template перед секцией remote_smtp:

# DKIM:
DKIM_DOMAIN = ${lc:${domain:$h_from:}}
DKIM_KEY_FILE = /etc/exim4/dkim/DKIM_DOMAIN.key
DKIM_PRIVATE_KEY = ${if exists{DKIM_KEY_FILE}{DKIM_KEY_FILE}{0}}
DKIM_SELECTOR = email

или если конфиг разделен (при установке exim4 был вопрос «разделить конфиги на мелкие файлы?»), то писать в /etc/exim4/conf.d/transport/30_exim4-config_remote_smtp

Если вы в ручную создали конфигурационный файл /etc/exim4/exim4.conf, то добавлять надо в него.

И так для каждого домена. И потом рестарт екзима:
/etc/init.d/exim4 restart

Посмотрим наши записи в конфигурационным файлом Exim

exim -bP transports | grep dkim

dkim_domain = ${lc:${domain:$h_from:}}
dkim_private_key = ${if exists{/etc/exim4/dkim/${lc:${domain:$h_from:}}.key}{/etc/exim4/dkim/${lc:${domain:$h_from:}}.key}{0}}
dkim_selector = email

где dkim_selector это первое слово перед ._domainkey в открытом ключе

И проверяем через сервис сервис всели у нас получилось.

Понравилась статья, расскажи о ней друзьям, нажми кнопку!

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *