Почтовый сервис: exim4 + opendkim
Добавлено: 05 апр 2025, 03:25
Установить значение хоста
Установка OpenDKIM
Создание ключей OpenDKIM:
Содержимое файла записать в DNS созданием текстовой записи
/etc/opendkim/keys/hardprivate.com/default.txt
тест ключей
________________________________________________________
Конфигурация OpenDKIM
/etc/opendkim/TrustedHosts
/etc/opendkim/SigningTable
/etc/opendkim/KeyTable
/etc/opendkim.conf
Убедитесь, что сокет, указанный в конфигурации (inet:8891@localhost), не занят другим процессом.
После внесения изменений перезапустить OpenDKIM
________________________________________________________
Права доступа к ключам DKIM
Для того чтобы разрешить доступ к ключам DKIM для более чем одного пользователя, включая Debian-exim, можно воспользоваться механизмом, который называется "группы". Однако в данном контексте OpenDKIM будет по-прежнему выдавать предупреждение, если файл ключа принадлежит группе, содержащей нескольких пользователей.
Тем не менее, вы можете попробовать следующие подходы:
Использование ACL (Access Control Lists)
Если ваша файловая система поддерживает Access Control Lists (ACL), вы можете настроить доступ для группы Debian-exim, оставляя при этом основным владельцем пользователя opendkim. Для этого выполните следующие шаги:
Установка acl, если не установлены
Если у вас не установлен пакет acl, установите его
Установка ACL на файл ключа
Установите доступ для группы Debian-exim:
Убедитесь, что ACL были применены правильно:
В результате вы должны увидеть что-то похожее на это:
Убедитесь, что другие пользователи не являются членами группы opendkim:
Вы можете проверить членов группы с помощью команды:
Удалите ненужных пользователей из группы:
Посмотреть в каких группах находится пользователь Debian-exim
Убедитесь, что файл приватного ключа имеет правильные права доступа. Права должны быть 640.
________________________________________________________
Конфигурация exim4
вставить в начало файла
/etc/exim4/exim4.conf.template
вставить в конец файла
/etc/exim4/conf.d/main/02_exim4-config_options
________________________________________________________
После внесения изменений в конфигурацию, обновить конфигурацию и перезапустить exim4
Журнал exim4:
Код: Выделить всё
hostnamectl set-hostname hardprivate.com
Код: Выделить всё
sudo apt-get install opendkim opendkim-tools
Код: Выделить всё
sudo mkdir -p /etc/opendkim/keys/hardprivate.com
sudo opendkim-genkey -b 2048 -s default -d hardprivate.com -D /etc/opendkim/keys/hardprivate.com -v
/etc/opendkim/keys/hardprivate.com/default.txt
Код: Выделить всё
default._domainkey IN TXT "v=DKIM1; k=rsa; p=YOUR_PUBLIC_KEY"
Код: Выделить всё
sudo opendkim-testkey -d hardprivate.com -s default -vvv
Конфигурация OpenDKIM
/etc/opendkim/TrustedHosts
Код: Выделить всё
127.0.0.1
localhost
hardprivate.com
Код: Выделить всё
*@hardprivate.com default._domainkey.hardprivate.com
Код: Выделить всё
default._domainkey.hardprivate.com hardprivate.com:default:/etc/opendkim/keys/hardprivate.com/default.private
Код: Выделить всё
Syslog yes
Umask 002
Domain hardprivate.com
KeyFile /etc/opendkim/keys/hardprivate.com/default.private
Selector default
Socket inet:8891@localhost
Код: Выделить всё
sudo lsof -i -P -n | grep 8891
Код: Выделить всё
systemctl restart opendkim
Права доступа к ключам DKIM
Для того чтобы разрешить доступ к ключам DKIM для более чем одного пользователя, включая Debian-exim, можно воспользоваться механизмом, который называется "группы". Однако в данном контексте OpenDKIM будет по-прежнему выдавать предупреждение, если файл ключа принадлежит группе, содержащей нескольких пользователей.
Тем не менее, вы можете попробовать следующие подходы:
Использование ACL (Access Control Lists)
Если ваша файловая система поддерживает Access Control Lists (ACL), вы можете настроить доступ для группы Debian-exim, оставляя при этом основным владельцем пользователя opendkim. Для этого выполните следующие шаги:
Установка acl, если не установлены
Если у вас не установлен пакет acl, установите его
Код: Выделить всё
sudo apt-get install acl
Установите доступ для группы Debian-exim:
Код: Выделить всё
sudo setfacl -m g:Debian-exim:r /etc/opendkim/keys/hardprivate.com/default.private
Код: Выделить всё
getfacl /etc/opendkim/keys/hardprivate.com/default.private
Код: Выделить всё
# file: /etc/opendkim/keys/hardprivate.com/default.private
# owner: opendkim
# group: opendkim
user::rw-
group::r--
group:Debian-exim:r--
Вы можете проверить членов группы с помощью команды:
Код: Выделить всё
getent group opendkim
Код: Выделить всё
sudo gpasswd -d Debian-exim opendkim
Код: Выделить всё
groups Debian-exim
Код: Выделить всё
sudo chmod 640 /etc/opendkim/keys/hardprivate.com/default.private
Конфигурация exim4
вставить в начало файла
/etc/exim4/exim4.conf.template
Код: Выделить всё
milter = yes
milter_connect_timeout = 30s
milter_default_macro_expansion = yes
driver = milter
socket = inet:8891@localhost
/etc/exim4/conf.d/main/02_exim4-config_options
Код: Выделить всё
# Enable DKIM / настройки DKIM
DKIM_DOMAIN = hardprivate.com
DKIM_SELECTOR = default
DKIM_PRIVATE_KEY = /etc/opendkim/keys/hardprivate.com/default.private
После внесения изменений в конфигурацию, обновить конфигурацию и перезапустить exim4
Код: Выделить всё
sudo update-exim4.conf
sudo systemctl restart exim4
Код: Выделить всё
tail -f /var/log/exim4/mainlog