Konfigurowanie protokołu TLS 1.3 dla programu VMM
W tym artykule opisano sposób konfigurowania protokołu Transport Security Layer (TLS) w wersji 1.3 z serwerem programu System Center Virtual Machine Manager (VMM).
Uwaga
Program Virtual Machine Manager będzie używać protokołu skonfigurowanego na poziomie systemu operacyjnego. Jeśli na przykład protokoły TLS 1.2 i TLS 1.3 są włączone na poziomie systemu operacyjnego, program Virtual Machine Manager wybierze jeden z dwóch protokołów w następującej kolejności preferencji:
- PROTOKÓŁ TLS w wersji 1.3
- PROTOKÓŁ TLS w wersji 1.2
Dostawca SSP Schannel wybiera następnie najbardziej preferowany protokół uwierzytelniania obsługiwany przez klienta i serwer.
Przed rozpoczęciem
- Poprawki zabezpieczeń powinny być aktualne na serwerze programu VMM i na serwerze z uruchomioną bazą danych programu VMM.
- Na serwerze programu VMM powinien być uruchomiony program .NET w wersji 4.6 lub nowszej. Postępuj zgodnie z tymi instrukcjami , aby określić, która wersja platformy .NET jest zainstalowana.
- • TLS 1.3. wymaga protokołu TLS 1.2. do skonfigurowania.
- Aby pracować z protokołem TLS 1.3, składniki programu System Center generują certyfikaty SHA1 lub SHA2 z podpisem własnym. Jeśli używane są certyfikaty SSL z certyfikatów urzędu certyfikacji, powinny używać algorytmu SHA1 lub SHA2.
Konfigurowanie serwera programu VMM do używania protokołu TLS 1.3
Wyłącz wszystkie protokoły SCHANNEL z wyjątkiem protokołów TLS 1.3 i 1.2.
Ręczne modyfikowanie rejestru
- Otwórz Edytor rejestru i przejdź do HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols.
- Kliknij prawym przyciskiem myszy pozycję Protokół, wybierz pozycję Nowy>klucz. Wprowadź i naciśnij Enter. Wykonaj tę procedurę, aby utworzyć następujące klucze:
- SSL3
- TLS 1.2
- TLS 1.3
- Po utworzeniu tych kluczy należy utworzyć w nim klucze klienta i serwera .
- W polu SSL3 wybierz pozycję Nowy>klucz. Wprowadź wartość Client (Klient) i naciśnij Enter. Ponownie w polu SSL3 ponownie wybierz pozycję Nowy>klucz. Następnie wprowadź ciąg Serwer i naciśnij Enter.
- Powtórz akcję, aby utworzyć klucze klienta i serwera w ramach protokołów TLS 1.2 i TLS 1.3.
- Po utworzeniu kluczy klienta i serwera należy utworzyć w nich wartości DWORD, aby włączyć i wyłączyć protokoły. Wykonaj następujące czynności:
- Włącz protokół TLS 1.2. W tym celu w protokole TLS 1.2 w obszarze Klucz klienta utwórz wartość DWORD DisabledByDefault i ustaw wartość 0. Teraz utwórz wartość DWORD Włączone i ustaw wartość 1. Utwórz te same wartości DWORD w kluczu serwera .
- Włącz protokół TLS 1.3. W tym celu w protokole TLS 1.3 w obszarze Klucz klienta utwórz wartość DWORD DisabledByDefault i ustaw wartość 0. Teraz utwórz wartość DWORD Włączone i ustaw wartość 1. Utwórz te same wartości DWORD w kluczu serwera .
- Teraz wyłącz inne protokoły. W tym celu w usługach SSL3 i TLS 1.2 w obszarze Klucz klienta utwórz wartość DWORD DisabledByDefault i ustaw wartość 1. Teraz utwórz wartość DWORD Włączone i ustaw wartość 0. Utwórz te same wartości DWORD w kluczu serwera .
Modyfikowanie rejestru za pomocą skryptu programu PowerShell
Zamiast ręcznie modyfikować wartości rejestru, możesz użyć następującego skryptu programu 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
Konfigurowanie programu VMM do używania protokołu TLS 1.3
- Otwórz edytor rejestru na serwerze programu VMM. Przejdź do HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ . NetFramework\v4.0.30319.
- Utwórz wartość DWORD SchUseStrongCrypto i ustaw wartość 1.
- Teraz przejdź do HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft
. NetFramework\v4.0.30319. - W tej lokalizacji utwórz tę samą wartość DWORD SchUseStrongCrypto i ustaw wartość 1.
- Uruchom ponownie serwer, aby ustawienia zaczęły obowiązywać.
Modyfikowanie rejestru za pomocą skryptu programu PowerShell
Ustawienia rejestru można zmodyfikować przy użyciu następującego skryptu programu 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
Następne kroki
- Dowiedz się więcej o protokole TLS 1.3.
- Dowiedz się więcej o protokole TLS 1.2.