主流浏览器正在超越SSL3.0和TLS1.0。
PCI安全理事会已宣布这些协议被视为足够强大的加密协议的终止日期。
br />
我们需要远离这些协议,而使用更新更强大的协议。
在Windows服务器上,您可以非常轻松地禁用这些旧协议,而仅提供TLS1.1或更高版本。但是,如其他地方所述,如果禁用了较低的协议,则Microsoft SQL Server 2008 R2和SQL Server 2012(至少是Standard)都不会启动。但是,有越来越多的MS SQL Server版本。有SQL Server Standard,Business Intelligence,Enterprise,Express,Web和Compact版本。当然还有SQL Server 2008、2012、2014和(预发行版)2016。

其中哪些版本支持或仅支持使用TLS1.1或更高版本的协议?

评论

附带说明:PCI要求涵盖了整个数据传输,因此将SQL通讯通过公共和/或无线网络包装在实施更好标准的VPN /隧道中就足够了。它们也可能根本不覆盖本地通信。因此,如果由于适当的SQL配置和/或防火墙和其他过滤功能,VLAN之外的任何东西甚至都无法触摸SQL实例,那么您可能无需为此PoV担心。当然,如果您需要向公共网络公开SQL实例,那么这两个事实都不会对您有帮助,但是无论如何,这个想法还是让我感到恐惧!

#1 楼

微软最近(没有大张旗鼓地)透露他们将投资于TLS 1.2并逐步淘汰SSL。它应该与所有版本的SQL Server相关。

更新2016-01-29:Microsoft已在2008年,2008 R2、2012年和2014年宣布对TLS 1.2的正式支持。下载和其他信息可以可以在KB#3135244中找到。

我在博客中提到了一些已提及的问题,并在2014年使用加密端点时发出了警告:


SQL Server对TLS 1.2的支持–请先阅读!!

该帖子还指出了根据@@ version下载的正确版本(或其他操作)。

此举是否会影响所有现有版本,仅2014年或更高版本,或仅2016年,还有待观察。下面的报价似乎暗示至少2014年将是工作的一部分-我怀疑大部分投资将在客户端库中,而不是在引擎中,因此可行的是,它将适用于下一发行版的任何版本的ODBC / Native Client驱动程序将支持。

我从Microsoft的Kevin Farlee的PowerPoint资料夹中获得了此信息,并被允许共享信息,尽管我不知道其中有多少信息此时已重新分发。这是甲板上的确切报价:


飞行中的加密:保护客户端和服务器之间的数据免遭窥探和中间人攻击。在CY 15中升级到TLS 1.2,逐步淘汰SSL。 (2016年不需要),但没有迹象表明会向SQL Server 2005、2008或2008 R2进行任何反向移植(坦率地说,我会很惊讶)。

#2 楼

就像其他答案一样:您需要使用TLS1.2的最新CU。请参阅:

FIX:您不能使用传输层安全协议版本1.2连接到运行SQL Server 2014或SQL Server 2012的服务器:


SQL Server 2014 SP1的累积更新1
SQL Server 2014的累积更新8
SQL Server 2012 SP3的累积更新1
SQL Server 2012 SP2的累积更新10

>仅启用TLS 1.2之后,您可能会遇到两个错误:


SQL Server 2014代理将无法启动。解决方案:通过KB3135244中的下载链接安装SQL Server 2012 SNAC。

SQL Server Management Studio无法连接。解决方案:从KB3135244安装适用的.NET Framework修补程序。此外,您还必须在连接到SQL Server的所有客户端上更新SNAC / OBDC驱动程序。

以下Microsoft支持知识库文章中包含SQL Server和客户端驱动程序生成的完整列表,以及下载链接和其他可能需要的配置更改:

Microsoft SQL Server的TLS 1.2支持

评论


为什么即使安装了SQL Server 2012 SP3的累积更新1,我仍然无法启动SQL Server 2012?

– NickG
17年5月23日在11:22

#3 楼

自2016年1月29日起,Microsoft SQL Server支持TLS 1.2,用于:


SQL Server 2008
SQL Server 2008 R2
SQL Server 2012;和
SQL Server 2014

...以及主要的客户端驱动程序,例如:


Server Native Client
用于SQL Server的Microsoft ODBC驱动程序
用于SQL Server的Microsoft JDBC驱动程序
ADO.NET(SqlClient)。

SQL Server工程团队关于此发行版的博客文章:

TLS 1.2支持SQL Server 2008、2008 R2、2012和2014

支持TLS 1.2的内部版本列表以及客户端和服务器组件的下载位置(KB3135244):

TLS 1.2对Microsoft SQL Server的支持(包括针对DB Mail的.NET修复程序)

注意:以上内容自初始发行版以来已进行了更新,以解决原始更新中的一个缺陷,该缺陷导致在连接到服务器时导致服务间歇性终止SQL Server 2008或SQL Server 2008 R2的实例。 KB 3146034中对此进行了描述:

从KB3135244安装任何SQL Server 2008或SQL Server 2008 R2版本后,就会发生间歇性服务终止。

#4 楼

我可以确认为SQL 2012 SP2 CU7(具有对CU6的TLS 1.2的TLS 1.2支持),您无法在服务器级别禁用TLS 1.0,并且能够使用实例上的未加密Management Studio连接来连接到SQL Server这不会强制客户端加密。

这是在不使用TDE或其他证书的实例上。

我将在为服务器生成可信证书并启用加密连接之后尝试明天。即使支持TLS 1.2,也无法在SQL 2012上禁用time TLS 1.0。

编辑:

我从内部认证中心为数据库服务器生成了一个证书,并且能够建立到SQL Server的加密管理工作室连接,直到TLS 1.0协议已被禁用,这时我不再能够连接。使用与没有证书和自签名证书时相同的行为来加密登录会话。

#5 楼

我发现,即使使用SQL 2014 SP1 CU1,我也必须对IIS和SQL使用单独的框。在此过程中,我遇到了一些明显相关的问题,并详细介绍了本文中的步骤。

关键点是:


放置IIS和SQL在单独的框上
在IIS框上禁用传入TLS1.0,并启用传出TLS1.0。
在SQL框上同时启用TLS1.0。


#6 楼

这是我在前后服务器上所做的


打开gpedit.msc。在本地组策略编辑器中,双击“计算机配置”节点下的“ Windows设置”,然后双击“安全设置”。
在“安全设置”节点下,双击“本地策略” ”,然后单击“安全选项”。
在详细信息窗格中,双击“系统加密:使用FIPS兼容算法进行加密,散列和签名”。
在“系统加密:使用“符合FIPS的算法进行加密,散列和签名”对话框,单击“启用”,然后单击“确定”关闭对话框。关闭本地组策略编辑器。


评论


我认为这是为了解决如何设置TLS 1.2,而不是实际的原始问题,哪一个版本的SQL Server支持TLS 1.0以外的功能,也许是在具有SQL后端的Web服务器上?如果可能的话,请在答案中加以说明。

–RDFozz
17年11月20日在15:36

谢谢,但是。。。在最初的问题中,我试图使它有点笼统,但这确实与在2015年中期提出最低要求和一系列技术有关。现在它已经过时了,我认为应该关闭它。像上面这样的任何答案都应该针对该问题的一些较新版本,而该版本更适合今天的问题。我本人目前没有这样的问题。

–马克·戈德法恩
17年11月20日在22:59