我在使用 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 也相当陌生)。