Ssl
openldap 主/從復製配置從從屬返回 TLS 錯誤
我正在嘗試在主從 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:// + starttls
(ldapsearch -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