Exim + DKIM на примере CentOS

Exim поддерживает DKIM, начиная с версии 4.71. В данный момент в репозитарии CentOS доступна версия 4.72, она нам отлично подходит, устанавливаем:

yum install -y exim exim-mysql exim-sa

Для начала формируем связку Private + Public ключей. Генерируем секретный ключ с помощью openssl:

openssl genrsa -out /etc/exim/dkim/example.com.key 1024

Generating RSA private key, 1024 bit long modulus
.............++++++
............................................++++++
e is 65537 (0x10001)

Следующим шагом генерируем публичный ключ на основе секретного:

openssl rsa -in /etc/exim/dkim/example.com.key -pubout

writing RSA key
-----BEGIN PUBLIC KEY-----
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC5AsOOA2+NNqh9h3IvFPwJVH9b
NNvo7MHbGk7oMsjIErEjBpd5J4gqMKgNX9RWMvXVUUiGyS43iQ79I1suxVzP4PNc
JFq494bQoCxJzmj33rLaeFnVZMMB+Yzzn0JuCmE7Pr6M7tIPKrFdEcVnlAYP3+kT
zuAo7WB97RqfgpEbNwIDAQAB
-----END PUBLIC KEY-----

Записываем полученный вывод в /etc/exim/dkim/example.com.public

Теперь вносим изменения в ДНС домена example.com, добавляем публичный ключ:

mail._domainkey                 IN      TXT     "v=DKIM1; g=*; k=rsa; p=MIGfMA0GCSqGSIb3DQEBA..."

Проверяем что Ваша DKIM-запись добавилась к ДНС успешно:

dig mail._domainkey.example.com TXT

Осталось настроить сам Exim:

begin transports

# тут добавляем наш DKIM
DKIM_DOMAIN = ${lc:${domain:$h_from:}}
DKIM_FILE   = /etc/exim/dkim/${lc:${domain:$h_from:}}.key
DKIM_PRIVATE_KEY = ${if exists{DKIM_FILE}{DKIM_FILE}{0}}

remote_smtp:
  driver = smtp
  dkim_domain = DKIM_DOMAIN
  dkim_private_key = DKIM_PRIVATE_KEY
  dkim_selector = mail
  dkim_canon = relaxed
  dkim_strict = yes

Не забываем применить изменения в exim (service exim reload).
Обращаю внимание, что селектор у нас mail, можно выставить свое значение, тогда изменения в ДНС нужно делать соответственно. Чтобы убедиться что у Вас все работает корректно, можно отправить тестовое на адрес:

check-auth-sf=nagg.ru@verifier.port25.com

Где sf@nagg.ru адрес, куда придет результат проверки.
На этом настройка завершена.

Related posts:

  1. Error: retry time not reached for any host after a long failure period При появлении данной ошибки в логе Вашего МТА, нужно выполнить...
  2. Зашифруйте Ключи Pre-shared в Примере Конфигурации маршрутизатора Cisco IOS Зашифруйте Ключи Pre-shared в Примере Конфигурации маршрутизатора Cisco IOS Содержание...
  3. OpenSSL. Шифрование. Создание сертификатов. OpenSSL – набор утилит для различного вида шифрования.  Широко распространен...
  4. Установка Netams-3.4.5 под Centos. Настройка и тюнинг Бесплатное программное обеспечение NETAMS 4.0 (релиз 489 от 4 марта)...
  5. Cisco: логирование через rsyslog CentOS Добавляем ключ «-x», чтобы rsyslog писал в логи IP адрес,...
You can leave a response, or trackback from your own site.

Оставить комментарий

*