如何实现传输层安全性 1.2
重要
此版本的 Operations Manager 已终止支持。 建议 升级到 Operations Manager 2022。
本文介绍如何为 System Center Operations Manager 管理组启用传输层安全性 (TLS) 协议版本 1.2。
注意
Operations Manager 将使用在操作系统级别配置的协议。 例如,如果在操作系统级别启用了 TLS 1.0、TLS 1.1 和 TLS 1.2,则 Operations Manager 将按以下优先顺序选择三个协议之一:
- TLS 版本 1.2
- TLS 版本 1.1
- TLS 版本 1.0
Schannel SSP 随后会选择客户端和服务器可以支持的最优先的身份验证协议。
请执行以下步骤启用 TLS 协议版本 1.2:
注意
Microsoft OLE DB Driver 18 for SQL Server(推荐)可以与 Operations Manager 2016 UR9 及更高版本配合使用。
- 在所有管理服务器和 Web 控制台服务器上安装 SQL Server 2012 Native Client 11.0 或 Microsoft OLE DB Driver 18 for SQL Server。
- 在承载 Operations Manager 数据库和报表服务器角色的所有管理服务器、网关服务器、Web 控制台服务器和 SQL Server 上安装 .NET Framework 4.6。
- 安装支持 TLS 1.2 的所需 SQL Server 更新。
- 在所有管理服务器上安装 ODBC 11.0 或 ODBC 13.0。
- 对于 System Center 2016 - Operations Manager,安装更新汇总 4 或更高版本。
- 将 Windows 配置为仅使用 TLS 1.2。
- 将 Operations Manager 配置为仅使用 TLS 1.2。
- 在所有管理服务器和 Web 控制台服务器上安装 Microsoft OLE DB 驱动程序 版本 18.2 至 18.6.7 或更高版本。
- 在承载 Operations Manager 数据库和报表服务器角色的所有管理服务器、网关服务器、Web 控制台服务器和 SQL Server 上安装 .NET Framework 4.6。
- 安装支持 TLS 1.2 的所需 SQL Server 更新。
- 在所有管理服务器上安装 ODBC 驱动程序 版本 17.3 至 17.10.5 或更高版本。
- 将 Windows 配置为仅使用 TLS 1.2。
- 将 Operations Manager 配置为仅使用 TLS 1.2。
Operations Manager 会生成 SHA1 和 SHA2 自签名证书。 这对于启用 TLS 1.2 而言是必需的。 如果使用 CA 签名的证书,请确保证书是 SHA1 或 SHA2。
注意
如果安全策略限制 TLS 1.0 和 1.1,安装新的 Operations Manager 2016 管理服务器、网关服务器、Web 控制台和 Reporting Services 角色将失败,因为安装媒体不包含支持 TLS 1.2 的更新。 安装这些角色的唯一方法是在系统上启用 TLS 1.0,应用更新汇总 4,然后在系统上启用 TLS 1.2。 此限制不适用于 Operations Manager 版本 1801。
将 Windows 操作系统配置为仅使用 TLS 1.2 协议
使用以下方法之一将 Windows 配置为仅使用 TLS 1.2 协议。
方法 1:手动修改注册表
重要
请认真遵循本部分所述的步骤。 如果注册表修改不正确,可能会发生严重问题。 修改之前请备份注册表,以便在出现问题时进行恢复。
使用以下步骤在系统范围内启用/禁用所有 SCHANNEL 协议。 建议为所有传入通信和传出通信都启用 TLS 1.2 协议。
注意
进行这些注册表更改不会影响 Kerberos 或 NTLM 协议的使用。
使用具有本地管理凭据的帐户登录到服务器。
按住“开始”以启动注册表编辑器,在“运行”文本框中输入 regedit,然后选择“确定”。
找到以下注册表子项:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols
。针对“Protocols”下的“SSL 2.0”、“SSL 3.0”、“TLS 1.0”、“TLS 1.1”和“TLS 1.2”创建一个子项。
在之前创建的每个协议版本子项下创建“Client”和“Server”子项。 例如,TLS 1.0 的子项将是
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Client
和HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Server
。若要禁用每个协议,请在“Server”和“Client”下创建以下 DWORD 值:
- Enabled [Value = 0]
- DisabledByDefault [Value = 1]
若要启用 TLS 1.2 协议,请在 和
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server
下HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client
创建以下 DWORD 值:- Enabled [值 = 1]
- DisabledByDefault [值 = 0]
关闭注册表编辑器。
方法 2:自动修改注册表
以管理员身份运行以下Windows PowerShell脚本,以自动将 Windows 操作系统配置为仅使用 TLS 1.2 协议:
$ProtocolList = @("SSL 2.0", "SSL 3.0", "TLS 1.0", "TLS 1.1", "TLS 1.2")
$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.2")
{
Write-Output " Enabling - TLS 1.2"
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 " "
}
}
将 Operations Manager 配置为仅使用 TLS 1.2
完成 Operations Manager 所有先决条件的配置之后,在所有管理服务器、托管 Web 控制台角色的服务器和安装了代理的任何 Windows 计算机上执行以下步骤。
重要
请认真遵循本部分所述的步骤。 如果注册表修改不正确,可能会发生严重问题。 进行任何修改之前,请备份注册表,以便在出现问题时进行恢复。
注意
在 Windows OS 2012 中运行的 SCOM 2012 R2 需要进行其他更改才能使用 TLS 1.2 over HTTP 进行 UNIX/LINUX 监视。 若要在 Windows 版 WinHTTP 中启用 TLS 1.2 作为默认安全协议,需要根据更新以在 Windows 版 WinHTTP 中启用 TLS 1.2 作为默认安全协议进行以下更改。
手动修改注册表
- 使用具有本地管理凭据的帐户登录到服务器。
- 按住“开始”以启动注册表编辑器,在“运行”文本框中输入 regedit,然后选择“确定”。
- 找到以下注册表子项:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319
。 - 在此子项下创建值为 1的 DWORD 值 SchUseStrongCrypto。
- 找到以下注册表子项:
HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\.NETFramework\v4.0.30319
。 - 在此子项下创建值为 1的 DWORD 值 SchUseStrongCrypto。
- 重启系统以使设置生效。
自动修改注册表
在管理员模式下运行以下Windows PowerShell脚本,以自动将 Operations Manager 配置为仅使用 TLS 1.2 协议:
# Tighten up the .NET Framework
$NetRegistryPath = "HKLM:\SOFTWARE\Microsoft\.NETFramework\v4.0.30319"
New-ItemProperty -Path $NetRegistryPath -Name "SchUseStrongCrypto" -Value "1" -PropertyType DWORD -Force | Out-Null
$NetRegistryPath = "HKLM:\SOFTWARE\WOW6432Node\Microsoft\.NETFramework\v4.0.30319"
New-ItemProperty -Path $NetRegistryPath -Name "SchUseStrongCrypto" -Value "1" -PropertyType DWORD -Force | Out-Null
其他设置
如果这是针对 System Center 2016 - Operations Manager 实现的,请在应用更新汇总 4 后,请确保导入此汇总中包含的管理包,该目录位于以下目录中: \Program Files\Microsoft System Center 2016\Operations Manager\Server\Management Packs for Update Rollups。
如果使用 Operations Manager 监视受支持的 Linux 服务器版本,请按照针对你的发行版的相应网站上的说明配置 TLS 1.2。
审核收集服务
对于审核收集服务 (ACS),必须在 ACS 收集器服务器的注册表中进行额外更改。 ACS 使用 DSN 连接到数据库。 必须更新 DSN 设置,以使其可正常应用 TLS 1.2。
使用具有本地管理凭据的帐户登录到服务器。
按住“开始”以启动注册表编辑器,在“运行”文本框中输入 regedit,然后选择“确定”。
找到 OpsMgrAC 的以下 ODBC 子项:
HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\OpsMgrAC
。注意
DSN 的默认名称是 OpsMgrAC。
在“ODBC Data Sources”子项下,选择 DSN 名称“OpsMgrAC”。 它包含要用于数据库连接的 ODBC 驱动程序的名称。 如果安装了 ODBC 11.0,请将此名称更改为“ODBC Driver 11 for SQL Server”;如果安装了 ODBC 13.0,请将此名称更改为“ODBC Driver 13 for SQL Server”。
在 OpsMgrAC 子项下,更新已安装的 ODBC 版本的 驱动程序 。
- 如果安装了 ODBC 11.0,请将“驱动程序”条目更改为
%WINDIR%\system32\msodbcsql11.dll
。 - 如果安装了 ODBC 13.0,请将“驱动程序”条目更改为
%WINDIR%\system32\msodbcsql13.dll
。
注册表文件
或者,在记事本或其他文本编辑器中创建并保存以下 .reg 文件。 若要运行保存 .reg 文件,请双击该文件。
对于 ODBC 11.0,请创建以下 ODBC 11.reg文件:
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\ODBC Data Sources] "OpsMgrAC"="ODBC Driver 11 for SQL Server" [HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\OpsMgrAC] "Driver"="%WINDIR%\system32\msodbcsql11.dll"
对于 ODBC 13.0,请创建以下 ODBC 13.reg文件:
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\ODBC Data Sources] "OpsMgrAC"="ODBC Driver 13 for SQL Server" [HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\OpsMgrAC] "Driver"="%WINDIR%\system32\msodbcsql13.dll"
PowerShell
或者,可以运行以下 PowerShell 命令来自动执行更改。
对于 ODBC 11.0,请运行以下 PowerShell 命令:
New-ItemProperty -Path "HKLM:\SOFTWARE\ODBC\ODBC.INI\OpsMgrAC" -Name "Driver" -Value "%WINDIR%\system32\msodbcsql11.dll" -PropertyType STRING -Force | Out-Null New-ItemProperty -Path "HKLM:\SOFTWARE\ODBC\ODBC.INI\ODBC Data Sources" -Name "OpsMgrAC" -Value "ODBC Driver 11 for SQL Server" -PropertyType STRING -Force | Out-Null
对于 ODBC 13.0,请运行以下 PowerShell 命令:
New-ItemProperty -Path "HKLM:\SOFTWARE\ODBC\ODBC.INI\OpsMgrAC" -Name "Driver" -Value "%WINDIR%\system32\msodbcsql13.dll" -PropertyType STRING -Force | Out-Null New-ItemProperty -Path "HKLM:\SOFTWARE\ODBC\ODBC.INI\ODBC Data Sources" -Name "OpsMgrAC" -Value "ODBC Driver 13 for SQL Server" -PropertyType STRING -Force | Out-Null
- 如果安装了 ODBC 11.0,请将“驱动程序”条目更改为
审核收集服务
对于审核收集服务 (ACS),必须在 ACS 收集器服务器的注册表中进行额外更改。 ACS 使用 DSN 连接到数据库。 必须更新 DSN 设置,以使其可正常应用 TLS 1.2。
使用具有本地管理凭据的帐户登录到服务器。
按住“开始”以启动注册表编辑器,在“运行”文本框中输入 regedit,然后选择“确定”。
找到 OpsMgrAC 的以下 ODBC 子项:
HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\OpsMgrAC
。注意
DSN 的默认名称是 OpsMgrAC。
在“ODBC Data Sources”子项下,选择 DSN 名称“OpsMgrAC”。 它包含要用于数据库连接的 ODBC 驱动程序的名称。 如果已安装 ODBC 17,请将此名称更改为 ODBC Driver 17 for SQL Server。
在 OpsMgrAC 子项下,更新已安装的 ODBC 版本的 驱动程序 。
- 如果安装了 ODBC 17,请将“驱动程序”条目更改为
%WINDIR%\system32\msodbcsql17.dll
。
注册表文件
或者,在记事本或其他文本编辑器中创建并保存以下 .reg 文件。 若要运行保存 .reg 文件,请双击该文件。
对于 ODBC 17,请创建以下 ODBC 17.reg文件:
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\ODBC Data Sources] "OpsMgrAC"="ODBC Driver 17 for SQL Server" [HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\OpsMgrAC] "Driver"="%WINDIR%\system32\msodbcsql17.dll"
PowerShell
或者,可以运行以下 PowerShell 命令来自动执行更改。
对于 ODBC 17,请运行以下 PowerShell 命令:
New-ItemProperty -Path "HKLM:\SOFTWARE\ODBC\ODBC.INI\OpsMgrAC" -Name "Driver" -Value "%WINDIR%\system32\msodbcsql17.dll" -PropertyType STRING -Force | Out-Null New-ItemProperty -Path "HKLM:\SOFTWARE\ODBC\ODBC.INI\ODBC Data Sources" -Name "OpsMgrAC" -Value "ODBC Driver 17 for SQL Server" -PropertyType STRING -Force | Out-Null
- 如果安装了 ODBC 17,请将“驱动程序”条目更改为
后续步骤
有关使用的端口完整列表、通信方向以及端口是否可以配置的信息,请参阅为 Operations Manager 配置防火墙。
若要全面了解如何保护管理组中组件之间的数据,请参阅 Operations Manager 中的身份验证和数据加密。
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