He estado intentando obtener la receta correcta de configuración para permitir que postfix se conecte a mysql donde se requiere ssl. Hasta ahora tengo la siguiente configuración que no funciona:
user = mysqluser
password = XXX
hosts = secure-mysql-db.example.com
dbname = mail
query = SELECT 1 FROM users WHERE email='%s'
tls_CAfile = /path/to/mysql-ca.crt
Al usar esta configuración, aparece el siguiente error
postfix/cleanup[1317842]: advertencia: conectarse al servidor mysql Secure-mysql-db.example.com: error de conexión SSL: no existe tal archivo o directorio
De hecho, he confirmado que se puede acceder al archivo. La conexión utilizando las mismas credenciales a través de la línea de comando funciona como se esperaba.
¡Gracias de antemano por cualquier ayuda!
Actualizar
Despues de revisar¿Forzar a Postfix a utilizar TLS para la conexión MySQL?, he añadido lo siguiente:
user = mysqluser
password = XXX
hosts = secure-mysql-db.example.com
dbname = mail
query = SELECT 1 FROM users WHERE email='%s'
tls_ciphers = TLSv1.3
tls_CAfile = /path/to/mysql-ca.crt
Ahora recibo el siguiente error:
Error de conexión SSL: no hay coincidencia de cifrado
De hecho, he confirmado que la conexión funciona con la base de datos:
mysql -h secure-mysql-db.example.com -p -u postfix mail
MySQL [mail]> \s
--------------
mysql Ver 15.1 Distrib 10.5.15-MariaDB, for debian-linux-gnu (x86_64) using EditLine wrapper
Connection id: 487933
Current database: mail
Current user: [email protected]
SSL: Cipher in use is ECDHE-RSA-AES256-GCM-SHA384
Current pager: stdout
Using outfile: ''
Using delimiter: ;
Server: MySQL
Server version: 8.0.26 MySQL Community Server - GPL
Protocol version: 10
Connection: secure-mysql-db.example.com via TCP/IP
Server characterset: utf8mb4
Db characterset: utf8mb4
Client characterset: utf8mb3
Conn. characterset: utf8mb3
TCP port: 3306
Uptime: 17 days 7 hours 25 min 45 sec
Estoy ejecutando Postfix 3.5.13 en Debian 11.5