Búsqueda de sitios web

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.

ProtocolStatusEnableDisable
TLS 1.3ActiveX✓
TLS 1.2Active✓☓
TLS 1.1Deprecated☓✓
TLS 1.0Deprecated☓✓
SSL 3Deprecated☓✓
SSL 2Deprecated☓✓

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.

ProtocolStatusEnableDisable
TLS 1.3Active✓☓
TLS 1.2Active✓☓
TLS 1.1Deprecated☓✓
TLS 1.0Deprecated☓✓
SSL 3Deprecated☓✓
SSL 2Deprecated☓✓

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 Found

Có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:

  1. Habilitar TLS 1.2
  2. Habilite TLS 1.2 para .NET 4.x
  3. Habilite TLS 1.2 para .NET 3.5
  4. Deshabilitar TLS 1.0
  5. Deshabilitar TLS 1.1
  6. 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.ps1

Có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:

  1. Habilitar TLS 1.3
  2. Habilitar TLS 1.2
  3. Habilite TLS 1.2 para .NET 4.x
  4. Habilite TLS 1.2 para .NET 3.5
  5. Deshabilitar TLS 1.0
  6. 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.ps1

Verifique 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                      0

Verifique 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.

Artículos relacionados