修复在RHEL 4上运行的Apache 2.0上的BEAST漏洞

我有一个在RHEL4上运行Apache 2.0的Web服务器。 此服务器最近失败了PCI扫描。

原因:SSLv3.0 / TLSv1.0协议弱CBC模式漏洞解决scheme:此攻击在2004年以及后来对TLS协议的修订中得到确认,其中包含对此的修复。 如果可能,请升级到TLSv1.1或TLSv1.2。 如果无法升级到TLSv1.1或TLSv1.2,则禁用CBC模式密码将删除此漏洞。 在Apache中使用以下SSLconfiguration可缓解此漏洞:SSLHonorCipherOrder在SSLCipherSuite RC4-SHA上:HIGH:!ADH

简单的修复,我想。 我将这些行添加到了Apacheconfiguration中,但没有成功。 显然地
“SSLHonorCipherOrder On”仅适用于Apache 2.2及更高版本。 我试图升级Apache,很快就跑到依赖地狱,似乎我将不得不升级整个操作系统升级到Apache 2.2。 我们在几个月内退休,所以不值得。

该解决scheme说: “如果升级到TLSv1.1或TLSv1.2是不可能的,那么禁用CBC模式密码将消除此漏洞。”

我将如何在Apache 2.0上做到这一点? 这甚至有可能吗? 如果没有,还有其他的解决办法吗?

除了手工编译一个新的Apache之外,我能想到的唯一办法就是使RC4-SHA成为唯一受支持的密码(在当前的openssl上用openssl ciphers RC4-SHA cipher openssl ciphers RC4-SHA进行testing,以确保它只能打印一个密码,想要做同样的事情,以确保它不会匹配你旧的openssl上的一些奇怪的旧密码):

 SSLCipherSuite RC4-SHA 

MS说Windows XP支持TLS_RSA_WITH_RC4_128_SHA,所以你不应该有任何兼容性问题。

只有两种方法可以在服务器级别“修复”BEAST。

最好的select是将服务器的SSL库升级到支持TLS v1.1或更高版本(并确保您的客户端也支持它),以便强制他们使用它。

另一个select是禁用任何CBC(Cypher-Block-Chaining)encryptionalgorithm,并切换到ECB(Electronic Code Book)密码或类似RC4(ECBalgorithm在理论上是“不太安全的”,因为给定的明文input被encryption到给定密钥总是映射回相同的密文,这使得更容易打破已知的明文攻击,但实际上这不是一个大问题,Google(作为例子)仍然使用RC4)。

由于您正在运行的服务器已经死亡,被埋没并且分解,所以这可能不值得花费大量的时间来构build一个补丁的Apache(您需要单独重buildApache和OpenSSL,以免干扰任何要求系统默认安装了OpenSSL的版本 – 如果你正在做这么多的工作,那么你可以将整个系统升级到实际支持的系统),这样你几乎可以把“切换到ECB Cyphers”你可行的解决scheme。


BEAST现在真的是一个攻击的焦点 – 所有stream行的浏览器(IE,Chrome,Safari,Opera)都实施了一个有效的解决方法 ,由于攻击的方式 ,在浏览器之外很难实现(所以aptyum也是非常安全的)。

来自Google的Adam Langley在今年早些时候发表了一个精彩的演讲 ,概述了一些你应该关注的重点:SSL和安全性 – 虽然BEAST得到了提及,但它接近了需要担心的事情的底部。

我find的唯一的解决scheme将让你通过ssllabs.comtesting是将以下四行添加到您的apache httpd.conf和您的ssl.conf文件:

SSLHonorCipherOrder在

SSLProtocol -all + TLSv1 + SSLv3

SSLCipherSuite RC4-SHA:高:!MD5:!aNULL:!EDH:!ADH

SSLInsecureRenegotiationclosures

确保你没有在ssl.conf文件中发布两次这些设置。

现在我的网站通过一个A.