Настройка DKIM через dkimproxy для Exim версии ниже 4.69 на серверах с ISPmanager
(ОС: Debian 5.0 x64)
(ОС: Debian 5.0 x64)
apt-get install dkim-filter dkimproxy
Добавить в самое начала конфига /etc/exim4/exim4.conf.template
tls_advertise_hosts = 0.0.0.0.25 local_interfaces = 0.0.0.0 : 127.0.0.1.10025
Туда же в начало routers section
dkimproxy: driver = manualroute condition = "${if eq {$interface_port}{10025} {0}{1}}" transport = dkimproxy_smtp route_list = "* localhost byname" self = send
Пример:
begin routers dkimproxy: driver = manualroute condition = "${if eq {$interface_port}{10025} {0}{1}}" transport = dkimproxy_smtp route_list = "* localhost byname" self = send dnslookup: driver = dnslookup domains = !+dummy_domains
Туда же в начало transports section
dkimproxy_smtp: driver = smtp port = 10027 allow_localhost
Пример:
begin transports dkimproxy_smtp: driver = smtp port = 10027 allow_localhost remote_smtp: driver = smtp local_delivery: driver = appendfile
/etc/dkimproxy/dkimproxy_out.conf приводим к такому виду
# specify what address/port DKIMproxy should listen on listen 127.0.0.1:10027 # specify what address/port DKIMproxy forwards mail to relay 127.0.0.1:10025 # specify what domains DKIMproxy can sign for (comma-separated, no spaces) # Note that this is set in /etc/init.d/dkimproxy in this Debian package # unactivate it there if you want to use the config file domain <наш_домен> # specify what signatures to add signature dkim(c=relaxed) signature domainkeys(c=nofws) # specify location of the private key keyfile /var/lib/dkimproxy/private.key # specify the selector (i.e. the name of the key record put in DNS) selector default
Генерим ключи
openssl genrsa -out private.key 1024 openssl rsa -in private.key -pubout -out public.key
private.key кладем в /var/lib/dkimproxy и выставляем на него права
chown dkimproxy:dkimproxy /var/lib/dkimproxy/private.key chmod 600 /var/lib/dkimproxy/private.key
Создаем новую TXT запись в DNS целевого домена и записываем в него следующие данные, ключ берем из public.key
Пример TXT записи:
default._domainkey.<наш_домен>. IN TXT v=DKIM1; g=*; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDV4xSWbJ6VcSpNG4iixqKkp8HDo0ym3s4u07yElifc6T1viiby8P4kwFxlS5P5Msbgi6F5rMnWoLq5oKV6i0j+x4aCn6dyAD9FZYPnY2zerSDDBS7Y50tVgLbwWjCdAtuu4nZYSUfzGqtLXaZJ8gVefvWUNtsip6olGPWdxG0HDwIDAQAB
Правим hostname в /etc/hosts, чтобы команда hostname -d отдавала нормальное имя домена (dkimproxy берет имя домена через команду hostname -d, правка конфига dkimproxy для решения данной проблемы не поможет)
Перезагружаем dkimproxy, exim
Выполняем ps ax | grep dkimproxy и смотрим чтобы в ключе --domain было полное имя домена
Проверяем, отправляем на ящик gmail.com письмо и смотрим заголовки, если все хорошо то увидим строчку dkim=passed.
Начиная с версии 4.70 Exim поддерживает DKIM нативно и пляски с dkimproxy уже не потребуются.
Комментариев нет:
Отправить комментарий