設定 VMM 的 TLS 1.3
本文說明如何使用 System Center Virtual Machine Manager (VMM) 伺服器設定傳輸安全性層 #1.3 版通訊協定。
注意
Virtual Machine Manager 將使用作業系統層級所設定的通訊協定。 例如,如果在操作系統層級啟用 TLS 1.2 和 TLS 1.3,Virtual Machine Manager 會依下列喜好設定順序選取這兩種通訊協定之一:
- TLS 1.3 版
- TLS 1.2 版
接著 ,Schannel SSP 會選取用戶端和伺服器可支援的最慣用驗證通訊協定。
在您開始使用 Intune 之前
- VMM 伺服器上的安全性修正應該為最新狀態,以及執行 VMM 資料庫的伺服器。
- VMM 伺服器應該執行 .NET 4.6 版或更新版本。 請遵循 這些指示 來判斷安裝的 .NET 版本。
- • TLS 1.3。 需要 TLS 1.2。 要設定。
- 若要使用 TLS 1.3,System Center 元件會產生 SHA1 或 SHA2 自我簽署憑證。 如果使用證書頒發機構單位 (CA) 憑證的 SSL 憑證,則應使用 SHA1 或 SHA2。
將 VMM 伺服器設定為使用 TLS 1.3
停用 TLS 1.3 和 1.2 以外的所有 SCHANNEL 通訊協定。
手動修改登錄
- 開啟註冊表編輯器,並流覽至 HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols。
- 以滑鼠右鍵按兩下 [通訊協定],選取 [新增>金鑰]。 輸入按鍵,然後按 Enter 鍵。 執行此程式以建立下列金鑰:
- SSL3
- TLS 1.2
- TLS 1.3
- 建立這些金鑰之後,您必須在這些金鑰下建立 客戶端 和 伺服器 金鑰。
- 針對 [SSL3],選取 [新增>密鑰]。 輸入 Client ,然後按 Enter。 同樣地,針對 SSL3,再次選取 [新增>金鑰]。 然後輸入 伺服器 ,然後按 Enter。
- 重複此動作,以在 TLS 1.2 和 TLS 1.3 下建立客戶端和伺服器密鑰。
- 建立 用戶端 和 伺服器 金鑰之後,您必須在它們下建立 DWORD 值,才能啟用和停用通訊協定。 執行此動作,如下所示:
- 啟用 TLS 1.2 通訊協定。 若要這樣做,請在 TLS 1.2 的 Client 機碼下,建立 DWORD 值 DisabledByDefault,並將值設定為 0。 現在建立已啟用的 DWORD 值,並將值設定為 1。 在 伺服器 索引鍵下建立相同的 DWORD 值。
- 啟用 TLS 1.3 通訊協定。 若要這樣做,請在 TLS 1.3 的 Client 機碼下,建立 DWORD 值 DisabledByDefault,並將值設定為 0。 現在建立已啟用的 DWORD 值,並將值設定為 1。 在 伺服器 索引鍵下建立相同的 DWORD 值。
- 現在停用其他通訊協定。 若要這樣做,請在 [用戶端密鑰] 下的 SSL3 和 TLS 1.2 中,建立 DWORD 值 DisabledByDefault,並將值設定為 1。 現在建立 Enabled 的 DWORD 值,並將值設定為 0。 在 伺服器 索引鍵下建立相同的 DWORD 值。
使用 PowerShell 腳本修改登錄
您可以使用下列 PowerShell 腳本,而不是手動修改登錄值。
$ProtocolList = @(""SSL 3.0", "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.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 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 " "
}
}
Exit 0
將 VMM 設定為使用 TLS 1.3
- 在 VMM 伺服器上開啟登錄編輯器。 瀏覽至 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ 。NetFramework\v4.0.30319。
- 建立 DWORD 值 SchUseStrongCrypto ,並將值設定為 1。
- 現在流覽至 HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft
.NetFramework\v4.0.30319。 - 在此位置下,建立相同的 DWORD 值 SchUseStrongCrypto ,並將值設定為 1。
- 重新啟動伺服器,讓設定生效。
使用 PowerShell 腳本修改登錄
您可以使用下列 PowerShell 腳本來修改登錄設定。
# 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