我整天都在阅读有关 Poodle 漏洞的文章,现在我对安全性和收入有点困惑。
如果我在服务器上禁用 SSL V3(Apache 的 SSL V2 和 V3 都将被禁用),那么不支持任何协议但支持 SSL V3 的客户端(浏览器)将无法通过 HTTPS 连接到服务器。
因此,客户端和服务器都必须使用 TLS 1.1 1.2 等进行通信
如果其中任何一个使用 SSL V3,而另一个不支持较低版本,那么会发生什么?没有连接到 SSL。
我看到 Firefox 做了一些更新,也许他们已经禁用了 SSL V3,而我们通常必须在选项中执行此操作。这将强制所有连接都使用较低版本和 TLS
但是禁用 SSL V3 真的能解决这个问题吗?
答案1
首先,让我们先理清一些事情:
TLS 取代了 SSL。TLS 1.0 随后推出,是 SSL 3.0 的更新。
TLS 1.2 > TLS 1.1 > TLS 1.0 > SSL 3.0 >
SSL 2.0 > SSL 1.03.0 之前的 SSL 版本存在严重的安全漏洞,现代客户端和服务器已禁用/不支持该版本。SSL 3.0 可能很快就会遭遇同样的命运。
在目前使用的协议中,“Poodle”对 SSL 3.0 的影响最为严重,无法缓解。类似攻击针对某些 TLS 1.0 和 1.1实现规范允许——确保您的软件是最新的。
现在,“Poodle” 之所以对现代客户端和服务器来说也是一种风险,是因为客户端实现了回退机制。并非所有服务器都支持最新版本,因此客户端会按从最新到最旧的顺序尝试每个版本(TLS 1.2、TLS 1.1、TLS 1.0、SSL 3.0),直到找到服务器支持的版本。这种情况会发生前加密通信开始,因此中间人 (MITM) 攻击者能够强制浏览器回退到旧版本,即使服务器支持更高版本。这被称为协议降级攻击。
具体来说,就“Poodle”的情况来说,只要客户端和服务器都支持 SSL 3.0,MITM 攻击者就能够强制使用该协议。
因此,当您禁用 SSL 3.0 时,会产生两个影响:
支持更高版本的客户端不会被诱骗回退到存在漏洞的版本(TLS 回退 SCSV是一种新提出的防止协议降级攻击的机制,但并非所有客户端和服务器都支持它)。这就是您想要禁用 SSL 3.0 的原因。您的绝大多数客户可能都属于这一类,这是有益的。
客户不要完全不支持 TLS(正如其他人提到的,XP 上的 IE6 几乎是唯一仍在使用 HTTPS 的浏览器)将无法通过加密连接进行连接。这很可能只是您用户群的一小部分,不值得为了迎合这一小部分而牺牲大多数更新用户的安全性。
答案2
您的评估是正确的。一旦您禁用 SSL 3,客户端将需要使用较新的协议来连接到您的服务器。SSL 3 协议存在缺陷,并且不会有“补丁”。禁用 SSL 3 是唯一的解决方案。
目前,许多网站都已禁用 SSL 3,因此旧版浏览器的用户几乎不可避免地需要升级。假设您正在记录用户代理字符串,您可以查看日志并做出是否禁用 SSL 3 的明智决定。我认为,只有一小部分网站访问者使用的浏览器无法处理较新的协议。
[fwiw - cloudflare 报告称 1.12% 的用户是依赖 SSLv3 的 IE6 XP 用户]
答案3
是的,禁用 SSL3 将导致不支持 TLS 的用户无法访问您的网站。
但是,从实际角度来看,看看哪些浏览器属于这一类别。Chrome 和 Firefox 都支持 TLS,甚至会因为这个错误而完全放弃对 SSL3 的支持。IE 从 IE7 开始就支持它。唯一不支持但仍在全球范围内使用的浏览器是 IE6,而仍在使用的唯一原因是 2 个原因:
- 任何拥有破解版 XP 并且无法使用 Chrome 或 Firefox 的人;
- 任何受到公司或政府政策限制浏览器选择的人。
在这两种情况下,IE6 都是被使用的,因为它是 Windows XP 默认的浏览器,随原始安装一起提供。此外,IE6 仍然拥有(小)全球市场份额的唯一原因是中国用户众多。
长话短说,这里有 3 个问题:
- 你们拥有大量的中国用户群吗?
- 尽管 IE6 已经过时且存在缺陷,您的网站是否提供对 IE6 的支持?
- 您的网站是政府或企业使用的产品,并且有浏览器选择限制吗?
如果以上三点中的任何一个是真的,您就必须找到替代解决方案。如果所有三点都是假的,只需禁用它并完成它。如果您需要替代解决方案,您会尽最大努力说服仍然使用 IE6 的一小部分用户放弃使用 13 年前的浏览器。
答案4
禁用 SSLv3 是最好的解决方案,但我不认为这是唯一的解决方案。CloudFlare 描述,SSLv3 使用率很低,因此大多数管理员应该可以毫无问题地将其关闭。
如果您对 SSLv3 有特殊要求,也许您需要在 Windows XP 上支持 IE6,或者您需要支持非常旧的软件,还有另一种缓解方法。
缓解此问题并保留 SSLv3 的方法是使用 RC4 并支持 OpenSSL 1.0.1j 提供的 TLS Fallback SCSV。在qualys 在 poodle 上发帖中,RC4 是“某个没人愿意提及名字的不安全流密码”。
这就是 google 在 mail.google.com 上所做的,他们也在博客文章中对此进行了描述:http://googleonlinesecurity.blogspot.se/2014/10/this-poodle-bites-exploiting-ssl-30.html