如何在apache上启用TLS_FALLBACK_SCSV

如何在apache上启用TLS_FALLBACK_SCSV,apache,security,ssl,Apache,Security,Ssl,我在各种论坛上读到了关于SSLv3中的POODLE漏洞的文章。建议在服务器上禁用SSLv3并支持TLS\u FALLBACK\u SCSV 如何在apache2.2上支持TLS\u FALLBACK\u SCSV?据我所知,这不是Apache中的配置,而是openssl的行为 OpenSSL增加了对TLS_FALLBACK_SCSV的支持,以允许应用程序 阻止MITM攻击者强制执行协议的能力 降级 在Debian上,您可以升级openssl而不升级libssl,因为您确实希望升级libssl。

我在各种论坛上读到了关于
SSLv3
中的
POODLE
漏洞的文章。建议在服务器上禁用
SSLv3
并支持
TLS\u FALLBACK\u SCSV


如何在
apache2.2
上支持
TLS\u FALLBACK\u SCSV

据我所知,这不是Apache中的配置,而是openssl的行为

OpenSSL增加了对TLS_FALLBACK_SCSV的支持,以允许应用程序 阻止MITM攻击者强制执行协议的能力 降级


在Debian上,您可以升级openssl而不升级libssl,因为您确实希望升级libssl。Apache使用libssl。

不必同时使用这两种语言;TLS_FALLBACK_SCSV是一种防止降级攻击的机制,但如果您的服务器不允许SSLv3(或v2)连接,则不需要它(因为那些降级的连接将无法工作)

编辑(以纳入反馈): 从技术上讲,TLS_FALLBACK_SCSV在禁用SSL的情况下仍然很有用,因为它有助于避免连接降级为TLS<1.2。但这对狮子狗来说是不必要的,因为脆弱的SSLv3已经关闭


TLS_FALLBACK_SCSV对POODLE有帮助的唯一原因是,如果您需要支持SSLv3客户端(非常旧的IE版本或其他)。这些客户机仍然容易受到攻击,但支持该选项的现代客户机可以安全地抵御降级攻击。

升级到最新版本的openssl,该版本将提供。Apache将使用它

发件人:

Debian和其他发行版正在OpenSSL上部署TLS-FALLBACK-SCSV更新的后端口

更新后重新启动Apache。

检查您的服务器 将检查您是否支持
TLS\u FALLBACK\u SCSV


请注意notes“TLS\U FALLBACK\U SCSV supported”(TLS\U FALLBACK\U SCSV受支持)

我可以确认不需要对Apache进行任何更改(至少对于Ubuntu 14.04),我在更新openssl后重新启动了Apache,并且
TLS\U FALLBACK\U SCSV
正在工作。

升级到实现TLS\U FALLBACK\U SCSV的最新openssl包。然后在Apache配置中也禁用SSLv3

SSLProtocol all -SSLv2  -SSLv3
“askubuntu”stack站点上的这个答案提供了更多的细节,并提供了如何为此配置一系列不同服务器的答案


在配置文件中放入以下行,或替换以SSLProtocol开头的任何现有行:
SSLProtocol All-SSLv2-SSLv3

然后运行:
$sudo apache2ctl configtest&sudo服务apache2 restart


您可以测试运行命令
$openssl s\u client-connect:-ssl3

TLS\u EMPTY\u RENEGOTIATION\u INFO\u SCSV是一个神奇的词。 有关更多详细信息,请参阅,其内容如下:

TLS_FALLBACK_SCSV是在客户机上宣传的一个伪密码套件 您好,这将启动SSL/TLS握手。SCSV代表“信号” 密码套件值”。使用密码套件作为信号的想法是 不是新的:TLS_EMPTY_RENEGOTIATION_INFO_SCSV是客户可以使用的一种方式 宣传他们支持安全重新协商(寻址 CVE-2009-3555)

最后,对于带有嵌入式Apache服务器的Spring boot项目,配置将显示如下内容:

server.ssl.enabled-protocols=TLSvx,TLSvx.y....
server.ssl.protocol=TLS
server.ssl.ciphers=TLS_DHE_DSS_WITH_AES_128_GCM_SHA256,TLS_............TLS_EMPTY_RENAGOTIATION_INFO_SCSV 
server.server-header="Willi Wonka!"

PS-要查看所有的Spring boot配置/属性,请访问以下内容:

该死的,你比我还快。您还可以在apache配置中显式禁用SSLv2/3,这只是为了更好地衡量。仅升级是不够的。必须禁用SSLv2和SSLv3。请参阅下面的答案。问题是“如何在apache2.2上支持TLS\u FALLBACK\u SCSV?”而不是“如何禁用SSLv3?”@tomf问题是如何保护自己免受贵宾犬的伤害。需要一个完整的答案,而不是教条式的答案。这并不能解决我的问题。已于2015年1月8日启用OpenSSL 1.0.1k,并已禁用SSLv2/3,但仍会显示“否,TLS\U FALLBACK\U SCSV not supported”(不支持TLS\U FALLBACK\U SCSV)消息。想法?如果你禁用SSLv3,
TLS\u FALLBACK\u SCSV
就没有必要防御贵宾犬。对。但是,它很有用,因为它可以阻止TLSv1.2客户端被降级为TLSv1(目前没有严重问题,但将来可能会出现)。同意,请注意SSLLAB在此处的一致性。在@tomf回答中的google.com链接上,POODLE的状态是“服务器缓解”,而不是“易受攻击:否”。在安全哲学中,我可以“减少”有人用锁或其他禁止措施闯入我前门的可能性。或者,我可以彻底地把门敲出去,用砖头和灰泥代替它。两者都做。请参阅以了解两者的区别。@techniquempire在本例中,禁用SSLv3就像完全卸下前门一样。把挂锁放在砖墙上没有多大意义。嗯,这是我的观点。根本不需要挂锁,完全扔掉它。如果你真的不需要它,你需要禁用SSLv3。很少有人需要它。@BillR这不是问题。请尝试只回答他们提出的与现有未修补漏洞相关的安全相关问题。不要直截了当,对完整的答案更感兴趣。在这里,当提问可能遗漏了问题的其他方面时,其他人会补充回答,这不是一个不寻常的立场。
server.ssl.enabled-protocols=TLSvx,TLSvx.y....
server.ssl.protocol=TLS
server.ssl.ciphers=TLS_DHE_DSS_WITH_AES_128_GCM_SHA256,TLS_............TLS_EMPTY_RENAGOTIATION_INFO_SCSV 
server.server-header="Willi Wonka!"