Openldap

OpenLDAP TLS CA 配置

  • May 2, 2016

我目前正在設置兩個同步的 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 以被系統本身信任:

  1. 將您的(PEM 編碼的)CA 證書複製到/usr/local/share/ca-certificates客戶端電腦上。
  2. # update-ca-certificates
  3. 這將更新/etc/ssl/certs/ca-certificates.crtCA 的集合,這應該已經在您的 /etc/ldap/ldap.conf 文件中指定,並且您的 CA 將被 ldapwhoami 和其他工具信任。

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