Cómo habilitar TLS 1.2/TLS 1.3 en Windows Server
Aprenda cómo habilitar TLS 1.2 y TLS 1.3 en Windows Server y deshabilitar las versiones anteriores del protocolo TLS. Quiere comunicaciones seguras a través de su servidor Windows y, para hacerlo, debe habilitar TLS 1.2/TLS 1.3 y deshabilitar las versiones anteriores de TLS. Si tiene protocolos SSL activos, también debe desactivarlos. En este artículo, habilitaremos TLS 1.2 y TLS 1.3 en Windows Server.
¿Qué es la seguridad de la capa de transporte?
Transport Layer Security (TLS) y su predecesor, ahora obsoleto, Secure Sockets Layer (SSL), son protocolos criptográficos diseñados para proporcionar seguridad en las comunicaciones a través de una red informática. Varias versiones de los protocolos encuentran un uso generalizado en aplicaciones como navegación web, correo electrónico, mensajería instantánea y voz sobre IP (VoIP). Los sitios web pueden utilizar TLS para proteger todas las comunicaciones entre sus servidores y navegadores web.
Mejores prácticas de TLS de Windows Server
Nota: Solo se aprueban TLS 1.3 y TLS 1.2. El protocolo TLS 1.3 solo está disponible para habilitarse en Windows Server 2022 o posterior.
Windows Server 2019 y versiones anteriores
Active únicamente TLS 1.2 para obtener la mejor seguridad en Windows Server 2019 y versiones inferiores. Desactive todos los demás protocolos.
| Protocol | Status | Enable | Disable |
|---|---|---|---|
| TLS 1.3 | Active | X | ✓ |
| TLS 1.2 | Active | ✓ | ☓ |
| TLS 1.1 | Deprecated | ☓ | ✓ |
| TLS 1.0 | Deprecated | ☓ | ✓ |
| SSL 3 | Deprecated | ☓ | ✓ |
| SSL 2 | Deprecated | ☓ | ✓ |
Windows Server 2022 y superior
Active únicamente TLS 1.2 y TLS 1.3 para obtener la mejor seguridad en Windows Server 2022 y versiones más recientes. Desactive todos los demás protocolos.
| Protocol | Status | Enable | Disable |
|---|---|---|---|
| TLS 1.3 | Active | ✓ | ☓ |
| TLS 1.2 | Active | ✓ | ☓ |
| TLS 1.1 | Deprecated | ☓ | ✓ |
| TLS 1.0 | Deprecated | ☓ | ✓ |
| SSL 3 | Deprecated | ☓ | ✓ |
| SSL 2 | Deprecated | ☓ | ✓ |
Verifique la configuración de TLS en Windows Server
Ejecute el script de PowerShell Get-TLS.ps1, que mostrará la configuración de TLS. Lea más en el artículo Verifique la configuración de TLS en Windows Server con el script de PowerShell.
Después de ejecutar el script en nuestro Windows Server 2022, así es como se ve el resultado.
Path Name Value
---- ---- -----
HKLM:\SOFTWARE\Microsoft\.NETFramework\v4.0.30319 SystemDefaultTlsVersions Not Found
HKLM:\SOFTWARE\Microsoft\.NETFramework\v4.0.30319 SchUseStrongCrypto Not Found
HKLM:\SOFTWARE\WOW6432Node\Microsoft\.NETFramework\v4.0.30319 SystemDefaultTlsVersions Not Found
HKLM:\SOFTWARE\WOW6432Node\Microsoft\.NETFramework\v4.0.30319 SchUseStrongCrypto Not Found
HKLM:\SOFTWARE\Microsoft\.NETFramework\v2.0.50727 SystemDefaultTlsVersions Not Found
HKLM:\SOFTWARE\Microsoft\.NETFramework\v2.0.50727 SchUseStrongCrypto Not Found
HKLM:\SOFTWARE\WOW6432Node\Microsoft\.NETFramework\v2.0.50727 SystemDefaultTlsVersions Not Found
HKLM:\SOFTWARE\WOW6432Node\Microsoft\.NETFramework\v2.0.50727 SchUseStrongCrypto Not Found
HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.3\Server Enabled Not Found
HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.3\Server DisabledByDefault Not Found
HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.3\Client Enabled Not Found
HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.3\Client DisabledByDefault Not Found
HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server Enabled Not Found
HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server DisabledByDefault Not Found
HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client Enabled Not Found
HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client DisabledByDefault Not Found
HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Server Enabled Not Found
HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Server DisabledByDefault Not Found
HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Client Enabled Not Found
HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Client DisabledByDefault Not Found
HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Server Enabled Not Found
HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Server DisabledByDefault Not Found
HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Client Enabled Not Found
HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Client DisabledByDefault Not FoundCómo habilitar TLS 1.2 en Windows Server
El script Enable-TLS1.2 PowerShell establecerá la configuración TLS de mejores prácticas para Windows Server:
- Habilitar TLS 1.2
- Habilite TLS 1.2 para .NET 4.x
- Habilite TLS 1.2 para .NET 3.5
- Deshabilitar TLS 1.0
- Deshabilitar TLS 1.1
- Deshabilitar TLS 1.3
Descargue el script de PowerShell Enable-TLS1.2 y guárdelo en la carpeta C:\scripts. Ejecute PowerShell como administrador y ejecute el script de PowerShell.
C:\scripts\.\Enable-TLS1.2.ps1Cómo habilitar TLS 1.3 en Windows Server
El script Enable-TLS1.3 PowerShell establecerá la configuración TLS de mejores prácticas para Windows Server:
- Habilitar TLS 1.3
- Habilitar TLS 1.2
- Habilite TLS 1.2 para .NET 4.x
- Habilite TLS 1.2 para .NET 3.5
- Deshabilitar TLS 1.0
- Deshabilitar TLS 1.1
Descargue el script de PowerShell Enable-TLS1.3 y guárdelo en la carpeta C:\scripts. Ejecute PowerShell como administrador y ejecute el script de PowerShell.
C:\scripts\.\Enable-TLS1.3.ps1Verifique que TLS 1.2 esté habilitado en Windows Server
Ejecute el script de PowerShell Get-TLS.ps1 para verificar que solo TLS 1.2 esté habilitado en Windows Server.
Path Name Value
---- ---- -----
HKLM:\SOFTWARE\Microsoft\.NETFramework\v4.0.30319 SystemDefaultTlsVersions 1
HKLM:\SOFTWARE\Microsoft\.NETFramework\v4.0.30319 SchUseStrongCrypto 1
HKLM:\SOFTWARE\WOW6432Node\Microsoft\.NETFramework\v4.0.30319 SystemDefaultTlsVersions 1
HKLM:\SOFTWARE\WOW6432Node\Microsoft\.NETFramework\v4.0.30319 SchUseStrongCrypto 1
HKLM:\SOFTWARE\Microsoft\.NETFramework\v2.0.50727 SystemDefaultTlsVersions 1
HKLM:\SOFTWARE\Microsoft\.NETFramework\v2.0.50727 SchUseStrongCrypto 1
HKLM:\SOFTWARE\WOW6432Node\Microsoft\.NETFramework\v2.0.50727 SystemDefaultTlsVersions 1
HKLM:\SOFTWARE\WOW6432Node\Microsoft\.NETFramework\v2.0.50727 SchUseStrongCrypto 1
HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.3\Server Enabled 0
HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.3\Server DisabledByDefault 1
HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.3\Client Enabled 0
HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.3\Client DisabledByDefault 1
HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server Enabled 1
HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server DisabledByDefault 0
HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client Enabled 1
HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client DisabledByDefault 0
HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Server Enabled 0
HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Server DisabledByDefault 1
HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Client Enabled 0
HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Client DisabledByDefault 1
HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Server Enabled 0
HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Server DisabledByDefault 1
HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Client Enabled 0Verifique que TLS 1.3 esté habilitado en Windows Server
Ejecute el script de PowerShell Get-TLS.ps1 para verificar que solo TLS 1.3 y TLS 1.2 estén habilitados en Windows Server.
Path Name Value
---- ---- -----
HKLM:\SOFTWARE\Microsoft\.NETFramework\v4.0.30319 SystemDefaultTlsVersions 1
HKLM:\SOFTWARE\Microsoft\.NETFramework\v4.0.30319 SchUseStrongCrypto 1
HKLM:\SOFTWARE\WOW6432Node\Microsoft\.NETFramework\v4.0.30319 SystemDefaultTlsVersions 1
HKLM:\SOFTWARE\WOW6432Node\Microsoft\.NETFramework\v4.0.30319 SchUseStrongCrypto 1
HKLM:\SOFTWARE\Microsoft\.NETFramework\v2.0.50727 SystemDefaultTlsVersions 1
HKLM:\SOFTWARE\Microsoft\.NETFramework\v2.0.50727 SchUseStrongCrypto 1
HKLM:\SOFTWARE\WOW6432Node\Microsoft\.NETFramework\v2.0.50727 SystemDefaultTlsVersions 1
HKLM:\SOFTWARE\WOW6432Node\Microsoft\.NETFramework\v2.0.50727 SchUseStrongCrypto 1
HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.3\Server Enabled 1
HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.3\Server DisabledByDefault 0
HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.3\Client Enabled 1
HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.3\Client DisabledByDefault 0
HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server Enabled 1
HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server DisabledByDefault 0
HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client Enabled 1
HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client DisabledByDefault 0
HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Server Enabled 0
HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Server DisabledByDefault 1
HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Client Enabled 0
HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Client DisabledByDefault 1
HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Server Enabled 0
HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Server DisabledByDefault 1
HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Client Enabled 0
HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Client DisabledByDefault 1¡Todo luce genial!
Sigue leyendo: No se puede instalar el proveedor NuGet para PowerShell »
Conclusión
Aprendió a habilitar TLS 1.2 y TLS 1.3 en Windows Server. También aprendió a deshabilitar los protocolos obsoletos. Verifique la configuración de TLS con el script de PowerShell antes y después de aplicar los cambios. Si solo está habilitado TLS 1.2 o TLS 1.3, todo está bien.
¿Disfrutaste este artículo? También te puede gustar que el parche SIGRed falle en Windows Server 2008 R2. No olvides seguirnos y compartir este artículo.