ldaps:// 上的 TLS 协商失败 - sslv3 警报错误记录 mac

ldaps:// 上的 TLS 协商失败 - sslv3 警报错误记录 mac

我们在其中一个 openldap 环境中遇到一个问题,当通过 ldaps:// 启用安全查询时,我们的集成环境不断向 ldapsearch 命令返回以下错误:

SSL3_READ_BYTES:sslv3 alert bad record mac

而指向我们的生产环境的相同命令可以正确连接并返回匹配的条目。通过端口 389 和 ldap:// 对集成环境进行相同查询也可以正常工作。

两者均在以下版本下运行:

  • Red Hat Enterprise Linux Server 版本 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 错误 212410Debian 错误 338006

以下是 OpenSSL 邮件列表中讨论的 1.0.0 版的类似问题:OpenSSL SSL_Accept 错误

有一个 AES-NI 错误产生了类似的消息,但它在 1.0.1c 中被发现并在 1.0.1d 中修复(它影响了 TLS 1.1 和 TLS 12)(请参阅变更日志)。

我认为标准建议可能适用:确保您和另一端点正在使用最新的 OpenSSL。

相关内容