apache - 请提供将通过 PCI 合规性扫描的 Apache SSLCipherSuite

标签 apache pci-dss pci-compliance

我正在尝试让运行 Apache 2.2.17 的 Fedora 14 服务器通过 McAfee ScanAlert 的 PCI-DSS 合规性扫描。我第一次尝试使用在 ssl.conf 中设置的默认 SSLCipherSuite 和 SSLProtocol 指令...

SSLProtocol    ALL -SSLv2
SSLCipherSuite ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP

失败,理由是启用了弱密码。使用 ssllabs 和 serversniff 工具进行的扫描显示 40 位和 56 位 key 确实可用。

然后我改成...
SSLProtocol -ALL +SSLv3 +TLSv1

并尝试了在各个站点上报告的所有以下字符串,以通过来自各种供应商的 PCI 扫描...
SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH
SSLCipherSuite ALL:!ADH:!NULL:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:-LOW:+SSLv3:+TLSv1:-SSLv2:+EXP:+eNULL
SSLCipherSuite ALL:!ADH:!NULL:!EXP:!SSLv2:!LOW:RC4+RSA:+HIGH:+MEDIUM
SSLCipherSuite ALL:!aNULL:!ADH:!eNULL:!LOW:!EXP:RC4+RSA:+HIGH:+MEDIUM
SSLCipherSuite ALL:!ADH:!NULL:!EXP:!SSLv2:!LOW:!MEDIUM:RC4+RSA:+HIGH

我在更新后重新启动 apache 并且 apachectl configtest 说我的语法没问题。随后的 ScanAlert 扫描均失败,其他扫描工具继续显示 40 位和 56 位密码可用。我尝试将 SSLProtocol 和 SSLCipherSuite 直接添加到 httpd.conf 中的 VirtualHost,但没有帮助。

实际上,感觉就像某处的某些东西覆盖了这些设置,但除了 ssl.conf 之外,我在任何地方都找不到设置这些值的任何东西。

如果有人可以提供一个已知良好的 SSLCipherSuite,它已经通过了最近的 PCI 扫描,这将有助于追踪我的问题。

谢谢。

最佳答案

随着新漏洞的发现和浏览器的升级,这里的答案可能(将)过时。我建议你依靠 Mozilla SSL Configuration Generator 检查您应该使用哪种配置。

enter image description here

2018 年更新 : 现在强制执行 Perfect Forward Secrecy 是合理的,除非您需要特别支持旧版浏览器。截至 2018 年 11 月,只有“现代”配置文件才能启用完美前向保密。阅读更多关于它的信息:

SSL Labs: Deploying Forward Secrecy

Configuring Apache, Nginx, and OpenSSL for Forward Secrecy

关于apache - 请提供将通过 PCI 合规性扫描的 Apache SSLCipherSuite,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5769331/

相关文章:

php - 无法加载 php5apache2_2.dll

mysql - 在 MySQL 数据库中保存信用卡信息?

apache - 授予 ubuntu 访问 www-data 的权限

apache - 在 Apache VirtualHost 中调试环境变量

php - Apache suExec 在 Plesk 11 中不工作 [仍在使用 www-data 默认用户]

security - Jasypt StandardPBEStringEncryptor 在 spring bean 配置文件中设置密码

c# - .Net 3.5 上的 Web 服务客户端应用程序的 SSL 和过时的 TLS(1.0 和 1.1)

release-management - PCI DSS 和发布部署自动化

c# - .Net 中(对称)加密的最佳实践?