Condividi tramite


Impostare TLS per VMM

Importante

Questa versione di Virtual Machine Manager (VMM) ha raggiunto la fine del supporto. È consigliabile eseguire l'aggiornamento a VMM 2022.

Questo articolo descrive come configurare la versione 1.2 del protocollo Transport Layer Security (TLS) con un server System Center Virtual Machine Manager (VMM).

Nota

Virtual Machine Manager userà il protocollo configurato a livello di sistema operativo. Ad esempio, se TLS 1.0, TLS 1.1 e TLS 1.2 sono abilitati a livello di sistema operativo, Virtual Machine Manager selezionerà uno dei tre protocolli nell'ordine di preferenza seguente:

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

Il provider di servizi condivisi Schannel seleziona quindi il protocollo di autenticazione più preferito che il client e il server possono supportare.

Prima di iniziare

  • Le correzioni di sicurezza devono essere aggiornate nel server VMM e nel server che esegue il database VMM.
  • Il server VMM deve eseguire .NET versione 4.6. Seguire queste istruzioni per determinare quale versione di .NET è installata.
  • Per usare TLS 1.2, i componenti di System Center generano certificati autofirmati SHA1 o SHA2. Se si usano certificati SSL provenienti da certificati CA, deve trattarsi di certificati SHA1 o SHA2.

Installa un aggiornamento di SQL Server per supportare TLS 1.2

  1. Aprire KB 3135244.
  2. Scaricare e installare l'aggiornamento per la versione di SQL Server.
    • Questo aggiornamento non è necessario se si esegue SQL Server 2016.
    • SQL Server 2008 R2 non supporta TLS 1.2.

Configurare il server VMM per usare TLS 1.2

Disabilitare tutti i protocolli SCHANNEL eccetto TLS 1.2.

Modificare manualmente il registro

  1. Aprire l'editor del Registro di sistema e passare a HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols.
  2. Fare clic con il pulsante destro del mouse su Protocollo, selezionare Nuovo>Chiave. Immettere il tasto e premere INVIO. Seguire questa procedura per creare le chiavi seguenti:
    • SSL3
    • TLS 1.0
    • TLS 1.1
    • TLS 1.2
  3. Dopo aver creato queste chiavi, è necessario creare chiavi Client e Server all'interno di esse.
    • Per SSL3selezionare Nuovo>Chiave. Immettere Client e premere INVIO. Di nuovo, per SSL3selezionare ancora Nuovo>Chiave. Immettere quindi Server e premere INVIO.
    • Ripetere l'operazione per creare le chiavi Client e Server all'interno di TLS 1.0, TLS 1.1, e TLS 1.2.
  4. Dopo aver creato le chiavi client e server , è necessario creare valori DWORD sotto di essi per abilitare e disabilitare i protocolli. Procedere come segue:
    • Abilitare il protocollo TLS 1.2. A tale scopo, in TLS 1.2, sotto la chiave Client, creare il valore DWORD DisabledByDefault e impostare il valore su 0. Creare ora un valore DWORD Enablede impostare il valore su 1. Creare gli stessi valori DWORD sotto la chiave Server.
    • A questo punto disattivare gli altri protocolli. A tale scopo, in SSL3, TLS 1.0 e TLS 1.1, sotto la chiave Client, creare il valore DWORD DisabledByDefault e impostare il valore su 1. Creare ora un valore DWORD Abilitatoe impostare il valore su 0. Creare gli stessi valori DWORD sotto la chiave Server.

Modificare il registro di sistema con uno script PowerShell

Anziché modificare manualmente i valori del registro di sistema, è possibile usare lo script PowerShell seguente.

$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 " "
	}
}

Exit 0

Configurare VMM per usare TLS 1.2

  1. Aprire l'editor del registro di sistema nel server VMM. Passare a HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ . NetFramework\v4.0.30319.
  2. Creare il valore DWORD SchUseStrongCryptoe impostare il valore su 1.
  3. Passare ora a HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft
    . NetFramework\v4.0.30319
    .
  4. In questa posizione creare lo stesso valore DWORD SchUseStrongCrypto e impostare il valore su 1.
  5. Riavviare il server per rendere effettiva l'impostazione.

Modificare il registro di sistema con uno script PowerShell

È possibile modificare le impostazioni del registro di sistema con lo script di PowerShell seguente.

# 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

Passaggi successivi

Altre informazioni sul protocollo TLS 1.2.