openldap 主/从复制配置从从属返回 TLS 错误

openldap 主/从复制配置从从属返回 TLS 错误

我正在尝试在主 ldap 服务器和从属 ldap 服务器之间添加 TLS 安全复制。不使用 TLS 的复制运行良好。

我从从属设备遇到此错误:slapd_client_connect: URI=ldap://master.domain.com Error, ldap_start_tls failed (-11)

这是我的配置:

----- Master -----
/etc/ldap/ldap.conf
  URI            ldap://master.domain.com/
  TLS_CACERT     /etc/ssl/cacert.pem
  TLS_REQCERT    demand

/etc/ldap/slapd.d/cn=config.ldif
  olcTLSCertificateKeyFile: /etc/ssl/master-key.pem
  olcTLSCertificateFile: /etc/ssl/master-cert.pem
----- Slave -----
/etc/ldap/ldap.conf
  URI            ldap://slave.domain.com/
  TLS_CACERT     /etc/ssl/cacert.pem
  TLS_REQCERT    demand

/etc/ldap/slapd.d/cn=config.ldif
  olcTLSCertificateKeyFile: /etc/ssl/slave-key.pem
  olcTLSCertificateFile: /etc/ssl/slave-cert.pem

/etc/ldap/slapd.d/cn=config/olcDatabase{1}mdb.ldif
  olcSyncrepl: rid=001, provider=ldap://master.domain.com binddn="cn=readonly,ou=users,dc=master,dc=domain,dc=com" bindmethod=simple credentials="mypass" searchbase="dc=master,dc=domain,dc=com" type=refreshAndPersist timeout=0 network-timeout=0 retry="60 +" starttls=critical tls_reqcert=demand

这是我已经检查/尝试过的:

  • 两台服务器上的证书均归用户所有openldap
  • 两台服务器上的 cacert.pem 指纹相同
  • 证书的有效期是
  • cacert.pem 中的 cn 等于主服务器的 cn
  • 从属设备可以使用以下命令在主设备上进行搜索:ldapsearch -ZZ -x -H master.domain.com -b "ou=groups,dc=master,dc=domain,dc=com"
  • 更改从属olcTLS值以使用主证书
  • 使用ldaps://而不是ldap:// + starttlsldapsearch -ZZ -H ldaps://正在工作)

在网上进行一些研究之后,它经常谈论 CA 证书(其中的 cn、文件的所有者等),但我已经检查了这些情况。

你知道问题出在哪里吗?

答案1

与我在多个教程中读到的相反,即使我们使用自签名证书,我们也需要在 olcTLS 变量中配置 CA 文件。

我相信该/etc/ldap/ldap.conf文件未被读取,因为 OpenLDAP 现在使用带有“新”配置系统的 slapd.d 文件夹。

这是我最终为激活主/从复制的 TLS 所做的配置:

----- Master -----
/etc/ldap/slapd.d/cn=config.ldif
  olcTLSCACertificateFile: /etc/ssl/cacert.pem
  olcTLSCertificateKeyFile: /etc/ssl/master-key.pem
  olcTLSCertificateFile: /etc/ssl/master-cert.pem
----- Slave -----
/etc/ldap/slapd.d/cn=config.ldif
  olcTLSCACertificateFile: /etc/ssl/cacert.pem
  olcTLSCertificateKeyFile: /etc/ssl/slave-key.pem
  olcTLSCertificateFile: /etc/ssl/slave-cert.pem

笔记 :

  • 奴隶证书需要有它自己cn
  • 如果遇到mods check (objectClass: value #2 invalid per syntax)错误,则表示从服务器缺少主服务器上加载的某些模式

相关内容