0

我们未能通过定期 PCI 审计,因为我们的 Tomcat 7 允许 Diffie-Hellman 密钥交换。我对Tomcat并不感兴趣,我做了一些研究无济于事。

审计说我有 3 个选择来纠正这个问题。

  1. 升级到 OpenSSL 1.0.0。在 YUM 中不可用。
  2. 禁用 FIPS 模式。有人说不是最好的选择。
  3. 将密码套件配置为不包含任何 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 密钥交换或联系您的供应商获取补丁。”

4

2 回答 2

0

使用 3。

你可以谷歌“禁用 TLS Tomcat 7”来找到如何做到这一点。

于 2013-01-10T22:40:08.900 回答
0

对我来说,在 conf/server.xml 中将允许的密码列表添加到 Tomcat 配置以禁用弱 Diffie-Hellman 密码后,它就起作用了:

    <Connector
        protocol="HTTP/1.1"
        port="8000"
        ...
        scheme="https"
        secure="true"
        clientAuth="false"
        sslProtocol="TLS" 
        SSLEnabled="true"
        ciphers="TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA"
        redirectPort="8443"
于 2015-06-25T07:56:20.387 回答