
我們在其中一個 openldap 環境中遇到問題,同時透過 ldaps:// 啟用安全性查詢,我們的整合環境不斷向 ldapsearch 命令傳回以下錯誤:
SSL3_READ_BYTES:sslv3 alert bad record mac
而指向我們生產環境的相同命令可以正確連接並傳回符合的條目。透過連接埠 389 和 ldap:// 對整合環境進行相同的查詢也有效。
兩者都在以下版本下運行:
- 紅帽企業 Linux 伺服器版本 6.2(聖地牙哥)
- OpenLDAP:slapd 2.4.23
- OpenSSL 1.0.0-fips
每個證書都有自己的證書,由同一個 CA 簽署。
在我們的整合環境中:
/etc/openldap/slapd.d/cn\=config.ldif :
olcTLSCACertificateFile: /etc/openldap/certs/root_CA.pem
olcTLSCertificateFile: /etc/openldap/certs/openldapint.pem
olcTLSCertificateKeyFile: /etc/openldap/certs/openldapint.key
並在同一個文件中,生產環境:
olcTLSCACertificateFile: /etc/openldap/certs/root_CA.pem
olcTLSCertificateFile: /etc/openldap/certs/openldapPRO.pem
olcTLSCertificateKeyFile: /etc/openldap/certs/openldap.key
我們可以透過以下方式檢查這個問題:
$ openssl s_client -connect localhost:636 -showcerts -CApath /etc/openldap/cert/root_CA.pem
CONNECTED(00000003)
depth=1 L = (...), OU = (...), CN = (...)
verify error:num=19:self signed certificate in certificate chain
verify return:0
139866277001032:error:140943FC:SSL routines:SSL3_READ_BYTES:sslv3 alert bad record mac:s3_pkt.c:1193:SSL alert number 20
139866277001032:error:140790E5:SSL routines:SSL23_WRITE:ssl handshake failure:s23_lib.c:184:
---
關於問題所在以及如何為 OpenLDAP 設定我們的安全 LDAPS:// 有什麼想法嗎?
謝謝!
答案1
SSL3_READ_BYTES:sslv3警報壞記錄mac
從它的聲音來看,這是 OpenSSL 的錯誤。看Debian 錯誤 212410和Debian 錯誤 338006。
OpenSSL 郵件清單中正在討論 1.0.0 的類似問題:OpenSSL SSL_接受錯誤。
有一個 AES-NI bug 產生了類似的訊息,但它在 1.0.1c 中被發現並在 1.0.1d 中修復(它影響了 TLS 1.1 和 TLS 12)(請參閱變更日誌)。
我認為標準建議可能適用:確保您和另一個端點使用最新的 OpenSSL。