Tengo la arquitectura OpenLDAP Master-Slave. Un día reinicié el servicio slapd en el esclavo LDAP y luego encontré el problema de negociación TLS en los registros.Antes de reiniciar el servicio, funcionaba sin problemas.
Luego intenté depurar el problema y encontré un problema común que desencadenará un problema de negociación TLS.
- El certificado SSL podría caducar- En mi caso no es así, he verificado que el certificado es válido.
- El nombre CN del certificado no coincide con el nombre del servidor- En mi caso, mi certificado CN=*.example.com y los nombres de mi servidor son ldap.example.com y ldap-slave.example.com.
- Problemas de permisos en los archivos de certificados.- Tengo 2 directorios (certs - [contiene certificado, certificado ca y clave], cacert - [solo contiene cacert]), ambos directorios tienen permiso de lectura y escritura y son propiedad del usuario LDAP.
Aquí está la configuración utilizada por 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
Aquí está mi archivo 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
Así que ayúdenme a solucionar el problema.
Respuesta1
¿Podemos tener los registros con el error para ayudarle?
Además, no necesita olcCACertificatePath y olcCACertificateFile; para mí, la configuración con solo olcCACertficatePath es suficiente. No sé si es el origen de tu error pero puedes intentar eliminar uno de ellos.