Configuración de TLS para VMM

Importante

Esta versión de Virtual Machine Manager (VMM) ha llegado al final del soporte técnico. Se recomienda actualizar a VMM 2022.

En este artículo se describe cómo configurar la versión 1.2 del protocolo Seguridad de la capa de transporte (TLS) con el servidor de System Center - Virtual Machine Manager (VMM).

Nota

Virtual Machine Manager usará el protocolo configurado en el nivel de sistema operativo. Por ejemplo, si TLS 1.0, TLS 1.1 y TLS 1.2 están habilitados en el nivel de sistema operativo, Virtual Machine Manager seleccionará uno de los tres protocolos en el siguiente orden de preferencia:

  1. TLS versión 1.2
  2. TLS versión 1.1
  3. TLS versión 1.0

El SSP de SChannel seleccionará entonces el protocolo de autenticación preferido que tanto el cliente como el servidor admitan.

Antes de empezar

  • Las correcciones de seguridad deben estar actualizadas en el servidor VMM y el servidor que ejecuta la base de datos VMM.
  • El servidor VMM debe ejecutar .NET versión 4.6. Siga estas instrucciones para determinar qué versión de .NET hay instalada.
  • Para trabajar con TLS 1.2, los componentes de System Center generan los certificados autofirmados SHA1 o SHA2. Si se usan certificados SSL de una entidad de certificación (CA), estos deben usar SHA1 o SHA2.

Instalación de una actualización de SQL Server para su compatibilidad con TLS 1.2

  1. Abra KB 3135244.
  2. Descargue e instale la actualización de su versión de SQL Server.
    • No necesita esta actualización si está ejecutando SQL Server 2016.
    • SQL Server 2008 R2 no es compatible con TLS 1.2.

Configuración del servidor VMM para usar TLS 1.2

Deshabilite todos los protocolos SCHANNEL, excepto TLS 1.2.

Modificación manual del Registro

  1. Abra el Editor del Registro y vaya hasta HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols.
  2. Haga clic con el botón derecho en Protocols y seleccione NuevoClave. Escriba la tecla y presione Entrar. Siga el mismo procedimiento para crear estas claves:
    • SSL3
    • TLS 1.0
    • TLS 1.1
    • TLS 1.2
  3. Una vez que las haya creado, tiene que crear las claves Client y Server debajo.
    • Para SSL3, seleccione NuevoClave. Escriba Client (Cliente ) y presione Entrar. De nuevo, para SSL3, seleccione NuevoClave. A continuación, escriba Servidor y presione Entrar.
    • Repita esta acción para crear las claves Client y Server en TLS 1.0, TLS 1.1 y TLS 1.2.
  4. Una vez que haya creado las claves de Cliente y Servidor, tiene que crear valores DWORD debajo de ellas para poder habilitar y deshabilitar los protocolos. Siga estos pasos:
    • Habilite el protocolo TLS 1.2. Para ello, en TLS 1.2, debajo de la clave Client, cree el valor DWORD DisabledByDefault y establézcalo en 0. A continuación, cree el valor DWORD Enabled y establézcalo en 1. Cree los mismos valores DWORD debajo de la clave Server.
    • Después, deshabilite los otros protocolos. Para ello, en SSL3, TLS 1.0 y TLS 1.1, debajo de la clave Client, cree el valor DWORD DisabledByDefault y establézcalo en 1. A continuación, cree el valor DWORD Enabled y establézcalo en 0. Cree los mismos valores DWORD debajo de la clave Server.

Modificación del Registro con un script de PowerShell

En lugar de modificar los valores del Registro manualmente, puede usar el script de PowerShell que se indica a continuación.

$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

Configuración de VMM para usar TLS 1.2

  1. Abra el Editor del Registro en el servidor VMM. Vaya a HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ .NetFramework\v4.0.30319.
  2. Cree el valor DWORD SchUseStrongCrypto y establézcalo en 1.
  3. Ahora vaya a HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft.
    .NetFramework\v4.0.30319
    .
  4. En esta ubicación, cree el mismo valor DWORD SchUseStrongCrypto y establezca el valor en 1.
  5. Reinicie el servidor para que se aplique la configuración.

Modificación del Registro con un script de PowerShell

Puede modificar la configuración del Registro usando el script de PowerShell que se indica a continuación.

# 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

Pasos siguientes

Obtenga más información sobre el protocolo TLS 1.2.