Dovecot не может подключиться к MariaDB, если включен require_secure_transport

Dovecot не может подключиться к MariaDB, если включен require_secure_transport

У меня есть сервер Dovecot, который использует MariaDB для виртуальных почтовых ящиков. Сервер MariaDB находится на другой машине в той же локальной сети.

Недавно мы включили TLS на машине MariaDB.

Dovecot работает нормально, когда require_secure_transportвыключен, но не может подключиться, когда мы включаем require_secure_transportего в файле конфигурации MariaDB.

Ошибка:

Error: mysql(xxx.xxx.xxx.xxx): Connect failed to database (db_name): Access denied for user 'db_user'@'xxx.xxx.xxx.xxx' (using password: YES)

Это похоже на ошибку аутентификации, но подключение с тем же именем пользователя и паролем работает нормально, когда require_secure_transport, то MariaDB отклоняет подключение, потому что Dovecot не использует TLS.

Строка подключения /etc/dovecot/dovecot-sql.conf.extвыглядит так:

connect = host=db0.mydomain.com dbname=my_db user=the_user password=secret ssl_ca=/etc/ssl/authority/authority.crt

В конфигурационном файле указано:

ssl_ca, ssl_ca_path — установите один или оба параметра для включения SSL

Могу ли я получить более подробные сведения об ошибке? Например, если это несоответствие версии TLS, можно ли это где-то показать?

Есть ли какие-то настройки в Dovecot, которые мне нужно изменить?

ОБНОВЛЕНИЕ: Добавление ssl_verify_server_cert=noв строку подключения /etc/dovecot/dovecot-sql.conf.extпозволяет подключению работать.

Так что, похоже, это ошибка проверки сертификата. Но без более подробного логирования я не уверен, что ему не нравится в сертификате.

Сертификат подписан CA в строке подключения. Было бы неплохо узнать, какое общее имя он проверяет, а также будет ли Dovecot использовать какие-либо значения SAN для сертификата.

решение1

Мне удалось добиться корректной работы DNS-сервера, настроив его в локальной сети с записями для имен хостов сервера imap и MariaDB, а затем настроив resolv.confего использование на обеих машинах.

Dovecot теперь без проблем подключается к require_secure_transportнастройкам в MariaDB и ssl_verify_server_cert=yesнастройкам в строке подключения Dovecot.

Без более подробного сообщения об ошибке для отладки я могу предположить, что реализация TLS игнорирует сопоставления в /etc/hostsи требует использования реального DNS-сервера.

Связанный контент