OpenDKIM Exited status и mysql plaintext passwords

На моем VPS Debian Jessie, почтовом сервере Postfix + Dovecot с пользователем и паролем в MySQL я установил OpenDKIM, который также использует MySQL для ключей. Если по какой-то причине сервер перезагружается, я могу каждый раз находить службу OpenDKIM в статусе «активна (завершена)» и отчет журнала:

opendkim: /etc/opendkim.conf: dsn:mysql://NAME-MAILUSER:**PLAINTEXT-PASSWORD**@MYSQL-PORT+127.0.0.1/mailserver/table=virtual_domains?keycol=name?datacol=ID: dkimf_db_open(): Can't connect to MySQL server on '127.0.0.1' (111)

Причина, по-видимому, связана с подключением к серверу MySQL

, если я перезапускаю OpenDKIM, проблема ушла, всегда.

У меня два вопроса:

  1. можно ли запретить systemctl показывать пароль MySQL в журналах?
  2. убедиться, что OpenDKIM обнаруживает запущенный сервер MySQL и правильно перезагружается (OpenDKIM)? Установка приоритета различных сервисов может решить проблему? И что лучше всего подходит для этого сценария?

Большое спасибо!

Дэвид

0
задан 7 July 2018 в 19:05
1 ответ

Ответ на 2: Запуск opendkim после mariadb или mysql:

  mkdir /etc/systemd/system/opendkim.service.d

добавьте в этот каталог /etc/systemd/system/opendkim.service.d/database-dependency.conf:

  [Unit]
  After=mariadb.service

Примечание: используйте mysql.service вместо mariadb.service , если это имя службы в вашей системе.

ref: страница руководства systemd.unit

Ответ на вопрос 1:

Удаление ошибки может помешать вводу пароля в журнал. Насколько мне известно, нет опции конфигурации для удаления пароля из журнала.

Однако альтернативой является создание пользователя базы данных opendkim, который не зависит от пароля, только если пользователь unix также является opendkim. Это можно сделать с помощью аутентификации сокета unix .

   INSTALL PLUGIN unix_socket SONAME 'auth_socket';
   ALTER USER opendkim IDENTIFIED VIA unix_socket;

примечание: ALTER USER - это только mariadb-10.2 +. Удаление и воссоздание пользователя / грантов может потребоваться в более ранних версиях.

opendbx dsn, который использует opendkim, должен будет подключаться к сокету unix, а не к TCP-соединению. Для этого может потребоваться просто вызвать хост localhost , однако я не уверен на 100%. Кроме того, некоторые постфиксные процессы запускаются в chroot и, следовательно, не смогут подключиться к сокету unix без изменения chroot = n в столбце в master.cf .

edit : * изменено на xxx.conf соглашение об именах файлов * разрешено для mysql или mariadb в зависимости от используемой службы * edit - некоторые постфиксные процессы chrooted.

0
ответ дан 5 December 2019 в 05:40

Теги

Похожие вопросы