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


11

我有一个在RHEL4上运行Apache 2.0的Web服务器。该服务器最近无法通过PCI扫描。

原因:SSLv3.0 / TLSv1.0协议弱的CBC模式漏洞解决方案:此攻击在2004年和TLS协议的更高版本中被发现,其中对此问题进行了修复。如果可能,请升级到TLSv1.1或TLSv1.2。如果无法升级到TLSv1.1或TLSv1.2,则禁用CBC模式密码将消除此漏洞。在Apache中使用以下SSL配置可以缓解此漏洞:SSLCipherSuite RC4-SHA:HIGH:!ADH上的SSLHonorCipherOrder

我想简单的解决。我将这些行添加到了Apache配置中,但是没有用。显然,
“ SSLHonorCipherOrder On”仅适用于Apache 2.2及更高版本。我尝试升级Apache,不久就遇到了依赖地狱,看来我必须升级整个操作系统才能升级到Apache 2.2。我们将在几个月后淘汰此服务器,因此不值得。

该解决方案说:“如果无法升级到TLSv1.1或TLSv1.2,则禁用CBC模式密码将消除此漏洞。”

我将如何在Apache 2.0上执行此操作?这有可能吗?如果没有,还有其他解决方法吗?


3
由于对RHEL4(.7)的扩展更新支持在一年前就已结束,因此建议不要早于此服务器退役。否则,您可能需要从源代码构建apache 2.2。
DerfK

新服务器已准备就绪,但直到12月我们才能迁移。是的,从源代码编译和安装Apache 2.2是目前的最后选择。想知道是否有更轻松的解决方法?
Debianuser 2012年

Answers:


11

除了手动编译较新的Apache外,我唯一想到的就是使RC4-SHA成为唯一受支持的密码(openssl ciphers RC4-SHA在当前的openssl上进行了测试,以确保它仅打印一个密码,您可能希望这样做确保它与您的旧openssl上的某些奇怪的旧密码不匹配):

SSLCipherSuite RC4-SHA

MS表示Windows XP支持TLS_RSA_WITH_RC4_128_SHA,因此您不会遇到任何兼容性问题。


1
正是我想要的。我使用beast-check.googlecode.com/files/beast.pl成功测试了。我将安排PCI扫描,并在完成后通知您。
Debianuser 2012年

我可以确认这可行。服务器通过了PCI扫描。非常感谢你。
Debianuser

6

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

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

另一个选择是禁用任何CBC(密码块链)加密算法,并切换到en ECB(电子密码书)密码或类似RC4的密码(ECB算法在理论上“不太安全”,因为给定的明文输入已加密到给定的key始终会映射回相同的密文,从而更容易被已知的明文攻击破坏,但是实际上这并不是一个大问题(例如,Google仍使用RC4)。

由于您正在运行的服务器已死机,被埋没并进行分解,这可能不值得构建修补后的Apache(为此,您将需要独立地重建Apache和OpenSSL,以免让任何不满意的事情重建)。需要默认情况下在系统上安装的OpenSSL版本-如果您要进行大量工作,则不妨将整个系统升级到实际支持的功能),因此您几乎可以选择“切换到ECB密码”您可行的解决方案。


如今,BEAST确实是一场无所不包的攻击- 所有流行的浏览器(IE,Chrome,Safari,Opera)都实现了有效的解决方法,并且由于这种攻击的工作方式,很难在浏览器之外实现(因此aptyum仍然非常安全)。

Google的亚当·兰利(Adam Langley)在今年早些时候进行了精彩的演讲,概述了您应该集中精力解决的一些痛点:SSL和安全性-虽然BEAST赢得了提及,但它几乎是所有令人担忧的事情的最底层。


RC4 不是 ECB模式密码。使用ECB模式将是一个巨大的错误,并且有充分的理由说明TLS没有受支持的ECB密码套件。使用流密码RC4一样是一个更坏主意,但最近的研究结果意味着它看起来的确要比不太好的isg.rhul.ac.uk/tls
armb

4

我发现唯一可以通过ssllabs.com测试的解决方案是将以下四行添加到apache httpd.conf和ssl.conf文件中:

SSLHonorCipherOrder开启

SSLProtocol-全部+ TLSv1 + SSLv3

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

SSLInsecureRenegotiation关闭

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

现在,我的站点以A传递。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.