贵宾犬:是否在服务器上禁用SSL V3真的是一个解决scheme?

我一整天都在读关于Poodle漏洞的知识,现在我对安全和收入有点困惑。

如果我在服务器上禁用SSL V3(SSL V2和V3都将禁用Apache),那么不支持任何协议但SSL V3的客户端(浏览器)将无法将HTTPS连接到服务器。

所以这是客户端和服务器都必须与TLS 1.1 1.2等进行通信的情况

如果其中任何一个使用SSL V3,而另一个不支持较低版本,那么会发生什么? 没有连接到SSL。

我已经看到Firefox的一些更新,也许他们已经禁用了SSL V3,因为我们通常需要做的是select。 这将强制所有连接到较低的版本和TLS

但是禁用SSL V3真的是解决这个问题的方法吗?

首先,我们来澄清一点:

  • 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.0

  • 3.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),直到find服务器支持的版本。 这发生encryption通信开始之前 ,所以即使服务器支持更高版本,中间人(MITM)攻击者也能够强制浏览器回退到较旧的版本。 这被称为协议降级攻击。

具体来说,就“Poodle”来说,只要客户端和服务器都支持SSL 3.0,MITM攻击者就能够强制使用这个协议。

所以当你禁用SSL 3.0时,这有两个作用:

  • 支持更高版本的客户端不能被欺骗回到易受攻击的版本( TLS Fallback SCSV是一种新的机制来防止协议降级攻击,但并非所有的客户端和服务器都支持它)。 这是您要禁用SSL 3.0的原因。 绝大多数你的客户可能属于这个类别,这是有益的。

  • 根本不支持TLS的客户端(正如其他人所说的那样,XP上的IE6几乎是唯一仍然用于HTTPS的客户端)将无法通过encryption连接进行连接。 这可能只是您用户群的一小部分,不值得牺牲大多数迎合这个less数群体的安全性。

你的评估是正确的。 一旦您禁用了SSL,客户端将需要使用更新的协议来连接到您的服务器。SSL 3协议有缺陷,将不会有“补丁”。 禁用SSL 3是唯一的解决scheme。

如此多的网站已经禁用了SSL 3,这一点让旧版浏览器的用户需要升级是不可避免的。 假设你正在logging用户代理string,你可以查看你的日志,并做出有关禁用SSL 3的明智决定。我认为,只有一小部分你的网站访问者使用的浏览器将无法处理较新的协议。

[fwiw – cloudflare报告1.12%的用户是依赖于SSLv3的IE6 XP用户]

是的,禁用SSL3将使得不支持TLS的用户无法访问您的网站。

但是,从实际的angular度来看,浏览器属于哪一类浏览器。 Chrome和Firefox都支持TLS,甚至会因为这个bug而完全放弃SSL3的支持。 自IE7以来,IE已经支持它。 唯一没有支持但仍在全球范围内使用的浏览器是IE6,而仍然使用的唯一原因是2个原因:

  1. 任何人使用破解版的XP,无法使用Chrome或Firefox;
  2. 任何人在公司或政府的政策与浏览器的select有限制。

在这两种情况下,使用IE6是因为它是原始安装附带的默认Windows XP浏览器。 此外,IE6仍然拥有(小)全球市场份额的唯一原因是因为中国的用户众多。

所以,长话短说:这里有3个问题:

  1. 你有一个重要的中文用户群吗?
  2. 你的网站是否提供IE6的支持,即使它已经过时了,被破坏了吗?
  3. 您的网站是政府或公司使用的浏览器select限制的产品吗?

如果这三个中的任何一个都是真的,你将不得不寻找一个替代解决scheme。 如果所有3都是错误的,只要禁用它,并完成它。 如果您需要备用解决scheme,您是否最难说服仍然使用IE6的一小部分用户群从13年前的浏览器中切换。

在你的问题中你提到了“ Apache ”和“ 浏览器 ”,但标题更一般。

正如Evan和其他人所指出的那样,HTTPS的问题是全部sorting的。 但是还有一些服务器可能encryption的其他协议,并且TLS支持在这个客户端基础上要差得多(正如我今天上午发现的,在IMAP / S服务器上强制要求“不SSL3”时)。

所以恐怕答案是“ 这取决于你encryption的服务,以及客户端支持你的用户群中的TLS ”。

编辑 :是的,这是我的观点,虽然我很高兴你同意。 closuressslv3是在逐个服务的基础上完成的。 例如,在dovecot上closures它的方法是放置

 ssl_cipher_list = ALL:!LOW:!SSLv2:!SSLv3:!EXP:!aNULL 

dovecot.conf 。 更大的问题是,尽pipe大多数浏览器都能够容忍sslv3的丢失,但是其他服务的客户端似乎没有那么宽容。 今天早上,我把一半的用户折断了,当时我把它放在鸽舍里; 运行K-9邮件和Win7上的Outlook的Android手机是我所知道的两个肯定的,但我可以从我的日志中看到更多。

closuresSSLv3不仅是一个有效的解决scheme,它是唯一的解决scheme; 但会受到伤害

编辑2 :感谢dave_thompson_085,指出在dovecot中禁用SSLv3密码不仅仅是SSLv3协议,而是TLSv1.0和TLSv1.1,因为它们没有先前协议没有的密码。 Dovecot(至less,包括我正在运行的早期版本)似乎缺乏configuration协议而不是密码组的能力。 这可能解释了为什么这样做打破了这么多的客户。

禁用SSLv3是最好的解决scheme,但我不认为这是唯一的解决scheme。 正如CloudFlare所描述的,SSLv3的使用率非常低 ,所以大多数pipe理员应该没有问题。

如果您对SSLv3有特殊的要求,也许您需要在Windows XP上支持IE6,或者您需要支持非常旧的软件,那么还有另外一种方法来缓解这个问题。

缓解SSLv3的方法是使用RC4并支持由OpenSSL 1.0.1j提供的TLS Fallback SCSV。 在“ 狮子狗 ”的资格post里 ,RC4是“没有人想提到的某种不安全的stream密码”。

这是Google在mail.google.com上所做的工作,他们还会在他们的博客文章中描述: http : //googleonlinesecurity.blogspot.se/2014/10/this-poodle-bites-exploiting-ssl-30.html

对话中缺less一个细节,根据原来的问题,注意它可能是一个好主意。 TLS 1.0也被称为SSL 3.1,所以原来的海报,你应该看看你的configuration,你是运行v3.0或v3.1

与大多数事情一样,答案是“视情况而定”。 唯一不支持TLS的“常见”使用的浏览器是IE6。 不幸的是,各种报告都说IE6可能只有全球HTTP请求的百分之几(请参阅: http : //news.netcraft.com/archives/2014/10/15/googles-poodle-affects-oodles.html ) 。 好消息是,如果你在北美,那在美国是比较less见的。 为了安全起见,您应该查看您的www日志中的用户代理统计信息。 在我的情况下,我认为他们都是来自testing工具的,所以IE6的指纹图像非常less。

您可以使用ssllab的testing人员来testing您的网站,以了解各种代理的反应。

https://www.ssllabs.com/ssltest/

TL; DR – SSLv3已经死了; 万岁的TLS。