共用方式為


如何實作傳輸層安全性 1.2

本文說明如何為 System Center Operations Manager 管理群組啟用傳輸層安全性 (TLS) 通訊協定 1.2 版。

注意

Operations Manager 將使用操作系統層級所設定的通訊協定。 例如,如果在操作系統層級啟用 TLS 1.0、TLS 1.1 和 TLS 1.2,Operations Manager 會依下列喜好設定順序選取三種通訊協定之一:

  1. TLS 1.2 版
  2. TLS 1.1 版
  3. TLS 1.0 版

接著 ,Schannel SSP 會選取用戶端和伺服器可支援的最慣用驗證通訊協定。

執行下列步驟以啟用 TLS 通訊協定 1.2 版:

注意

Operations Manager 2016 UR9 和更新版本支援 Microsoft OLE DB Driver 18 for SQL Server(建議使用)。

  1. 在所有管理伺服器和 Web 控制台伺服器上安裝 SQL Server 2012 Native Client 11.0Microsoft OLE DB Driver 18 for SQL Server
  2. 在所有 管理伺服器、閘道伺服器、Web 控制台伺服器和裝載 Operations Manager 資料庫和報表伺服器角色的 SQL Server 上安裝 .NET Framework 4.6
  3. 安裝支援 TLS 1.2 的必要 SQL Server 更新
  4. 在所有管理伺服器上安裝 ODBC 11.0ODBC 13.0
  5. 若為 System Center 2016 - Operations Manager,請安裝更新匯總 4 或更新版本。
  6. 將 Windows 設定為只使用 TLS 1.2。
  7. 將 Operations Manager 設定為只使用 TLS 1.2。
  1. 在所有管理伺服器和 Web 控制台伺服器上安裝 Microsoft OLE DB Driver 18.2 至 18.7.2 版。
  2. 在所有 管理伺服器、閘道伺服器、Web 控制台伺服器和裝載 Operations Manager 資料庫和報表伺服器角色的 SQL Server 上安裝 .NET Framework 4.6
  3. 安裝支援 TLS 1.2 的必要 SQL Server 更新
  4. 在所有管理伺服器上安裝 ODBC Driver 17.3 至 17.10.6 版。
  5. 將 Windows 設定為只使用 TLS 1.2。
  6. 將 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。

將 Windows 作業系統設定為只使用 TLS 1.2 通訊協定

使用下列其中一種方法來設定 Windows,只使用 TLS 1.2 通訊協定。

方法 1:手動修改登錄

重要

請仔細依照本節中的步驟執行。 如果您未正確修改登錄,可能會發生嚴重問題。 在修改之前,備份登錄以供還原,以免發生問題。

使用下列步驟來啟用/停用所有全 SCHANNEL 通訊協定。 建議您為所有傳入通訊和傳出通訊啟用 TLS 1.2 通訊協定。

注意

進行這些登錄變更不會影響 Kerberos 或 NTLM 通訊協定的使用。

  1. 使用具有本機系統管理認證的帳戶登入伺服器。

  2. 選取並按住 [開始],在 [執行] 文本框中輸入 regedit,然後選取 [確定]。

  3. 找出下列登錄子機碼: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols

  4. 在 [SSL 2.0、SSL 3.0、TLS 1.0TLS 1.1TLS 1.2 的通訊協定] 下建立子機碼。

  5. 在您稍早建立的每個通訊協定版本子機碼下,建立 用戶端伺服器 子機碼。 例如,TLS 1.0 的子機碼是 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\ClientHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Server

  6. 若要停用每個通訊協定,請在 [伺服器] 和 [用戶端] 底下建立下列 DWORD 值:

    • Enabled [Value = 0]
    • DisabledByDefault [Value = 1]
  7. 若要啟用 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 [Value = 1]
    • DisabledByDefault [Value = 0]
  8. 關閉 [登錄編輯程式]。

