Настройка DKIM подписи на FreeBSD 10.4 почтовый сервер Postfix

Зачем она нужна? Например для того чтобы почтовые сервера gmail.com, mail.ru и ряд других не отправляли письма с вашего домена в папку «спам».

Ставим opendkim:

pkg install opendkim

Создадим файл конфигурации opendkim на основе примера:

cat /usr/local/etc/mail/opendkim.conf.sample | egrep -v '^#|^$' > /usr/local/etc/mail/opendkim.conf
mcedit /usr/local/etc/mail/opendkim.conf

Получим файл вида:

Domain			example.com
KeyFile			/var/db/dkim/example.private
Selector		my-selector-name
Socket			inet:port@localhost
Syslog			Yes

Преобразуем его к виду:

Domain			domen.ru
KeyTable			/var/db/dkim/KeyTable
SigningTable		/var/db/dkim/SigningTable
ExternalIgnoreList	/var/db/dkim/TrustedHosts
Selector		relay
Socket			inet:12301@localhost
Canonicalization	relaxed/relaxed
Syslog			Yes

В файл /var/db/dkim/TrustedHosts добавим хосту с которых разрешены подключения:

*.domen.ru
127.0.0.1
localhost

Создаем каталог для хранения ключей и создаем собственно сами ключи:

mkdir -p /etc/opendkim/domen.ru
opendkim-genkey -D /etc/opendkim/tviinet.ru/ --domain tviinet.ru --selector relay

Создадим пользователя opendkim,зададим владельца и права доступа на файлы:

pw useradd opendkim -m -s /usr/sbin/nologin -w no
chown :opendkim /etc/opendkim/domen.ru/*
chmod g+rw /etc/opendkim/domen.ru/*

Создаем таблицу KeyTable. В ней хранится список соответствий между селекторами, доменами и файлами с закрытыми ключами. Формат записей:
<селектор>._domainkey.<домен> <домен>:<селектор>:<путь к закрытому ключу>

mcedit /var/db/dkim/KeyTable

Например:

relay._domainkey.tviinet.ru domen.ru:relay:/etc/opendkim/tdomen.ru/relay.private

Создаем SigningTable. В данной таблице хранятся соответствия между определенными email-адресами и записями в KeyTable.

mcedit /var/db/dkim/SigningTable

Добавляем в него:

*@domen.ru relay._domainkey.domen.ru

Далее пробуем стартовать сервис:

/usr/local/etc/rc.d/milter-opendkim onestart

Если всё хорошо, правим конфигурацию postfix:

mcedit /usr/local/etc/postfix/main.cf

Добавляем:

milter_protocol = 2
milter_default_action = accept
smtpd_milters = inet:localhost:12301
non_smtpd_milters = inet:localhost:12301

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

/usr/local/etc/rc.d/postfix restart

Если всё хорошо, остался последний шаг: правка DNS. Посмотрим содержимое:

cat /etc/opendkim/domen.ru/relay.txt

relay._domainkey	IN	TXT	( "v=DKIM1; k=rsa; "
	  "p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDPHo37kaZ6zTfi8pZUE2QIDAQAB" )  ; ----- DKIM key relay for domen.ru

Добавим эту запись в зону TXT  DNS. И пробуем отправить письмо например на gmail.com. В «исходном письме» должна присутствовать запись о DKIM.

 

Комментарии:

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

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

Лимит времени истёк. Пожалуйста, перезагрузите CAPTCHA.

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.