DKIM
df-nix чт, 28/01/2016 - 14:18
Оригинал статьи
https://securelist.ru/analysis/obzor/25010/texnologiya-dkim-na-strazhe-v...
запускаем
можно дополнительно указать длину ключа больше 1024 bit. На выходе имеем два файла dkim.private(ключ) и dkim.txt(запись для dns сервера) для которых устанавливаются ограниченные права доступа. В случае использования пользователя dkim устанавливаем требуемые пермишены. При этом postfix при запуске будет ругаться сообщениями вида:
За основу opendkim.conf берем простейший конфиг из /usr/local/share/doc/opendkim/opendkim.conf.sample и правим в нем строки
Стартуем opendkim
Добавляем в конфиг postfix main.cf:
, перезапускаем postfix.
Добавляем на сервер dns запись с типом TXT значение которой берем из файла dkim.txt. Правильная запись при проверке выдаст примерно следующее
После обновления кеша dns все должно заработать. Письмо, отправляемое вашим почтовым сервером будет иметь дополнительный заголовок DKIM-Signature с данными , а полученное от вашего сервера другим почтовиком будет иметь в заголовке Authentication-Results значения вида dkim=pass
Попалась хорошая статья с описанием технологии DKIM
Цитата:
Принцип работы
DKIM основывается на стандартном асинхронном шифровании.
5 основных этапов работы DKIM:
Для каждого сервера генерируется пара (или несколько пар) из закрытого и открытого ключей шифрования.
Закрытый ключ помещается на сервере отправителя и используется для создания соответствующих DKIM-заголовков для всей исходящей почты клиента.
Открытый ключ помещается владельцем домена в его файл DNS-зоны в виде специальной TXT-записи, и она становится доступна для всех желающих.
Письмо с DKIM-подписью пересылается получателю.
С помощью полученного с DNS-сервера открытого ключа проверяется подлинность отправителя письма.
DKIM основывается на стандартном асинхронном шифровании.
5 основных этапов работы DKIM:
Для каждого сервера генерируется пара (или несколько пар) из закрытого и открытого ключей шифрования.
Закрытый ключ помещается на сервере отправителя и используется для создания соответствующих DKIM-заголовков для всей исходящей почты клиента.
Открытый ключ помещается владельцем домена в его файл DNS-зоны в виде специальной TXT-записи, и она становится доступна для всех желающих.
Письмо с DKIM-подписью пересылается получателю.
С помощью полученного с DNS-сервера открытого ключа проверяется подлинность отправителя письма.
Оригинал статьи
https://securelist.ru/analysis/obzor/25010/texnologiya-dkim-na-strazhe-v...
Для настройки работы dkim под FreeBSD устанавливаем opendkim
Можно создать пользователя dkim чтобы процесс opendkim запускался с ограниченными правами.
прописываем в /etc/rc.conf
milteropendkim_enable="YES"
milteropendkim_uid="opendkim"
milteropendkim_cfgfile="/usr/local/etc/opendkim.conf"
milteropendkim_uid="opendkim"
milteropendkim_cfgfile="/usr/local/etc/opendkim.conf"
запускаем
opendkim-genkey -r -s dkim -d yourdomain.com -D /usr/local/etc/dkim
ostfix/postfix-script: warning: not owned by root: /usr/local/etc/dkim
postfix/postfix-script: warning: not owned by root: /usr/local/etc/dkim/dkim.private
postfix/postfix-script: warning: not owned by root: /usr/local/etc/dkim/dkim.txt
postfix/postfix-script: starting the Postfix mail system
postfix/postfix-script: warning: not owned by root: /usr/local/etc/dkim/dkim.private
postfix/postfix-script: warning: not owned by root: /usr/local/etc/dkim/dkim.txt
postfix/postfix-script: starting the Postfix mail system
За основу opendkim.conf берем простейший конфиг из /usr/local/share/doc/opendkim/opendkim.conf.sample и правим в нем строки
Domain yourdomain.com
KeyFile /usr/local/etc/dkim/dkim.private
Selector dkim
Socket inet:8891@localhost
UserID opendkim
KeyFile /usr/local/etc/dkim/dkim.private
Selector dkim
Socket inet:8891@localhost
UserID opendkim
Добавляем в конфиг postfix main.cf:
smtpd_milters = inet:localhost:8891
non_smtpd_milters = inet:localhost:8891
milter_default_action = accept
non_smtpd_milters = inet:localhost:8891
milter_default_action = accept
Добавляем на сервер dns запись с типом TXT значение которой берем из файла dkim.txt. Правильная запись при проверке выдаст примерно следующее
host -t TXT dkim._domainkey.yourdomain.com ns1.yourdns.server.com
dkim._domainkey.YOURDOMAIN.COM descriptive text "v=DKIM1\; k=rsa\; s=email\; p=MIGfMVtTn3VRRdFgqgm...........FwOpngblI"
dkim._domainkey.YOURDOMAIN.COM descriptive text "v=DKIM1\; k=rsa\; s=email\; p=MIGfMVtTn3VRRdFgqgm...........FwOpngblI"
После обновления кеша dns все должно заработать. Письмо, отправляемое вашим почтовым сервером будет иметь дополнительный заголовок DKIM-Signature с данными , а полученное от вашего сервера другим почтовиком будет иметь в заголовке Authentication-Results значения вида dkim=pass
Дополнительные ссылки
man opendkim
man opendkim.conf
http://www.fryaha.ru/freebsd-postfix-dkim/
http://www.prado.it/2012/04/26/how-to-run-postfix-with-opendkim-on-freeb...