我们的 PCI 合规供应商要求我们在 Web 服务器上禁用除 RC4 加密之外的所有加密。目前我们的 apache 配置文件如下所示:
SSLHonorCipherOrder On
SSLCipherSuite RC4-SHA:HIGH:!ADH:!AES256-SHA:!ECDHE-RSA-AES256-SHA384:!AES128-SHA:!DES-CBC:!aNull:!eNull:!LOW:!SSLv2
然而,https://www.ssllabs.com报告允许以下密码:
- TLS_RSA_WITH_RC4_128_SHA
- TLS_DHE_RSA_WITH_AES_256_CBC_SHA
- TLS_DHE_RSA_WITH_AES_128_CBC_SHA
- TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA
- TLS_RSA_WITH_3DES_EDE_CBC_SHA
我如何配置 apache 以仅允许 RC4?
答案1
事情的变化很有趣。这是一条旧消息,但出现在谷歌搜索中,所以我应该补充一点,RC4 现在(2015 年)被认为是不安全的,不应该用于符合 PCI 标准的站点。
答案2
事实证明这很简单。我最初问题中的“高”选项包括其他密码。通过将其减少到以下内容,我得到了我想要的:
SSLCipherSuite RC4-SHA
答案3
403 labs 是我的 PCI DSS 合规性扫描供应商。他们仅要求 SSL 3.0 和 TLS 1.0 使用 RC4-SHA。他们的理由是,将 RC4-SHA 移到顶部是服务器首选的密码套件,而不是客户端首选的密码套件。因此,客户端可以协商列表中易受 Beast 攻击的分组密码。所有 TLS 1.0 CBC 密码都是如此。
在我的 Apache 服务器上,我只启用了 RC4-SHA。在我的 IIS 机器上,我启用了 RC4-SHA 以及所有仅支持 TLS 1.2 的密码。