Openldap
OpenLDAP TLS CA 配置
我目前正在設置兩個同步的 OpenLDAP 伺服器,通過 starttls/ldaps 訪問。在客戶端/從屬伺服器上,我遇到了 TLS 連接問題。我正在使用基於目錄的配置,並且
olcTLSCACertificateFile: /etc/ssl/certs/root-ca.pem
設置root-ca.pem
為 user 可讀ldap
。但是,starttls 和 ldaps 連接失敗:
ldapwhoami -x -H ldap://192.168.56.201/ -ZZ ldap_start_tls: Connect error (-11) additional info: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed (unable to get local issuer certificate)
如果我
ldaprc
使用以下條目將文件添加到目前目錄
TLS_CACERT /etc/ssl/certs/root-ca.pem
一切都按預期工作。
因此,似乎該
olcTLSCACertificateFile
設置被忽略了,還是我缺少任何其他錯誤/錯誤配置?作業系統是 Suse Enterprise 11sp4,OpenLDAP 版本是 2.4.26
ldapwhoami 是一個 LDAP 客戶端工具。它不使用 olcTLSCACertificateFile 參數。這是 slapd 的伺服器端參數。
您需要指定某個地方,客戶端工具可以理解,您信任 CA。這可以在 ldaprc 文件、全域 /etc/ldap/ldap.conf 文件中完成(正如您所做的那樣),通過在您的 CA 檢查中過於寬鬆(TLS_REQCERT 允許 …不推薦),或者可能是最好的選項是通過這樣做(至少在 Debian 上,ymmv)添加您的 CA 以被系統本身信任:
- 將您的(PEM 編碼的)CA 證書複製到
/usr/local/share/ca-certificates
客戶端電腦上。- 跑
# update-ca-certificates
- 這將更新
/etc/ssl/certs/ca-certificates.crt
CA 的集合,這應該已經在您的 /etc/ldap/ldap.conf 文件中指定,並且您的 CA 將被 ldapwhoami 和其他工具信任。