Назад | Перейти на главную страницу

Конфигурация OpenLDAP TLS CA

В настоящее время я настраиваю два синхронизированных сервера OpenLDAP, доступ через starttls / ldaps. На клиенте / подчиненном у меня были проблемы с подключением TLS. Я использую конфигурацию на основе каталогов, и olcTLSCACertificateFile: /etc/ssl/certs/root-ca.pem установлен, root-ca.pem читается пользователем ldap.

Однако соединение starttls и ldaps не удается:

ldapwhoami -x -H ldap://192.168.56.201/ -ZZ
ldap_start_tls: Connect error (-11)
    additional info: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed (unable to get local issuer certificate)

Если я добавлю ldaprc файл в текущий каталог со следующей записью

TLS_CACERT /etc/ssl/certs/root-ca.pem

все работает как положено.

Так кажется olcTLSCACertificateFile настройка игнорируется, или могут быть другие ошибки / неправильные настройки, которые мне не хватает? ОС - Suse Enterprise 11sp4, версия OpenLDAP - 2.4.26.

ldapwhoami - это клиентский инструмент LDAP. Он не использует параметр olcTLSCACertificateFile. Это параметр slapd на стороне сервера.

Вам нужно где-то указать, что клиентские инструменты понимают, что вы доверяете ЦС. Это можно сделать (как вы это сделали) в файле ldaprc, в глобальном файле /etc/ldap/ldap.conf, слишком разрешив проверку вашего ЦС (TLS_REQCERT разрешить ... не рекомендуется), или, может быть, лучший вариант - добавить свой ЦС, которому система доверяет, выполнив это (по крайней мере, в Debian, ymmv):

  1. Скопируйте сертификат CA (в кодировке PEM) в /usr/local/share/ca-certificates на клиентской машине.
  2. Бегать # update-ca-certificates
  3. Это обновит /etc/ssl/certs/ca-certificates.crt набор центров сертификации, которые уже должны быть указаны в вашем файле /etc/ldap/ldap.conf, и вашему центру сертификации будут доверять ldapwhoami и другие инструменты.