我有一个 Linux 系统,其中有一个版本OpenSSL 0.9.8j-fips 07 Jan 2009
和一个 ApacheServer version: Apache/2.4.27 (Unix)
Apache 通过安全 LDAPS 连接到远程 DC Windows 2016 服务器时出现问题。
我通过抓包来追踪问题。以下是 openssl test 命令的输出24651:error:1408D13A:SSL routines:SSL3_GET_KEY_EXCHANGE:unable to find ecdh parameters:s3_clnt.c:1342:
在网络转储中,显示建议使用密码 TLS_ECDE_RSA_WITH AES_256_CBC_SHA。DC 接受 apache 客户端 hello 握手并通知它上述密码将用于未来通信并提供特定曲线。然后 apache 客户端发送致命警报(内部错误)。
另一件需要注意的重要事情是,到目前为止,在 W2016 的位置上有一个旧的 W2008 服务器用于此连接,并且一切运行正常。
解决这个问题的最佳方法是什么以及如何解决?
- 通过配置 apache 不使用密码
- 通过配置 Windows DC 不使用密码
- 通过更新 Linux 服务器上的 openssl
- 通过禁用 openssl 配置中的密码
这是 apache 配置SSLCipherSuite HIGH:MEDIUM:!MD5:!RC4:!3DES SSLProxyCipherSuite HIGH:MEDIUM:!MD5:!RC4:!3DES
编辑:经过一些测试,看来远程 DC 对 3DES、RSA 和 RC4 密码没有问题,我正在考虑将此规则设置为 apache -
SSLCipherSuite AES128-SHA:HIGH:MEDIUM:!MD5:!RC4:!3DES:!ECDH SSLProxyCipherSuite AES128-SHA:HIGH:MEDIUM:!MD5:!RC4:!3DES:!ECDH
你怎么认为?
提前感谢您的回答以及您的时间和关注。
答案1
我不认为这SSLCipherSuite
会SSLProxyCipherSuite
影响阿帕奇会谈LDAP 服务器mod_ssl
,而是用于描述向 HTTPS 客户端提供哪些密码的设置。这是不相关的设置。
恐怕您必须将 Windows LDAP 服务器上支持的密码列表设置为不太严格但仍然受 Apache 主机支持的密码。您可能必须启用 RC4 密码或类似的东西。
本质上,您需要找到 Windows 和 Apache 都能接受的设置,即使需要进行一些配置更改。
或者确实升级 Linux 服务器- 从 OpenSSL 版本来看,我猜测它可能是一些旧的 CentOS 5 或类似的古老版本,可能也充满了安全问题。