Configuración de LDAP seguro a través de SSL/TLS (LDAPS) para PostgreSQL.
No he tenido mucha suerte al intentar varias formas de implementar LDAPS para PostgreSQL.
pg_hba.conf
hostssl all +test_ldap 0.0.0.0/0 ldap ldapserver=dc2.ad.foobar.com ldapport=636 ldapscheme=ldaps ldaptls=0 ldapbinddn="CN=ldap,OU=Helpers,OU=Foobar,DC=ad,DC=foobar,DC=com" ldapbindpasswd=*** ldapsearchattribute=mail ldapbasedn="OU=Users,OU=Foobar,DC=ad,DC=foobar,DC=com"
Al realizar una investigación, descubrí que los parámetros a continuación deben cambiarse.
postgresql.conf
ssl = on
ssl_cert_file = 'server.crt'
ssl_key_file = 'server.key'
La pregunta es, ¿cómo obtengo el .crt y .key del certificado .pem que ya tengo (compartido por el equipo de LDAP)? Además de esto, ¿qué más se necesita hacer para que funcione con LDAPS (SSL/TLS)?
davy.ai
Para convertir el certificado
.pem
proporcionado por el equipo de LDAP a archivos.crt
y.key
, utiliza los siguientes comandos:openssl rsa -in server.pem -out server.key
Para extraer el certificado público:
openssl x509 -in server.pem -out server.crt -outform PEM
Una vez que tengas los archivos de certificado y clave, actualiza el archivo
postgresql.conf
con los siguientes parámetros:Además, asegúrate de configurar correctamente los ajustes de LDAPS en el archivo
pg_hba.conf
tal como se muestra en el fragmento de código proporcionado en la pregunta. Con estos cambios, PostgreSQL debería poder conectarse al servidor LDAP a través de SSL/TLS.