本文介绍如何使用 System Center - Orchestrator 设置传输安全层 (TLS) 协议版本 1.3。
开始之前
在为 Orchestrator 设置 TLS 1.3 之前,需要注意以下事项:
- Orchestrator 应运行版本 2022 或 2025。
- 编排器上的安全修补程序应该是最新的。
- System Center 更新应是最新的。
- 应在 Orchestrator 管理服务器上安装 SQL Server 2012 Native client 11.0 或更高版本。 若要下载并安装 Microsoft SQL Server 2012 Native Client 11.0,请参阅 此Microsoft下载中心网页。
- 业务流程协调程序应运行 .NET 版本 4.6。 按照 以下说明 确定安装了哪个版本的 .NET。
- 若要使用 TLS 1.3,System Center 组件会生成 SHA1 或 SHA2 自签名证书。 如果使用证书颁发机构(CA)中的 SSL 证书,则应使用 SHA1 或 SHA2。
- 安装支持 TLS 1.3 的 SQL Server 版本。 SQL Server 2022 或更高版本支持 TLS 1.3。
为 TLS 1.3 支持安装 SQL Server 更新
重要
即使 TLS 1.3 支持 TDS 连接,要启动 SQL Server 附属服务仍需要 TLS 1.2。 不要在计算机上禁用 TLS 1.2。
下载并安装 SQL Server 版本的更新。
注意
- SQL Server 2019 (15.x) 和早期版本不支持 TLS 1.3。
配置和使用 TLS 1.3
若要配置和使用 TLS 1.3,请执行以下步骤:
将 Orchestrator 配置为使用 TLS 1.3:
a。 在 Orchestrator 上启动注册表编辑器。 为此,请右键单击“ 开始”,在“运行”框中输入 regedit ,然后选择“ 确定”。
b. 找到以下注册表子项:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319
。选项c. 在此密钥下创建 DWORD SchUseStrongCrypto [Value=1]。
d。 找到以下注册表子项:
HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\.NetFramework\v4.0.30319
。e。 在此密钥下创建 DWORD SchUseStrongCrypto [Value=1]。
f。 将 System Center 设置为仅使用 TLS 1.3。
在此步骤中更改注册表之前,请备份注册表,以备日后需要对其进行还原。 然后设置以下注册表项值。
64 位操作系统的值
路径 注册表项 值 HKEY\_LOCAL\_MACHINE\SOFTWARE\Microsoft\.NETFramework\v2.0.50727
系统默认TLS版本 (SystemDefaultTlsVersions) dword:00000001 HKEY\_LOCAL\_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v2.0.50727
系统默认TLS版本 (SystemDefaultTlsVersions) dword:00000001 HKEY\_LOCAL\_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319
系统默认TLS版本 (SystemDefaultTlsVersions) dword:00000001 HKEY\_LOCAL\_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319
系统默认TLS版本 (SystemDefaultTlsVersions) dword:00000001 使用这些方法将 Windows 配置为仅使用 TLS 1.3:
方法 1:手动修改注册表
重要
如果注册表修改错误,可能会出现严重的问题。 在开始之前,请备份注册表,以便在出现问题时还原它。
若要启用或禁用整个系统的所有 SCHANNEL 协议,请执行以下步骤:
注意
建议为传入通信启用 TLS 1.3 协议。 为所有传出通信启用 TLS 1.3、TLS 1.2、TLS 1.1 和 TLS 1.0 协议。 注册表更改不会影响 Kerberos 协议或 NTLM 协议的使用。
a。 启动“注册表编辑器”。 若要进行此操作,请右键单击“开始”,在“运行”框中键入“regedit”,然后选择“确定” 。
b. 找到以下注册表子项:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols
选项c. 右键单击“协议”,然后指向新建>项。
d。 输入“SSL 3.0”。
e。 重复前面的两个步骤,为 TLS 0、TLS 1.1、TLS 1.2 和 TLS 1.3 创建密钥。 这些键类似于目录。
f。 在 SSL 3.0、TLS 1.0、TLS 1.1、TLS 1.2 和 TLS 1.3 密钥下创建客户端密钥和服务器密钥。
g。 若要启用协议,请在每个客户端和服务器密钥下创建 DWORD 值,如下所示:
- DisabledByDefault [值 = 0]
- 启用 [值 = 1]
h. 若要禁用协议,请更改每个客户端和服务器密钥下的 DWORD 值,如下所示:
- 默认禁用 [Value = 1]
- 已启用 [值 = 0]
一. 选择文件>退出。
方法 2:自动修改注册表
在管理员模式下运行以下 Windows PowerShell 脚本,以自动将 Windows 配置为仅使用 TLS 1.3 协议:
$ProtocolList = @("SSL 2.0", "SSL 3.0", "TLS 1.0", "TLS 1.1", "TLS 1.2", “TLS 1.3”) $ProtocolSubKeyList = @("Client", "Server") $DisabledByDefault = "DisabledByDefault" $registryPath = "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\" foreach ($Protocol in $ProtocolList) { foreach ($key in $ProtocolSubKeyList) { $currentRegPath = $registryPath + $Protocol + "\" + $key Write-Output "Current Registry Path: `"$currentRegPath`"" if (!(Test-Path $currentRegPath)) { Write-Output " `'$key`' not found: Creating new Registry Key" New-Item -Path $currentRegPath -Force | out-Null } if ($Protocol -eq "TLS 1.3") { Write-Output " Enabling - TLS 1.3" New-ItemProperty -Path $currentRegPath -Name $DisabledByDefault -Value "0" -PropertyType DWORD -Force | Out-Null New-ItemProperty -Path $currentRegPath -Name 'Enabled' -Value "1" -PropertyType DWORD -Force | Out-Null } else { Write-Output " Disabling - $Protocol" New-ItemProperty -Path $currentRegPath -Name $DisabledByDefault -Value "1" -PropertyType DWORD -Force | Out-Null New-ItemProperty -Path $currentRegPath -Name 'Enabled' -Value "0" -PropertyType DWORD -Force | Out-Null } Write-Output " " } }
在所有 Service Manager 角色上安装以下更新。 更新管理服务器、Azure 数据仓库服务器、自助服务门户和分析控制台(包括安装在 Orchestrator Runbook 服务器上的分析控制台)中的角色。
操作系统 所需的更新 Windows 8.1 和 Windows Server 2012 R2 3154520 Windows 8.1 和 Windows Server 2012 R2 上 .NET Framework 3.5 中包含的 TLS 系统默认版本支持 Windows Server 2012 3154519 Windows Server 2012 上 .NET Framework 3.5 中包含的 TLS 系统默认版本的支持 Windows 7 SP1 和 Windows Server 2008 R2 SP1 3154518 Windows 7 SP1 和 Server 2008 R2 SP1 上 .NET Framework 3.5.1 中包含的 TLS 系统默认版本支持 Windows 10 和 Windows Server 2016 3154521 修补程序汇总 3154521 - 针对 Windows 上的 .NET Framework 4.5.2 和 4.5.1
3156421 Windows 10 版本 1511 和 Windows Server 2016 Technical Preview 4 的累积更新:2016 年 5 月 10 日重新启动计算机。
注意
将 Microsoft System Center Orchestrator 设置为仅对连接使用 TLS 1.3 协议后,集成包将停止工作。
若要解决此问题,请执行以下步骤:
- 启动“注册表编辑器”。
- 找到以下注册表子项:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319
- 检查 SystemDefaultTlsVersions 值是否存在。 - 如果值存在,请确保其数据设置为 1。 - 如果值不存在,请创建一个 DWORD (32 位)值,并指定以下值:Name: SystemDefaultTlsVersions 值数据: 1
- 选择“确定”。
有关详细信息,请参阅 此知识库文章。
后续步骤
详细了解 TLS 1.2 协议。