我们未能通过定期 PCI 审计,因为我们的 Tomcat 7 允许 Diffie-Hellman 密钥交换。我对Tomcat并不感兴趣,我做了一些研究无济于事。
审计说我有 3 个选择来纠正这个问题。
- 升级到 OpenSSL 1.0.0。在 YUM 中不可用。
- 禁用 FIPS 模式。有人说不是最好的选择。
- 将密码套件配置为不包含任何 Diffie-Hellman 密钥交换。最好的猜测,这就是我需要的。
我们正在运行:Tomcat 7.0.23 OpenSSL 0.9.8e CentOS 5.5
任何帮助将不胜感激。
审计是这样说的:
“描述:SSL 服务器接受弱 Diffie-Hellman 密钥概要:远程 SSL/TLS 服务器接受弱 Diffie-Hellman 公钥值。影响:远程 SSL/TLS 服务器接受弱 Diffie-Hellman (DH) 公钥值。这缺陷可能有助于攻击者对远程服务器进行中间人 (MiTM) 攻击,因为它可以强制计算完全可预测的 Diffie-Hellman 秘密。仅凭此缺陷不足以设置MiTM 攻击(因此风险因素为“无”),因为它需要一些 SSL 实现缺陷来影响连接到远程主机的客户端之一。
收到的数据:可以通过发送值为 1 的 DH 密钥来完成完整的 SSL 握手。其他参考:OSVDB:70945,OSVDB:71845
解决方法:在 FIPS 模式下编译时,OpenSSL 会受到影响。要解决此问题,请升级到 OpenSSL 1.0.0、禁用 FIPS 模式或将服务器使用的密码套件配置为不包含任何 Diffie-Hellman 密钥交换。PolarSSL 受到影响。要解决此问题,请升级到版本 0.99-pre3 / 0.14.2 或更高版本。如果使用任何其他 SSL 实现,请将服务器使用的密码套件配置为不包含任何 Diffie-Hellman 密钥交换或联系您的供应商获取补丁。”