如何使用OpenSSL和Apache启用TLS 1.1和1.2


33

鉴于越来越多的安全问题,例如新发布的针对SSL / TLS的浏览器漏洞(BEAST),我很好奇我们如何才能通过OpenSSL和Apache启用TLS 1.1和1.2,以确保我们不会受到攻击对这种威胁向量。

Answers:


25

TLS1.2现在可用于apache,只需添加https虚拟主机配置即可添加TLSs1.2:

SSLProtocol -all +TLSv1.2

-all 正在删除其他SSL协议(SSL 1,2,3 TLS1)

+TLSv1.2 正在添加TLS 1.2

为了提高浏览器的兼容性,您可以使用

SSLProtocol -all +TLSv1 +TLSv1.1 +TLSv1.2

顺便说一句,您也可以使用以下方法增加密码套件:

SSLCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:ECDHE-RSA-AES128-SHA:DHE-RSA-AES128-GCM-SHA256:AES256+EDH:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GC$

您可以使用以下在线扫描器测试https网站的安全性:https : //www.ssllabs.com/ssltest/index.html


2
我不确定为什么这篇文章被标记为“过时”。我使用了推荐的解决方案,并且我客户的站点从Qualsys SSL Labs的“ C”级转到了“ A”级。
Michael Sobczak's

嗨,我删除了过时的警告以防止误解,这是旧的正确答案的链接。我很高兴您的安全得到提高;)
Froggiz

在sites-available / 000-default.conf中,我添加到虚拟主机“ SSLProtocol -all + TLSv1.2”,并得到:AH00526:/etc/apache2/sites-enabled/000-default.conf的第31行的语法错误:无效的命令“ SSLProtocol”,可能是服务器配置中未包含的模块拼写错误或定义了操作“ configtest”失败。
Elia Weiss

您启用了mod_ssl吗?(命令:a2enmod ssl)
Froggiz

“ SSLProtocol:非法协议'TLSv1.2'”(OS X 10.10.5)
Michael Michael


10

根据OpenSSL更新日志,对TLS 1.2的支持已添加到OpenSSL 1.0.1的开发分支中,但是此版本尚未发布。可能还需要对mod_ssl代码进行一些更改才能实际为Apache启用TLS 1.2。

另一个常用的SSL / TLS库是NSS;鲜为人知的Apache模块mod_nss使用它 ; 不幸的是,当前的NSS版本也不支持TLS 1.2。

另一个SSL / TLS库是GnuTLS,它假装为在当前版本中已经支持TLS 1.2。有一个使用GnuTLS的Apache模块:mod_gnutls,它也声称支持TLS 1.2。但是,该模块似乎是相当新的,可能不是很稳定。我从未尝试使用它。


1
@ Sergey,感谢您的链接和信息。考虑到这些标准的年龄,我们仍然无法使用这些标准,对此我仍然感到遗憾。对于我来说,我们需要成为系统和网络的捍卫者,这似乎很奇怪,但我们无法利用有助于改善安全状况的工具。同样,除了像Apache以及可能的IIS这样的服务器之外,Web浏览器人员似乎还有一种方法可以帮助实现对这些标准的支持。
约翰,

2
一年后,这个答案仍然准确吗?
Ben Walther 2012年

2
@BenWalther OpenSSL 1.0.1于2012年3月发布,支持TLS 1.2。截至目前最新版本为1.0.1c。我不确定该帖子的其余部分是否仍然有效。
Burhan Ali 2013年

6

您不能,OpenSSL尚不提供TLS 1.1的发行版。

关于/的一项相关评论。对于这个问题:

您是否能向广大用户解释一下,在一个主流库OpenSSL尚未在其稳定版本中支持这两种协议的情况下,您将如何实现TLS 1.1和1.2支持?当然,您可以使用GnuTLS和mod_gnutls,而我已经尝试过了,但是没有意义,因为除了Opera之外没有其他浏览器支持它,并且模块中存在一些奇怪的故障。IE 8/9本应在Vista和7下支持它们,但是当在客户端启用1.1和1.2时,无法访问由mod_gnutls服务的站点。出于好奇,我昨天再次尝试了此操作,现在,即使是Opera 11.51在TLS 1.1和1.2上也遇到了麻烦。所以那里。没有什么真正支持协议。必须等待TLS 1.1的OpenSSL 1.0.1,并且没人知道什么时候可以到达仓库。

http://it.slashdot.org/comments.pl?sid=2439924&cid=37477890


1
@ Steve-o,感谢您的信息。令人失望的是,TLS 1.1从2006年4月开始发布,并且TLS 1.2从2008年8月开始发布,并在2011年3月进行了更新,我们仍然无法使用它们。
约翰


3

Gnu_tls就像一个咒语一样工作,它还实现了SNI(服务器名称标识),这在虚拟主机中非常有用。

在Linux发行版中找到mod_gnutls的bin包也没问题,我使用它已有两年了,没有问题,它也比openssl imho更具性能。

但是问题还在于,大多数浏览器不支持tls 1.1或1.2,因此请开始向人们定期传播升级浏览器的想法。


@ Rastrano-您对如何执行此操作有任何建议或链接吗?感谢您提供的信息,而且“现代”浏览器尚不支持这一点太糟糕了。
约翰
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.