Configuración de TLS para VMM
En este artículo se describe cómo configurar el protocolo de capa de seguridad de transporte (TLS) versión 1.2 con el servidor 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 orden de preferencia siguiente:
- TLS versión 1.2
- TLS versión 1.1
- 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 comenzar
- VMM debe ejecutar VMM 2016 con el paquete acumulativo de actualizaciones 4 o posterior.
- Las correcciones de seguridad deben estar actualizadas en el servidor VMM y en 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 está instalada.
- Para trabajar con TLS 1.2, los componentes de System Center generan certificados autofirmados SHA1 o SHA2. Si se usan certificados SSL de una entidad de certificación (CA), deben usar SHA1 o SHA2.
Instalación de una actualización de SQL Server para la compatibilidad con TLS 1.2
- Abra kb 3135244.
- Descargue e instale la actualización de la versión de SQL Server.
- No necesita esta actualización si ejecuta SQL Server 2016.
- SQL Server 2008 R2 no admite 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
- Abra el Editor del Registro y vaya a HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols.
- Haga clic con el botón derecho en Protocolo, seleccione Nueva>clave. Escriba la tecla y presione Entrar. Realice este procedimiento para crear las claves siguientes:
- SSL3
- TLS 1.0
- TLS 1.1
- TLS 1.2
- Después de crear estas claves, debe crear las claves cliente y servidor en ellas.
- En SSL3, seleccione Nueva>clave. Escriba Cliente y presione ENTRAR. De nuevo, en SSL3, vuelva a seleccionar Nueva>clave. A continuación, escriba Servidor y presione Entrar.
- Repita la acción para crear las claves de cliente y servidor en TLS 1.0, TLS 1.1 y TLS 1.2.
- 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. Haga esto de la siguiente manera:
- Habilite el protocolo TLS 1.2. Para ello, en TLS 1.2, en la clave de cliente, cree el valor DWORD DisabledByDefault y establezca el valor en 0. Ahora cree un valor DWORD Habilitado y establezca el valor en 1. Cree los mismos valores DWORD en la clave del servidor .
- Ahora deshabilite los demás protocolos. Para ello, en SSL3, TLS 1.0 y TLS 1.1, en la clave de cliente, cree el valor DWORD DisabledByDefault y establezca el valor en 1. Ahora cree un valor DWORD Habilitado y establezca el valor en 0. Cree los mismos valores DWORD en la clave del servidor .
Modificación del registro con un script de PowerShell
En lugar de modificar manualmente los valores del Registro, puede usar el siguiente script de PowerShell.
$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
- Abra el editor del Registro en el servidor VMM. Vaya a HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ . NetFramework\v4.0.30319.
- Cree el valor DWORD SchUseStrongCrypto y establezca el valor en 1.
- Ahora vaya a HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft.
. NetFramework\v4.0.30319. - En esta ubicación, cree el mismo valor DWORD SchUseStrongCrypto y establezca el valor en 1.
- Reinicie el servidor para que la configuración surta efecto.
Modificación del registro con un script de PowerShell
Puede modificar la configuración del Registro mediante el siguiente script de 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
Pasos siguientes
Obtenga más información sobre el protocolo TLS 1.2.