OpenLDAP TLS CA 配置

OpenLDAP TLS CA 配置

我目前正在设置两个同步的 OpenLDAP 服务器,通过 starttls/ldaps 进行访问。在客户端/从属服务器上,我遇到了 TLS 连接问题。我使用的是基于目录的配置,并且 olcTLSCACertificateFile: /etc/ssl/certs/root-ca.pem已设置,root-ca.pem用户可读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

答案1

ldapwhoami 是一个 LDAP 客户端工具。它不使用 olcTLSCACertificateFile 参数。这是 slapd 的服务器端参数。

您需要在客户端工具能够理解的某个地方指定您信任的 CA。这可以在 ldaprc 文件中、全局 /etc/ldap/ldap.conf 文件中完成(正如您所做的那样),通过在您的 CA 检查中过于宽容(TLS_REQCERT 允许...不推荐),或者最好的选择是通过执行以下操作将您的 CA 添加为系统本身信任的 CA(至少在 Debian 上,ymmv):

  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 和其他工具的信任。

相关内容