Openldap

openSSL/openLDAP tls 錯誤

  • April 18, 2016

我有兩台openLDAP伺服器,每台伺服器都是使用腳本並排設置的,該腳本完成了所有繁重的工作,兩台伺服器相互複製它們的配置/使用者,很長一段時間我認為一切正常。剛剛發現其中一台伺服器實際上並沒有協商TLS,所以沒有任何東西可以針對它進行身份驗證。

自創建以來,這兩個系統都RHEL 6.7以完全相同的方式在完全相同的時間進行了更新。每個伺服器應該 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,因為我在最初的測試中遇到了數據庫問題,所以我很難連結到ca-bundle.crt, 以及server.keyand server.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

在我的另一台伺服器上,這再次產生了良好的結果,驗證了密鑰。

至少基於一些搜尋,這兩個錯誤都暗示它與moznss數據庫有關,但我無法弄清楚 a)為什麼一個是問題而另一個不是,以及 b)如何解決問題或繞過問題。

如果有人有任何進一步的故障排除想法或潛在的解決方案,我將不勝感激。

  1. 驗證 olcTLS*File 指令是否cn=config指向真實文件。
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
  1. 檢查您的日誌。預設情況下,CentOS 不記錄slapd. slapd預設為 LOCAL4嚴重程度的設施DEBUG。您可以編輯/etc/sysconfig/slapd或修改系統日誌配置。
# cat /etc/rsyslog.d/slapd.conf 
local4.*    /var/log/slapd.log

不要忘記修改cn=config. 可能是最相關的。有更多細節。olcLogLevel

olcLogLevel: Config``man slapd-config

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