传输层安全性 (TLS) 1.2 是用于安全通信的加密协议。 它比以前使用的 TLS 1.0 Microsoft版本更安全。 本文讨论在升级 TLS 时要记住的理想升级工作流和重要项。
有关应升级哪些基于 SQL Server 的服务器、驱动程序和其他组件的详细信息,请参阅 TLS 1.2 对 Microsoft SQL Server 的支持。
有关特定于 SharePoint 的 TLS 1.2 升级的详细信息,请参阅 在 SharePoint 2013 中启用 TLS 和 SSL 支持。
实现 TLS 1.2
若要实现 TLS 1.2,请执行以下步骤:
在环境中所有基于 SQL Server 的服务器上安装最新更新。
确保在所有服务器上默认启用 TLS 1.2。 如果不确定 TLS 状态,请运行 SQLCHECK。
在连接到基于 SQL Server 的服务器的所有客户端计算机和应用程序上安装最新更新。 有关客户端驱动程序更新,请参阅 客户端组件下载。
在服务器上禁用 TLS 1.0。 执行此操作时,可能还可以看到禁用的客户端计算机。
实现 TLS 1.2 的挑战
实现 TLS 1.2 时,可能会遇到一些挑战:
确定哪些服务器必须更新,这相对容易。 真正的挑战是确定哪些客户端需要更新以及他们需要哪些更新。 单个客户端计算机可能已安装使用多个不同驱动程序的应用程序,例如对象链接和嵌入、数据库(OLE DB)、Open Database Connectivity (ODBC)和 .NET。 开发客户端列表可能需要仔细彻底的清单。
某些驱动程序无法更新到 TLS 1.2。 此类驱动程序的最常见示例是随 Windows 一起随附的 SQL Server 2000 旧驱动程序,例如
Provider=SQLOLEDB or Driver={SQL Server}。 在这些情况下,必须重写或重新配置连接应用程序以使用 SQL Server 2008 或更高版本的驱动程序或提供程序。注意
与 Windows 一起随附的驱动程序不同,不再支持 SQL Server 2005 SNAC 驱动程序
(Provider=SQLNCLI and Driver={SQL Server Native Client})。如果出于某种原因无法重写应用程序,则不能为特定客户端或目标服务器禁用 TLS 1.0。 例如,如果源代码丢失,或者源代码是第三方应用程序并且供应商现在不业务,则可能会出现这种情况。
如果在服务器上关闭 TLS 1.0,此操作可能会在环境中显示一些不合规的客户端。 数据库管理员必须与各种应用程序开发团队协作,以确定应用程序使用、升级和测试哪些驱动程序。
如果在客户端上关闭 TLS 1.0,否则无法连接到运行 TLS 1.2 且禁用 TLS 1.0 的服务器,客户端应用程序可能能够连接。 但是,根据大多数企业的要求,此操作通常不能接受。 因此,应避免执行此操作。 否则,客户端不使用尝试协商会话的安全套接字层 (SSL) 哈希,而是使用未加密的 Login7 数据包进行连接。 此方法可能会向连接上的任何侦听器显示用户凭据。 如果客户端安装在其他计算机上,则可以轻松地在网络跟踪中观察此方案。
可以使用 IISCrypto 工具确定已启用哪些 TLS 和 SSL 客户端和服务器协议以及如何修改它们。 此工具还允许启用或禁用各种密码套件。 但是,这样做不正确可能会破坏环境中的现有应用程序。 建议不要在没有Microsoft 支持部门指南的情况下修改任何内容。 有关如何验证和配置更改的详细信息,请参阅 限制在Schannel.dll中使用某些加密算法和协议。 请参阅 XEvent ,在 SSL 握手事件期间查找 TLS 版本。
注意
使用 Regedit.exe 导出注册表分支并备份原始设置。