Перейти к основному содержанию

Postfix — настройка DKIM 2

Mail

Я уже писал про настройку DKIM для postfix. Но, видимо, инструкция уже устарела. Нужно обновить.

Postfix — настройка DKIM

У нас есть работающий сервер postfix, задача — настроить DKIM.

Правим главный файл настроек /etc/postfix/main.cf, добавляем:

milter_protocol = 2
milter_default_action = accept
smtpd_milters = inet:localhost:8891
non_smtpd_milters = inet:localhost:8891
disable_mime_output_conversion = yes

Здесь "disable_mime_output_conversion = yes" — патч для исправления ошибки с кириллицей.

Postfix — не работает DKIM с кириллицей

Ставим opendkim.

apt-get install opendkim opendkim-tools

Создаём каталог для ключей и сгенерируем ключ (пока для одного домена).

mkdir /etc/opendkim
chown opendkim:opendkim /etc/opendkim
opendkim-genkey -D /etc/opendkim/ --domain mydomain.ru --selector myselector

Где:

  • mydomain.ru — ваш домен
  • myselector — ваш селектор который вы выберете

Появится два файла /etc/opendkim/myselector.private и /etc/opendkim/myselector.txt с секретным и публичным ключами. Публичный ключ нужно добавить в соответствующую TXT запись вашего домена.

myselector._domainkey  IN  TXT  "v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQK........DAQAB"

Ключ может не влезать, тогда его нужно разбить на несколько строк (открывающиеся кавычки должны быть в начале строки, перед ними не должно быть пробелов и табуляции).

myselector._domainkey  IN  TXT ( "v=DKIM1; h=sha256; k=rsa; "
"p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQK"
"..."
"..."
"........DAQAB" )

Настраиваем /etc/opendkim.conf.

Syslog                 Yes
SyslogSuccess           Yes
LogWhy                  Yes

UMask                   007
Mode                    sv

SOCKET inet:8891@localhost

PidFile               /run/opendkim/opendkim.pid
OversignHeaders         From
TrustAnchorFile       /usr/share/dns/root.key

UserID                opendkim

InternalHosts           refile:/etc/opendkim/TrustedHosts
KeyTable                refile:/etc/opendkim/KeyTable
SigningTable            refile:/etc/opendkim/SigningTable

Создаём файл /etc/opendkim/TrustedHosts. Здесь те же сети, что и в файле настроек /etc/postfix/main.cf в пункте mynetworks.

127.0.0.1
localhost
10.10.0.0/16
10.11.0.0/16

Создаём файл /etc/opendkim/KeyTable.

myselector._domainkey.mydomain.ru mydomain.ru:myselector:/etc/opendkim/myselector.private

Создаём файл /etc/opendkim/SigningTable.

*@mydomain.ru myselector._domainkey.mydomain.ru

Задаем группу владельца opendkim для созданных ключей и файлов.

chown :opendkim /etc/opendkim/*

Устанавливаем права на секретный ключ.

chmod 640 /etc/opendkim/myselector.private

В /etc/default/opendkim необходимо указать сокет, который будет слушать opendkim (другие директивы SOCKET необходимо закомментировать). Это не обязательно, вроде бы, потому как сокет уже ранее мы указали, но для совместимости со старыми версиями пусть будет.

SOCKET="inet:8891@localhost"

Перезапускаем postfix и opendkim:

service opendkim restart
service postfix restart

Осталось только проверить и отправить письмо.

После успешной отладки убираем из логов всё про DKIM. Настраиваем /etc/opendkim.conf, меняем параметры логирования.

Syslog                  No
SyslogSuccess           No
LogWhy                  No

Вроде ничего не забыл.

Теги

 

Похожие материалы