Ssl

openldap 主/從復製配置從從屬返回 TLS 錯誤

  • January 31, 2022

我正在嘗試在主從 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,文件的所有者,……)但我已經檢查了這些案例。

你知道問題出在哪裡嗎?

與我在多個教程中閱讀的相反,即使我們使用自簽名證書,我們也需要在 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)錯誤,slave 會錯過 master 上傳入的一些 schema

引用自:https://serverfault.com/questions/1091123