Condividi tramite


Configurare TLS per VMM

Questo articolo descrive come configurare il protocollo TLS (Transport Security Layer) versione 1.2 con il 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 la versione di .NET installata.
  • Per usare TLS 1.2, i componenti di System Center generano certificati autofirmato SHA1 o SHA2. Se vengono usati i certificati SSL di un'autorità di certificazione (CA), è consigliabile usare SHA1 o SHA2.

Installare un aggiornamento di SQL Server per il supporto di TLS 1.2

  1. Aprire 3135244 KB.
  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 l'uso di TLS 1.2

Disabilitare tutti i protocolli SCHANNEL ad eccezione di TLS 1.2.

Modificare manualmente il Registro di sistema

  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, scegliere Nuova>chiave. Immettere il tasto e premere INVIO. Eseguire 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 le chiavi client e server in esse.
    • Per SSL3 selezionare Nuova>chiave. Immettere Client e premere INVIO. Anche in questo caso, per SSL3, selezionare di nuovo Nuova>chiave. Immettere quindi Server e premere INVIO.
    • Ripetere l'azione per creare le chiavi client e server in 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. Eseguire questa operazione come indicato di seguito:
    • Abilitare il protocollo TLS 1.2. A tale scopo, in TLS 1.2, nella chiave client creare il valore DWORD DisabledByDefault e impostare il valore su 0. Creare ora un valore DWORD Abilitato e impostare il valore su 1. Creare gli stessi valori DWORD sotto la chiave server .
    • Disabilitare ora gli altri protocolli. A tale scopo, in SSL3, TLS 1.0 e TLS 1.1, nella chiave client creare il valore DWORD DisabledByDefault e impostare il valore su 1. Creare ora un valore DWORD Abilitato e impostare il valore su 0. Creare gli stessi valori DWORD sotto la chiave server .

Modificare il Registro di sistema con uno script di PowerShell

Anziché modificare manualmente i valori del Registro di sistema, è possibile usare lo script di 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 l'uso di 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 SchUseStrongCrypto e impostare il valore su 1.
  3. Passare ora a HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft
    . NetFramework\v4.0.30319
    .
  4. In questo percorso creare lo stesso valore DWORD SchUseStrongCrypto e impostare il valore su 1.
  5. Riavviare il server per rendere effettive le impostazioni.

Modificare il Registro di sistema con uno script di PowerShell

È possibile modificare le impostazioni del Registro di sistema usando 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.