Cómo aplicar TLS 1.2 para aplicaciones de la nube de Microsoft y Microsoft Entra Connect

Transport Layer Security (TLS) 1.2 es un protocolo criptográfico diseñado para proporcionar comunicaciones seguras garantizando la privacidad y la integridad de los datos. Microsoft ha establecido TLS 1.2 como requisito mínimo para muchos servicios en la nube, incluido Microsoft Entra Connect. Este artículo ofrece una guía paso a paso para aplicar TLS 1.2 en aplicaciones de la nube de Microsoft, incluidas las aplicaciones ASP.NET, y en servidores de Microsoft Entra Connect.


Por qué TLS 1.2 es fundamental

TLS 1.2 ofrece un cifrado y una seguridad mejorados en comparación con versiones anteriores, por lo que es esencial para la comunicación segura en entornos de nube. Microsoft Entra Connect versión 1.2.65.0 y posteriores es totalmente compatible con TLS 1.2, y la versión 2.3.20.0 o posterior requiere TLS 1.2 para funcionar.

Si TLS 1.2 no está habilitado en tu servidor, debes habilitarlo antes de implementar o actualizar a Microsoft Entra Connect versión 2.0 o posterior.


Soluciones para aplicar TLS 1.2

Los pasos para aplicar TLS 1.2 varían según la aplicación o el servicio que se configure. A continuación se presentan soluciones detalladas para escenarios habituales.


1. Para aplicaciones web ASP.NET

  • Actualiza el framework de destino
    Asegúrate de que el framework de destino de la aplicación esté establecido en 4.6.2 o superior. Usar una versión superior mejora el rendimiento y la seguridad.
  • Modifica el archivo Web.Config
    Actualiza el archivo Web.Config para especificar el framework de destino:<system.web> <httpRuntime targetFramework="4.7.2" /> </system.web> Para conocer las versiones de .NET Framework compatibles, consulta el ciclo de vida de Microsoft .NET Framework.

2. Si no puedes actualizar Web.Config

Si modificar el archivo Web.Config no es posible, usa la siguiente solución alternativa añadiendo este código al inicio de tu aplicación:

ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 | SecurityProtocolType.Ssl3;

Esto garantiza que tu aplicación use explícitamente TLS 1.2 para la comunicación segura.


3. Aplicar TLS 1.2 para Microsoft Entra Connect

Los servidores de Microsoft Entra Connect deben tener TLS 1.2 habilitado para garantizar una comunicación segura con Azure. Sigue estos pasos para aplicar TLS 1.2:

Actualiza el registro

Actualiza el registro en el servidor de Microsoft Entra Connect para aplicar TLS 1.2. Usa las siguientes claves de registro:

[HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\.NETFramework\v4.0.30319]
"SystemDefaultTlsVersions"=dword:00000001
"SchUseStrongCrypto"=dword:00000001

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319]
"SystemDefaultTlsVersions"=dword:00000001
"SchUseStrongCrypto"=dword:00000001

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server]
"Enabled"=dword:00000001
"DisabledByDefault"=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client]
"Enabled"=dword:00000001
"DisabledByDefault"=dword:00000000

Importante: después de actualizar el registro, reinicia el servidor Windows para que los cambios surtan efecto.


4. Usar scripts de PowerShell

Comprueba la configuración de TLS 1.2

Puedes usar el siguiente script de PowerShell para verificar la configuración actual de TLS 1.2 en tu servidor de Microsoft Entra Connect:

Function Get-ADSyncToolsTls12RegValue {
    [CmdletBinding()]
    Param (
        [Parameter(Mandatory=$true)]
        [string] $RegPath,
        [Parameter(Mandatory=$true)]
        [string] $RegName
    )
    $regItem = Get-ItemProperty -Path $RegPath -Name $RegName -ErrorAction Ignore
    $output = "" | select Path, Name, Value
    $output.Path = $RegPath
    $output.Name = $RegName
    $output.Value = $regItem.$RegName -ne $null ? $regItem.$RegName : "Not Found"
    $output
}

$regSettings = @()
$regPaths = @(
    'HKLM:\SOFTWARE\WOW6432Node\Microsoft\.NETFramework\v4.0.30319',
    'HKLM:\SOFTWARE\Microsoft\.NETFramework\v4.0.30319',
    'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server',
    'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client'
)

foreach ($regPath in $regPaths) {
    $regSettings += Get-ADSyncToolsTls12RegValue $regPath 'SystemDefaultTlsVersions'
    $regSettings += Get-ADSyncToolsTls12RegValue $regPath 'SchUseStrongCrypto'
}

$regSettings

Habilita TLS 1.2

Para aplicar TLS 1.2, usa el siguiente script de PowerShell:

New-ItemProperty -Path 'HKLM:\SOFTWARE\WOW6432Node\Microsoft\.NETFramework\v4.0.30319' -Name 'SystemDefaultTlsVersions' -Value '1' -PropertyType 'DWord' -Force | Out-Null
New-ItemProperty -Path 'HKLM:\SOFTWARE\WOW6432Node\Microsoft\.NETFramework\v4.0.30319' -Name 'SchUseStrongCrypto' -Value '1' -PropertyType 'DWord' -Force | Out-Null
New-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\.NETFramework\v4.0.30319' -Name 'SystemDefaultTlsVersions' -Value '1' -PropertyType 'DWord' -Force | Out-Null
New-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\.NETFramework\v4.0.30319' -Name 'SchUseStrongCrypto' -Value '1' -PropertyType 'DWord' -Force | Out-Null
New-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server' -Name 'Enabled' -Value '1' -PropertyType 'DWord' -Force | Out-Null
New-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client' -Name 'Enabled' -Value '1' -PropertyType 'DWord' -Force | Out-Null
Write-Host 'TLS 1.2 has been enabled. Restart the server for changes to take effect.'

Reflexiones finales

Aplicar TLS 1.2 es un paso fundamental para mantener una comunicación segura y el cumplimiento con los servicios de la nube de Microsoft y Azure. Ya configures aplicaciones ASP.NET o servidores de Microsoft Entra Connect, las soluciones aquí presentadas te ayudarán a garantizar la compatibilidad y la seguridad.

Para obtener más información, consulta la documentación oficial de Microsoft:

Deja un comentario