設定 Orchestrator 的 TLS

重要

這個版本的 Orchestrator 已終止支援。 建議您 升級至 Orchestrator 2022

本文說明如何使用 System Center - Orchestrator 設定傳輸安全性層 (TLS) 通訊協定 1.2 版。

開始之前

  • Orchestrator 應執行版本 2016,其中包含更新匯總 4 或更新版本、1801、1807、2019 或 2022。
  • 協調器上的安全性修正應該為最新狀態。
  • System Center 更新應為最新狀態。
  • SQL Server 2012 Native client 11.0 或更新版本應該安裝在 Orchestrator 管理伺服器上。 若要下載並安裝 Microsoft SQL Server 2012 Native Client 11.0,請參閱此 Microsoft 下載中心網頁
  • Orchestrator 應該執行 .NET 4.6 版。 請遵循這些指示判斷已安裝的 .NET 版本。
  • 為了搭配 TLS 1.2運作,System Center 元件會產生 SHA1 或 SHA2 自我簽署憑證。 如果使用來自憑證授權單位 (CA) 憑證的 SSL 憑證,其應使用 SHA1 或 SHA2。
  • 安裝支援 TLS 1.2 的 SQL Server 版本。 SQL Server 2016 或更新版本支援 TLS 1.2。

安裝 SQL Server 更新以取得 TLS 1.2 支援

  1. 開啟 KB 3135244
  2. 下載並安裝 SQL Server 版本的更新。
    • 如果您正在執行 SQL Server 2016 或更新版本,則不需要此更新。
    • SQL Server 2008 R2 不支援 TLS 1.2。

設定及使用 TLS 1.2

  1. 將 Orchestrator 設定為使用 TLS 1.2

    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.2。

    在此步驟中變更登錄之前,請先備份登錄,以防稍後需要加以還原。 然後,設定下列登錄機碼值。

    64 位元作業系統的值

    路徑 登錄機碼
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft.NETFramework\v2.0.50727 SystemDefaultTlsVersions dword:00000001
    HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft.NETFramework\v2.0.50727 SystemDefaultTlsVersions dword:00000001
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft.NETFramework\v4.0.30319 SystemDefaultTlsVersions dword:00000001
    HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft.NETFramework\v4.0.30319 SystemDefaultTlsVersions dword:00000001

    32 位元作業系統的值

    路徑 登錄機碼
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft.NETFramework\v4.0.30319 SystemDefaultTlsVersions dword:00000001
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft.NETFramework\v2.0.50727 SystemDefaultTlsVersions dword:00000001
  2. 將 Windows 設定為僅使用 TLS 1.2。

    方法 1:手動修改登錄

    重要

    請仔細遵循本節中的步驟。 若未正確修改登錄,可能會導致嚴重的問題。 在開始之前,請先備份登錄,以便能在發生問題時加以還原。

    使用下列步驟來啟用或停用整個系統的所有 SCHANNEL 通訊協定。

    注意

    建議您啟用 TLS 1.2 通訊協定以進行連入通訊。 針對所有傳出通訊啟用 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 建立機碼。 這些機碼類似目錄。

    f. 在每個 SSL 3.0、TLS 1.0、TLS 1.1 和 TLS 1.2 機碼下建立用戶端機碼和伺服器機碼。

    g. 若要啟用通訊協定,請在每個用戶端和伺服器機碼下建立 DWORD 值,如下所示:

    • DisabledByDefault [Value = 0]
    • Enabled [Value = 1]

    h. 若要停用通訊協定,請在每個用戶端和伺服器機碼下變更 DWORD 值,如下所示:

    • DisabledByDefault [值 = 1]
    • Enabled [值 = 0]

    i. 選取 [檔案]>[結束]。

    方法 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 " "
        }
    }
    
  3. 在所有 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 Windows 上 .NET Framework 4.5.2 和 4.5.1 的 Hotfix 匯總3154521

    3156421 Windows 10 1511 版和 Windows Server 2016 Technical Preview 4 的累積更新:2016 年 5 月 10 日
  4. 重新啟動電腦。

注意

將 Microsoft System Center Orchestrator 設定為只使用 TLS 1.2 通訊協定進行連線之後,Integration Packs 就會停止運作。 若要修正此問題,請依照下列步驟操作:

  1. 啟動 [登錄編輯程式]。
  2. 找出下列登入子機碼: HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft.NETFramework\v4.0.30319
  3. 檢查 SystemDefaultTlsVersions 值是否存在。 - 如果值存在,請確定其數據已設定為 1。 - 如果值不存在,請建立 DWORD (32 位) 值,並指定下列值:Name:SystemDefaultTlsVersions 值數據:1
  4. 按一下 [確定]。

如需詳細資訊,請參閱 此知識庫文章

後續步驟

深入了解 TLS 1.2 通訊協定。