我正在尝试让运行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位密钥确实可用。
然后我改为......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之外我找不到任何设置这些值的地方。
如果有人能提供已通过最近PCI扫描的已知良好SSLCipherSuite,那么在追踪我的问题方面会有很大帮助。
感谢。
答案 0 :(得分:13)
随着新漏洞的发现和浏览器的升级,这里的答案可能(将)过时。我建议您依靠 Mozilla SSL Configuration Generator 来检查您应该使用哪种配置。
更新2018年:现在强制执行Perfect Forward Secrecy是合理的,除非您需要专门支持旧浏览器。截至2018年11月,只有"现代" profile将启用Perfect Forward Secrecy。阅读更多相关信息:
答案 1 :(得分:8)
经过几个小时的搜索和拔毛,我发现了我的问题。
我的ssl.conf中的默认SSLProtocol和SSLCipherSuite指令存储在标记为<VirtualHost _default_:443>
的默认容器中。
我的实际网站有自己的容器,标有IP地址,例如:<VirtualHost 64.34.119.12:443>
。更改_default_
容器中的值没有任何影响,但将更强的SSLProtocol和SSLCipherSuite指令直接添加到特定于站点的VirtualHost容器最终允许它们生效。
仍然不确定为什么在httpd.conf中调整_default_
容器或将它们放在VirtualHost容器中不起作用。
作为问题的明确答案,我用过......
SSLCipherSuite ALL:!ADH:!NULL:!EXP:!SSLv2:!LOW:!MEDIUM:RC4+RSA:+HIGH
通过我的ScanAlert扫描。我敢打赌,上面的大多数其他字符串都可以正常工作。
答案 2 :(得分:2)
您是否告诉Apache强制执行密码?
上的SSLHonorCipherOrder
答案 3 :(得分:2)
仅供参考 - 我发现这个设置:
SSLCipherSuite HIGH:!SSLv2:!ADH
生成与此设置完全相同的协议列表:
SSLCipherSuite ALL:!ADH:!NULL:!EXP:!SSLv2:!LOW:!MEDIUM:RC4+RSA:+HIGH
根据:
openssl ciphers -v 'ALL:!ADH:!NULL:!EXP:!SSLv2:!LOW:!MEDIUM:RC4+RSA:+HIGH'
openssl ciphers -v 'HIGH:!SSLv2:!ADH'
答案 4 :(得分:2)
Qualys推荐以下配置,它在scanner
上给了我们一个A.SSLProtocol all -SSLv2 -SSLv3
SSLHonorCipherOrder on
SSLCipherSuite "EECDH+ECDSA+AESGCM EECDH+aRSA+AESGCM EECDH+ECDSA+SHA384 EECDH+ECDSA+SHA256 EECDH+aRSA+SHA384 EECDH+aRSA+SHA256 EECDH+aRSA+RC4 EECDH EDH+aRSA RC4 !aNULL !eNULL !LOW !3DES !MD5 !EXP !PSK !SRP !DSS"
是的,还要确保Apache能够读取新配置。我将它直接放在虚拟主机容器中。
答案 5 :(得分:0)
看这里Mozilla Wiki。
本文档的目标是帮助运营团队在服务器上配置TLS。