每个人似乎都在谈论贵宾犬漏洞今天。每个人都建议使用以下配置指令在 Apache 中禁用 SSLv3:
SSLProtocol All -SSLv2 -SSLv3
而不是默认的
SSLProtocol All -SSLv2
我已经做到了这一点,但在使用各种工具反复测试后并没有感到高兴(这是一个快速的),我发现 SSLv3 很高兴被我的服务器接受。
是的,我确实重新启动了 Apache。是的,我对所有配置文件进行了递归grep
,并且在任何地方都没有任何覆盖。不,我没有使用 Apache 的某些古老版本:
[root@server ~]# apachectl -v
Server version: Apache/2.2.15 (Unix)
Server built: Jul 23 2014 14:17:29
那么,什么给出呢?一个人如何真的在 Apache 中禁用 SSLv3?
答案1
我遇到了同样的问题...您必须包含SSLProtocol all -SSLv2 -SSLv3
在 httpd.conf 中的每个 VirtualHost 节中
VirtualHost 节通常位于 httpd.conf 文件的末尾。例如:
...
...
<VirtualHost your.website.example.com:443>
DocumentRoot /var/www/directory
ServerName your.website.example.com
...
SSLEngine on
...
SSLProtocol all -SSLv2 -SSLv3
...
</VirtualHost>
还要检查 ssl.conf 或 httpd-ssl.conf 或类似的文件,因为它们可能在那里设置,不一定在 httpd.conf 中设置
答案2
我在 Ubuntu 14.04 上也遇到了同样的问题。读完本文后,我编辑了/etc/apache2/mods-available/ssl.conf
.
- 从:
SSLProtocol all
- 到:
SSLProtocol all -SSLv2 -SSLv3 -TLSV1
但这没有用。所以我也编辑了以下部分“SSLCipherSuite”
/etc/apache2/mods-available/ssl.conf
。
- 从:
SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5
- 到:
SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5:!SSLv3:!SSLv2:!TLSv1
现在它对我有用了。
顺便说一句,密码套件不受 POODLE 的影响,仅受协议影响——但大多数浏览器都可以使用禁用的 SSLv3 密码套件。
不要将其用于邮件服务器!或者您(也许)会面临无法在某些设备上获取邮件的问题。
答案3
对于 Ubuntu 10.04
要在所有活动虚拟主机上禁用 SSLv3,您需要以下选项
/etc/apache2/mods-available/ssl.conf :
SSLProtocol all -SSLv2 -SSLv3
答案4
确保 SSLCipherSuite才不是包含 !SSLv3。在该上下文中,它还指 TLS1.0 和 TLS1.1。
例如,如果您的配置是SSL协议全部,由于 SSLCipherSuite 如何使用 !SSLv3 配置,因此仅 TLS1.2 可用。