具有 TLS 的 LDAP 副本

具有 TLS 的 LDAP 副本

我在使用 TLS 运行 LDAP 副本时遇到了麻烦,没有 TLS,一切正常!!提供者和消费者是相同的

CentOS 版本 6.5

rpm -qa | grep ldap
openldap-clients-2.4.23-34.el6_5.1.x86_64
openldap-2.4.23-34.el6_5.1.x86_64
apr-util-ldap-1.3.9-3.el6_0.1.x86_64
nss-pam-ldapd-0.7.5-18.2.el6_4.x86_64
mod_authz_ldap-0.26-16.el6.x86_64
pam_ldap-185-11.el6.x86_64
openldap-servers-2.4.23-34.el6_5.1.x86_64

提供商配置,文件cn\=config.ldif

olcTLSCACertificateFile: /etc/openldap/certs/ldapscert.pem
olcTLSCertificateFile: /etc/openldap/certs/ldapscert.pem
olcTLSCertificateKeyFile: /etc/openldap/certs/keys/ldapskey.pem
olcTLSCipherSuite: TLSv1+RSA:!EXPORT:!NULL
olcTLSVerifyClient: never

消费者配置:

olcSyncrepl: {0}rid=000
  provider=ldap://ldpsoc01devpom.sociale.it
  starttls=yes
  type=refreshonly
  retry="5 5 300 +"
  searchbase="dc=example,dc=it"
  attrs="*,+"
  bindmethod=simple
  binddn="uid=xxxxxxxx,ou=admin_bind,ou=Utenze_Amministratori,dc=example,dc=it"
  credentials=xxxxxxx
  interval=60

并且,在 /etc/openldap/ldap.conf 中

TLS_CACERT /etc/openldap/certs/ldapscert.pem
TLS_REQCERT never

该证书是自签名的

在从属服务器上,如果我尝试以下命令:

ldapsearch -ZZ -x -H ldap://ldpsoc01devpom -D 'uid=xxxxxxx,ou=admin_bind,ou=Utenze_Amministratori,dc=example,dc=it' -W 'objectclass=*' -v

一切正常,但当我尝试在复制中使用 TLS 时,过程出错。在提供程序日志中:

connection_get(16)
connection_get(16): got connid=1030
connection_read(16): checking for input on id=1030
connection_read(16): TLS accept failure error=-1 id=1030, closing
connection_closing: readying conn=1030 sd=16 for close
connection_close: conn=1030 sd=16
daemon: activity on 1 descriptor
daemon: activity on:

在消费者日志中:

slapd[6508]: =>do_syncrepl rid=000
slap_client_connect: URI=ldap://ldpsoc01devpom.sociale.it Warning, ldap_start_tls failed (-11)
slap_client_connect: URI=ldap://ldpsoc01devpom.sociale.it DN="uid=bind_replica,ou=admin_bind,ou=utenze_amministratori,dc=sociale,dc=it" ldap_sasl_bind_s failed (-1)
do_syncrepl: rid=000 rc -1 retrying (3 retries left)
daemon: activity on 1 descriptor
daemon: activity on:

答案1

您的复制用例是什么?您是想设置另一个实际的身份验证服务器,还是想让客户端同步并使用本地缓存?如果是后者,您可能需要调查 SSSD。

如果是前者,您可能需要监听连接以查看实际发送的内容。Ubuntu 上的命令(抱歉,我对 CentOS 不太了解)是

ssldump -i <desired interface, eth0 in my case>

我找到了一个链接,可以告诉你如何安装它 - 看起来有点过时了,也许你可以找到一个更新的版本。

您需要在服务器上运行它。它可能会为您提供更多信息,或者至少是一个错误代码。如果您可以让它工作,请在此处发布,我会看看我能做些什么来帮助您(诚然,我对 LDAP 也相当陌生)。

相关内容