如何在站点服务器和远程站点系统上启用 TLS 1.2

适用于:Configuration Manager (Current Branch)

为 Configuration Manager 环境启用 TLS 1.2 时,请先 为客户端启用 TLS 1.2 。 然后,在站点服务器和远程站点系统上启用 TLS 1.2。 最后,在可能禁用服务器端的旧协议之前,先测试客户端到站点系统的通信。 在站点服务器和远程站点系统上启用 TLS 1.2 需要执行以下任务:

  • 确保在操作系统级别为 SChannel 启用 TLS 1.2 作为协议
  • 更新和配置 .NET Framework 以支持 TLS 1.2
  • 更新 SQL Server 和客户端组件
  • 更新 Windows Server Update Services (WSUS)

有关特定 Configuration Manager 功能和方案的依赖项的详细信息,请参阅 关于启用 TLS 1.2

确保在操作系统级别为 SChannel 启用 TLS 1.2 作为协议

在大多数情况下,协议使用控制在三个级别:操作系统级别、框架或平台级别以及应用程序级别。 默认情况下,TLS 1.2 在操作系统级别处于启用状态。 确保 .NET 注册表值设置为启用 TLS 1.2 并验证环境是否在网络上正确利用 TLS 1.2 后,你可能希望编辑 SChannel\Protocols 注册表项以禁用较旧的、安全性较低的协议。 有关禁用 TLS 1.0 和 1.1 的详细信息,请参阅 在 Windows 注册表中配置 Schannel 协议

更新和配置 .NET Framework 以支持 TLS 1.2

确定 .NET 版本

首先,确定已安装的 .NET 版本。 有关详细信息,请参阅确定所安装的 .NET Framework 版本和 Service Pack 级别

安装l .NET 更新

安装 .NET 更新,以便启用强加密。 某些版本的 .NET Framework 可能需要更新才能启用强加密。 使用以下准则:

  • NET Framework 4.6.2 及更高版本支持 TLS 1.1 和 TLS 1.2。 确认注册表设置,但无需进行其他更改。

    注意

    从版本 2107 开始,Configuration Manager 需要为站点服务器、特定站点系统、客户端和控制台Microsoft .NET Framework 版本 4.6.2。 如果环境中可能,请安装最新版本的 .NET 版本 4.8。

  • 更新 NET Framework 4.6 和更早版本以支持 TLS 1.1 和 TLS 1.2。 有关详细信息,请参阅 .NET Framework 版本和依赖项

  • 如果在 Windows 8.1、Windows Server 2012 R2 或 Windows Server 2012 上使用 .NET Framework 4.5.1 或 4.5.2,强烈建议安装适用于 .Net Framework 4.5.1 和 4.5.2 的最新安全更新,以确保可以正确启用 TLS 1.2。

    供参考,TLS 1.2 首次引入 .Net Framework 4.5.1 和 4.5.2,并具有以下修补程序汇总:

配置强加密

配置 .NET Framework 以支持强加密。 将 SchUseStrongCrypto 注册表设置设置为 DWORD:00000001。 此值禁用 RC4 流密码,并需要重启。 有关此设置的详细信息,请参阅 Microsoft安全公告296038

确保在与已启用 TLS 1.2 的系统跨网络通信的任何计算机上设置以下注册表项。 例如,Configuration Manager 客户端、站点服务器上未安装的远程站点系统角色以及站点服务器本身。

对于在 32 位 OS 上运行的 32 位应用程序和在 64 位 OS 上运行的 64 位应用程序,请更新以下子项值:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v2.0.50727]
      "SystemDefaultTlsVersions" = dword:00000001
      "SchUseStrongCrypto" = dword:00000001
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319]
      "SystemDefaultTlsVersions" = dword:00000001
      "SchUseStrongCrypto" = dword:00000001

对于在 64 位 OS 上运行的 32 位应用程序,请更新以下子项值:

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v2.0.50727]
      "SystemDefaultTlsVersions" = dword:00000001
      "SchUseStrongCrypto" = dword:00000001
[HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\.NETFramework\v4.0.30319]
      "SystemDefaultTlsVersions" = dword:00000001
      "SchUseStrongCrypto" = dword:00000001

注意

设置 SchUseStrongCrypto 允许 .NET 使用 TLS 1.1 和 TLS 1.2。 设置 SystemDefaultTlsVersions 允许 .NET 使用 OS 配置。 有关详细信息,请参阅 使用 .NET Framework 的 TLS 最佳做法

更新 SQL Server 和客户端组件

Microsoft SQL Server 2016 及更高版本支持 TLS 1.1 和 TLS 1.2。 早期版本和依赖库可能需要更新。 有关详细信息,请参阅 知识库3135244:TLS 1.2 对 Microsoft SQL Server 的支持

辅助站点服务器至少需要使用 SQL Server 2016 Express 和 Service Pack 2 (13.2.50.26) 或更高版本。

SQL Server Native Client

注意

KB 3135244 还介绍了 SQL Server 客户端组件的要求。

此外,请确保将 SQL Server Native Client 更新到至少版本 SQL Server 2012 SP4 (11.*.7001.0) 。 此要求是 (警告) 的先决条件检查

Configuration Manager 在以下站点系统角色上使用 SQL Server Native Client:

  • 站点数据库服务器
  • 站点服务器:管理中心站点、主站点或辅助站点
  • 管理点
  • 设备管理点
  • 状态迁移点
  • SMS 提供程序
  • 软件更新点
  • 已启用多播的分发点
  • 资产智能更新服务点
  • Reporting Services 点
  • 注册点
  • Endpoint Protection 点
  • 服务连接点
  • 证书注册点
  • 数据仓库服务点

使用 Automanage 计算机配置和 Azure Arc 大规模启用 TLS 1.2

为在 Azure、本地或多云环境中运行的计算机跨客户端和服务器自动配置 TLS 1.2。 若要开始跨计算机配置 TLS 1.2, 请使用已启用 Azure Arc 的服务器将它们连接到 Azure,默认情况下,该服务器附带计算机配置先决条件。 连接后,可以通过在 Azure 门户中部署内置策略定义来配置 TLS 1.2,只需单击即可:在 Windows 服务器上 (TLS 1.1 或 TLS 1.2) 配置安全通信协议。 可以在订阅、资源组或管理组级别分配策略范围,并从策略定义中排除任何资源。

分配配置后,可以通过导航到“来宾分配”页并将范围缩小到受影响的资源来详细查看资源的符合性状态。

有关详细的分步教程,请参阅 使用 Azure Arc 持续升级服务器 TLS 协议和 Automanage 计算机配置

更新 Windows Server Update Services (WSUS)

默认情况下,WSUS 在所有 当前受支持的 Windows Server 版本上都支持 TLS 1.2。

若要在早期版本的 WSUS 中支持 TLS 1.2,请在 WSUS 服务器上安装以下更新:

  • 对于运行 Windows Server 2012 的 WSUS 服务器,请安装 更新4022721 或更高版本的汇总更新。

  • 对于运行 Windows Server 2012 R2 的 WSUS 服务器,请安装 更新4022720 或更高版本的汇总更新。

注意

2023 年 10 月 10 日,Windows Server 2012 和 Windows Server 2012 R2 进入扩展支持更新阶段。 Microsoft将不再为安装到这些操作系统的 Configuration Manager 站点服务器或角色提供支持。 有关详细信息,请参阅 扩展安全更新和 Configuration Manager

后续步骤