Я пытаюсь настроить аутентификацию LDAP для пользователя на экземпляре PostgreSQL 12, работающем на RHEL 7.5.
Что я сделал:
- помещен в
/etc/pki/ca-trust/source/anchors
все необходимые сертификаты, начиная с одного сервера LDAP и заканчивая внутренним корневым центром сертификации (который является самозаверяющим) - возможно, нужен только корневой сертификат (ОБНОВЛЕНИЕ: достаточно только сертификата корневого сертификата) - проверила правильность цепочки доверия с помощью
openssl s_client -showcerts -connect myldapshost:636
(ldaps), которое вернулось в конце Verify return code: 0 (ok)
настроил запись pg_hba.conf
для пользователя, которого я хочу аутентифицировать на LDAP:
host all myuser samenet ldap ldapscheme=ldaps ldaptls=0 ldapserver=myldapshost ldapport=636 ldapbasedn="mybasedn" ldapbinddn="<mybinddn>" ldapbindpasswd=secret
- Сказал серверу перезагрузить конфигурацию с помощью
pg_ctl reload
Когда я пытаюсь аутентифицироваться как myuser
с psql -h mypostgreshost mydb
, я получаю эту ошибку:
psql: error: could not connect to server: FATAL: LDAP authentication failed for user "myuser"
FATAL: LDAP authentication failed for user "myuser"
Глядя на журнал PostgreSQL, я вижу:
LDAP diagnostics: error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed (self signed certificate in certificate chain)
Вопрос: как я могу сказать PostgreSQL доверятьэльфийский сертификат это найти? Спасибо