我们有一个 Apache 2.2.3 服务器,带有 OpenSSL 0.9.8e-fips-rhel5。我在 VirtualHost 中运行以下 SSL 配置。我找不到任何其他带有任何 SSL 指令的配置文件。
SSLProtocol all -SSLv2 -SSLv3
SSLHonorCipherOrder on
SSLCipherSuite CDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+3DES:!aNULL:!MD5:!DSS
但是,我仍然无法通过 SslLabs 扫描并显示以下消息:
该服务器支持匿名(不安全)套件
如果我只使用强密码并且在任何地方都找不到任何覆盖配置,为什么它仍然会失败?
答案1
openssl ciphers -v 使用密码字符串将显示列表。
您不能使用 !eNULL 禁用空加密。OpenSSL 甚至不会在 ALL 中启用它,但可能会明确将其关闭。
检查任何包含 SSL 的配置文件。并确认 httpd 正在监听该端口。
您可以使用本地 SSL/TLS 扫描脚本获得第二意见。有几个不错的脚本可以准确显示他们使用的密码。
强密码是相对的。OpenSSL 0.9.8 无法真正实现 TLS 1.1 或 1.2,因此它无法提供现代安全性(或在 SSLLabs 中得分较高)。
答案2
您可以添加!aNULL添加到密码字符串列表以禁用在 SSL 握手期间包含具有匿名算法的密码