openSSL / openLDAP tls错误

我有两个openLDAP服务器,每个服务器使用脚本完成所有繁重的工作,两个服务器将configuration/用户互相复制,并且很长一段时间以来我都认为一切正常。 刚刚发现其中一台服务器实际上没有协商TLS ,所以没有任何可以对其进行validation。

这两个系统都是RHEL 6.7 ,两者都是在创build完成后以完全相同的方式更新完全相同的时间。 每个服务器应该100%相同….

使用自签名证书

如果我(在破坏的一个): ldapsearch -ZZd 1 -D "cn=Manager,dc=example,dc=org" -w secret-b ""

 TLS: loaded CA certificate file /etc/openldap/certs/ca-bundle.crt. TLS: error: tlsm_PR_Recv returned 0 - error 22:Invalid argument TLS: error: connect - force handshake failure: errno 22 - moznss error -5938 TLS: can't connect: TLS error -5938:Encountered end of file. ldap_err2string ldap_start_tls: Connect error (-11) additional info: TLS error -5938:Encountered end of file 

这让我担心,因为我不相信我应该使用Moznss,因为我在初始testing中遇到了数据库问题,所以我很难链接到ca-bundle.crt ,以及server.keyserver.crt ,再次,在我的其他服务器工作正常。

另一方面,如果我: openssl s_client -connect server1:636 -cert server.crt -key server.key

 CONNECTED(00000003) 140398252824392:error:140790E5:SSL routines:SSL23_WRITE:ssl handshake failure:s23_lib.c:184: --- no peer certificate available --- No client certificate CA names sent --- SSL handshake has read 0 bytes and written 247 bytes --- New, (NONE), Cipher is (NONE) Secure Renegotiation IS NOT supported Compression: NONE Expansion: NONE 

再次,在我的另一台服务器上,产生了很好的结果,validation了密钥。

这两个错误,至less基于某些search,暗示它与moznss数据库有关,但我不能确定a)为什么一个是问题而另一个不是,b)如何解决问题,或者绕过这个问题。

如果有人有任何进一步的故障排除的想法或潜在的解决scheme,我会非常感激。

  1. validationcn=config中的olcTLS * File指令是否指向真实文件。

     olcTLSCACertificateFile: /etc/ssl/certs/ca-bundle.crt olcTLSCertificateFile: /etc/pki/tls/certs/server.example.com.crt olcTLSCertificateKeyFile: /etc/pki/tls/private/server.example.com.key 
  2. 检查你的日志。 默认情况下,CentOS不loggingslapdslapd默认设置为LOCAL4 ,严重性为DEBUG 。 您可以编辑/etc/sysconfig/slapd或修改系统日志configuration。

     # cat /etc/rsyslog.d/slapd.conf local4.* /var/log/slapd.log 

    不要忘记修改cn=configolcLogLevel
    olcLogLevel: Config可能是最相关的。 man slapd-config有更多的细节。