方法 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 需要額外的變更,才能透過 HTTP 使用 TLS 1.2 進行 UNIX/LINUX 監視。 若要在 Windows 的 WinHTTP 中啟用 TLS 1.2 做為預設安全性通訊協議,必須根據 更新進行下列變更,才能在 Windows 的 WinHTTP 中啟用 TLS 1.1 和 TLS 1.2 作為預設安全通訊協定。

  1. 在 UNIX/LINUX 資源集區中的管理伺服器/閘道伺服器上安裝 KB3140245
  2. 備份已修改的登錄,如知識庫文章中所述。
  3. 在 UNIX/LINUX 資源集區中的管理伺服器/閘道上下載並執行 Easy Fix 工具。
  4. 重新啟動伺服器。

手動修改登錄

  1. 使用具有本機系統管理認證的帳戶登入伺服器。
  2. 選取並按住 [開始],在 [執行] 文本框中輸入 regedit,然後選取 [確定]。
  3. 找出下列登錄子機碼: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319
  4. 在此子機碼底下建立 DWORD 值 SchUseStrongCrypto,並使其值為 1
  5. 找出下列登錄子機碼: HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\.NETFramework\v4.0.30319
  6. 在此子機碼底下建立 DWORD 值 SchUseStrongCrypto,並使其值為 1
  7. 重新啟動系統來使設定生效。

自動修改登錄

在系統管理員模式中執行下列 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。

  1. 使用具有本機系統管理認證的帳戶登入伺服器。

  2. 選取並按住 [開始],在 [執行] 文本框中輸入 regedit,然後選取 [確定]。

  3. 找出 OpsMgrAC 的下列 ODBC 子機碼: HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\OpsMgrAC

    注意

    DSN 的預設名稱是 OpsMgrAC。

  4. [ODBC 數據源] 子機碼下,選取 DSN 名稱 OpsMgrAC。 這包括要用於資料庫連接之 ODBC 驅動程式的名稱。 如果您已安裝 ODBC 11.0,請將此名稱變更為 ODBC Driver 11 for SQL Server,或如果您已安裝 ODBC 13.0,請將此名稱變更為 ODBC Driver 13 for SQL Server

  5. OpsMgrAC 子機碼下,更新 已安裝之 ODBC 版本的驅動程式

    • 如果已安裝 ODBC 11.0,請將 Driver 項目變更為 %WINDIR%\system32\msodbcsql11.dll
    • 如果已安裝 ODBC 13.0,請將 Driver 項目變更為 %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
      

稽核收集服務

針對稽核收集服務 (ACS),您必須在 ACS 收集器伺服器上的登錄中進行其他變更。 ACS 會使用 DSN 來建立資料庫的連線。 您必須更新 DSN 設定,使其適用於 TLS 1.2。

  1. 使用具有本機系統管理認證的帳戶登入伺服器。

  2. 選取並按住 [開始],在 [執行] 文本框中輸入 regedit,然後選取 [確定]。

  3. 找出 OpsMgrAC 的下列 ODBC 子機碼: HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\OpsMgrAC

    注意

    DSN 的預設名稱是 OpsMgrAC。

  4. [ODBC 數據源] 子機碼下,選取 DSN 名稱 OpsMgrAC。 這包括要用於資料庫連接之 ODBC 驅動程式的名稱。 如果您已安裝 ODBC 17,請將此名稱變更為 ODBC Driver 17 for SQL Server

  5. OpsMgrAC 子機碼下,更新 已安裝之 ODBC 版本的驅動程式

    • 如果已安裝 ODBC 17,請將 Driver 項目變更為 %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
      

下一步

  • 如需已使用之埠的完整清單、通訊方向,以及是否可以設定埠,請參閱 設定 Operations Manager 的防火牆。

  • 如需管理群組中元件之間數據如何受到保護的整體檢閱,請參閱 Operations Manager 中的驗證和數據加密。