У меня архитектура OpenLDAP Master-Slave. Однажды я перезапустил службу slapd в LDAP Slave, а затем обнаружил проблему согласования TLS в журналах.До перезапуска сервис работал без проблем.
Затем я попытался устранить неполадку и обнаружил некоторые распространенные проблемы, которые могут вызывать проблемы с согласованием TLS.
- Срок действия SSL-сертификата может истечь- У меня это не так, я проверил, что сертификат действителен.
- Несоответствие имени CN сертификата имени сервера- В моем случае мой сертификат CN=*.example.com, а имена моих серверов — ldap.example.com и ldap-slave.example.com.
- Проблемы с разрешениями в файлах сертификатов- У меня есть 2 каталога (certs - [содержит сертификат, сертификат CA и ключ], cacert - [содержит только cacert]), оба каталога имеют права на чтение и запись и принадлежат пользователю LDAP.
Вот конфигурация, используемая slapd.
dn: cn=config
objectClass: olcGlobal
cn: config
olcArgsFile: /var/run/openldap/slapd.args
olcDisallows: bind_anon
olcLogLevel:: YW55IA==
olcPidFile: /var/run/openldap/slapd.pid
olcRequires: authc
olcTLSCACertificateFile: /etc/openldap/certs/example.ca.crt
olcTLSCACertificatePath: /etc/openldap/certs
olcTLSCertificateFile: /etc/openldap/certs/example.crt
olcTLSCertificateKeyFile: /etc/openldap/certs/example.key
dn: cn=module{0},cn=config
objectClass: olcModuleList
cn: module{0}
olcModulePath: /usr/lib64/openldap
olcModuleLoad: {0}syncprov.la
dn: cn=module{1},cn=config
objectClass: olcModuleList
cn: module{1}
olcModulePath: /usr/lib64/openldap
olcModuleLoad: {0}auditlog.la
Вот мой файл ldap.conf
#
# LDAP Defaults
#
# See ldap.conf(5) for details
# This file should be world readable but not world writable.
#BASE dc=example,dc=com
#URI ldap://ldap.example.com ldap://ldap-master.example.com:666
#SIZELIMIT 12
#TIMELIMIT 15
#DEREF never
#TLS_CACERT /etc/openldap/cacerts/example.ca.crt
#TLS_REQCERT demand
TLS_CACERTDIR /etc/openldap/cacerts
#TLS_CACERT /etc/openldap/certs/example.ca.crt
TLS_REQCERT allow
# Turning this off breaks GSSAPI used with krb5 when rdns = false
SASL_NOCANON on
URI ldaps://ldap.example.com/ ldaps://ldap-slave.example.com/
BASE dc=example,dc=com
Пожалуйста, помогите мне решить эту проблему.
решение1
Можем ли мы предоставить логи с ошибкой, чтобы вам помочь?
Также вам не нужны оба olcCACertificatePath и olcCACertificateFile, для меня достаточно конфигурации только с olcCACertficatePath. Я не знаю, является ли это источником вашей ошибки, но вы можете попробовать удалить один из них.