Главная » Настройка Exim DKIM в Debian
Рассмотрим настройку DKIM при помощи opendkim-tool apt-get install opendkim-tools создаем папку dkim в которой будет лежать наш приватный ключ mkdir /etc/exim4/dkim Меняем права на папку с root на Debian-exim chown -R Debian-exim:Debian-exim /etc/exim4/dkim Генерируем открытый и закрытый ключи для домена adminunix.ru: opendkim-genkey -D /etc/exim4/dkim/ -d cms-php.ru -s email D Каталог в который будут сгенерированы ключи d Название домена, который будет использовать этот ключ для подписания После выполнения будут созданы файлы etc/exim4/dkim/mail.private и /etc/exim4/dkim/email.txt, с секретным и публичными ключами соответственно. переходим в папку /etc/exim4/dkim/ и переименовываем mail.private в adminunix.ru.key cd /etc/exim4/dkim/ mv email.private cms-php.ru.key Меняем права cms-php.ru.private (файл закрытого ключа) с root на Debian-exim chown -R Debian-exim:Debian-exim /etc/exim4/dkim/cms-php.ru.key chmod 640 /etc/exim4/dkim/cms-php.ru.key Настройки DNS посмотрим содержимое файла mail.txt cat /etc/exim4/dkim/email.txt email._domainkey В TXT "v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxweK5 +F42YFdkRQqZI922yCQc68pdgWUhYr7CSeCxcQ5P10oKi2mXtYxOOKmeA7NExY6U5jrGEJ6gyr BfsJPUp25PwApbpGZ+cIRB2/N3KrtrtFD7f7WduM+jmz69nyLozWO7QM2QjCCxWx6aKZm" ; ----- DKIM ключ почты для cms-php.ru И добавляем эту информацию в нашу DNS зону в TXT запись. Добавляем в поле имя email._domainkey а в поле Контент v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxweK5 +F42YFdkRQqZI922yCQc68pdgWUhYr7CSeCxcQ5P10oKi2mXtYxOOKmeA7NExY6U5jrGEJ6gyr BfsJPUp25PwApbpGZ+cIRB2/N3KcevEfiOVyyO7f7WduM+jmz69nyLozWO7QM2QjCCxWx6aKZm После того как мы добавили запись в DNS домена то mail.txt можно удалять файл. Проверяем добавление записи в DNS dig txt email._domainkey.adminunix.ru | grep DKIM в ответ должны получить email._domainkey.cms-php.ru. 2214 IN TXT "v=DKIM1\; k=rsa\; t=s\; p=MIIBIj... Последним этапом настройки DKIM подписи является определение DKIM Author Domain Signing Practices (DKIM ADSP) Добавляем еще одну запись TXT в DNS домена. _adsp._domainkey.cms-php.ru IN TXT "dkim=all" all — отправка неподписанных сообщений запрещена, discardable — все неподписанные сообщения должны быть заблокированы на стороне получателя. unknown — домен может подписывать некоторые или все письма Настройка Exim Добавляем в конфиг /etc/exim4/exim4.conf.template перед секцией remote_smtp: # DKIM: DKIM_DOMAIN = ${lc:${domain:$h_from:}} DKIM_KEY_FILE = /etc/exim4/dkim/DKIM_DOMAIN.key DKIM_PRIVATE_KEY = ${if exists{DKIM_KEY_FILE}{DKIM_KEY_FILE}{0}} DKIM_SELECTOR = email или если конфиг разделен (при установке exim4 был вопрос «разделить конфиги на мелкие файлы?»), то писать в /etc/exim4/conf.d/transport/30_exim4-config_remote_smtp Если вы в ручную создали конфигурационный файл /etc/exim4/exim4.conf, то добавлять надо в него. И так для каждого домена. И потом рестарт екзима: /etc/init.d/exim4 restart Посмотрим наши записи в конфигурационным файлом Exim exim -bP transports | grep dkim dkim_domain = ${lc:${domain:$h_from:}} dkim_private_key = ${if exists{/etc/exim4/dkim/${lc:${domain:$h_from:}}.key}{/etc/exim4/dkim/${lc:${domain:$h_from:}}.key}{0}} dkim_selector = email где dkim_selector это первое слово перед ._domainkey в открытом ключе И проверяем через сервис https://www.mail-tester.com/ всели у нас получилось. На харбаре пишут настраивать так секцию ексима Находим секцию remote_smtp и перед ней добавляем: DKIM_DOMAIN = ${lc:${domain:$h_from:}} DKIM_FILE = /etc/exim4/${lc:${domain:$h_from:}}.key DKIM_PRIVATE_KEY = ${if exists{DKIM_FILE}{DKIM_FILE}{0}} И немного правим саму секцию: remote_smtp: driver = smtp dkim_domain = DKIM_DOMAIN dkim_selector = mail dkim_private_key = DKIM_PRIVATE_KEY где dkim_selector это первое слово перед ._domainkey в открытом ключе вот что в днс записях автоматом в весте ![]() правки конфига не дают эксиму перезапуститься вообщем пообсуждать тут https://forum.cms-php.ru/threads/%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0-exim-dkim-%D0%B2-debian.857/ |
![]() |
Design By Kuper
|
![]() |