PCI 合规性扫描建议我们禁用 Apache 的中强度和低强度/弱强度密码以确保安全。有人能告诉我如何禁用这些密码吗?
Apache v2.2.14 mod_ssl v2.2.14
他们告诉我们的是:
摘要:远程服务支持使用中等强度的 SSL 密码。说明:远程主机支持使用提供中等强度加密的 SSL 密码,我们目前将其视为密钥长度至少为 56 位且小于 112 位的密码。解决方案:如果可能,请重新配置受影响的应用程序以避免使用中等强度的密码。风险因素:中等/CVSS 基本评分:5.0(CVSS2#AV:N/AC:L/Au:N/C:P/I:N/A:N)[更多]
摘要:远程服务支持使用弱 SSL 密码。说明:远程主机支持使用提供弱加密或根本不加密的 SSL 密码。另请参阅:http://www.openssl.org/docs/apps/ciphers.html 解决方案:如果可能,请重新配置受影响的应用程序,以避免使用弱密码。风险因素:中等 / CVSS 基本评分:5.0 (CVSS2#AV:N/AC:L/Au:N/C:P/I:N/A:N) [更多]
答案1
根据您的需要,您可以使用 SSLCipherSuite 线路来为您处理这项工作。
http://httpd.apache.org/docs/2.2/mod/mod_ssl.html#sslciphersuite
我的如下,并且通过了 PCI 扫描。
SSL 协议 -ALL +SSLv3 +TLSv1 SSLCipherSuite 全部:!ADH:RC4+RSA:+高:+中:!低:!SSLv2:!导出
答案2
如果您不确定此SSLCipherSuite
行最终允许什么密码,您可以通过 openssl 运行它:
openssl ciphers -v 'HIGH:MEDIUM:!aNULL:+SHA1:+MD5:+HIGH:+MEDIUM'
这将为您提供密码组合的列表:
DHE-RSA-AES256-SHA SSLv3 Kx=DH Au=RSA Enc=AES(256) Mac=SHA1
DHE-DSS-AES256-SHA SSLv3 Kx=DH Au=DSS Enc=AES(256) Mac=SHA1
DHE-RSA-CAMELLIA256-SHA SSLv3 Kx=DH Au=RSA Enc=Camellia(256) Mac=SHA1
DHE-DSS-CAMELLIA256-SHA SSLv3 Kx=DH Au=DSS Enc=Camellia(256) Mac=SHA1
AES256-SHA SSLv3 Kx=RSA Au=RSA Enc=AES(256) Mac=SHA1
CAMELLIA256-SHA SSLv3 Kx=RSA Au=RSA Enc=Camellia(256) Mac=SHA1
PSK-AES256-CBC-SHA SSLv3 Kx=PSK Au=PSK Enc=AES(256) Mac=SHA1
EDH-RSA-DES-CBC3-SHA SSLv3 Kx=DH Au=RSA Enc=3DES(168) Mac=SHA1
EDH-DSS-DES-CBC3-SHA SSLv3 Kx=DH Au=DSS Enc=3DES(168) Mac=SHA1
DES-CBC3-SHA SSLv3 Kx=RSA Au=RSA Enc=3DES(168) Mac=SHA1
PSK-3DES-EDE-CBC-SHA SSLv3 Kx=PSK Au=PSK Enc=3DES(168) Mac=SHA1
...
修改参数,直到最终得到仅包含您可以提供的密码的列表。
答案3
请注意 !MEDIUM 也会禁用 128 位密码,这超出了您原始请求所需的范围。以下配置通过了我的 PCI 合规性扫描,并且对较旧的浏览器更友好:
SSLCipherSuite ALL:!aNULL:!ADH:!eNULL:!LOW:!EXP:RC4+RSA:+HIGH:+MEDIUM
SSLProtocol ALL -SSLv2 -SSLv3
SSL 版本 3 由于 Poodle Attack 而不安全(参考:http://disablessl3.com/)
答案4
SSLProtocol -ALL +TLSv1 +TLSv1.1 +TLSv1.2
SSLCipherSuite ALL:!aNULL:!ADH:!eNULL:!LOW:!EXP:RC4+RSA:+HIGH:+MEDIUM
是我正在使用的 - 根据 ssllabs.com 的说法,它提供了最高级别的安全性。