Compartir a través de


Administración de protocolos SSL/TLS y conjuntos de cifrado para AD FS

En la siguiente documentación se proporciona información sobre cómo deshabilitar y habilitar determinados protocolos TLS/SSL y conjuntos de cifrado que usan los Servicios de federación de Active Directory (AD FS).

TLS/SSL, SChannel y conjuntos de aplicaciones de cifrado en AD FS

El protocolo Seguridad de la capa de transporte (TLS) proporciona comunicaciones seguras cifradas a través de la red. El protocolo Capa de sockets seguros (SSL) cifra los intercambios de datos confidenciales transmitidos entre un servidor web y un explorador web similar a TLS. Los Servicios de federación de Active Directory (AD FS) usan estos protocolos para las comunicaciones. En la actualidad, existen varias versiones de estos protocolos.

Canal de seguridad (Schannel) es un proveedor de soporte técnico de seguridad (SSP) que implementa los protocolos de autenticación estándar de Internet SSL, TLS y DTLS. La interfaz del proveedor de compatibilidad para seguridad (SSPI) es una API que usan los sistemas Windows para realizar funciones basadas en la seguridad, incluida la autenticación. SSPI funciona como una interfaz común a varios SSP, incluido el Schannel SSP.

Un conjunto de aplicaciones de cifrado es un conjunto de algoritmos criptográficos. La implementación SSP de Schannel de los protocolos TLS/SSL usa algoritmos de un conjunto de cifrado para crear claves y cifrar información. Un conjunto de cifrado especifica un algoritmo para cada una de las siguientes tareas:

  • Key exchange
  • Bulk encryption
  • Message authentication

AD FS usa Schannel.dll para realizar sus interacciones de comunicaciones seguras. Actualmente, AD FS admite todos los protocolos y conjuntos de cifrado que Schannel.dll admiten.

Administración de los protocolos TLS/SSL y los conjuntos de cifrado

Important

En esta sección se incluyen los pasos para modificar el Registro. No obstante, pueden producirse problemas graves si modifica el registro de manera incorrecta. Por lo tanto, asegúrate de seguir estos pasos cuidadosamente.

Tenga en cuenta que cambiar la configuración de seguridad predeterminada para SCHANNEL podría interrumpir o impedir las comunicaciones entre determinados clientes y servidores. Esto ocurre si se requiere una comunicación segura y no tienen un protocolo con el que negociar las comunicaciones.

Si aplica estos cambios, deben aplicarse a todos los servidores de AD FS de la granja. Después de aplicar estos cambios, se requiere un reinicio.

En la actualidad, el endurecimiento de los servidores y la eliminación de conjuntos de cifrado antiguos o débiles se está convirtiendo en una prioridad importante para muchas organizaciones. Los conjuntos de software están disponibles para probar los servidores y proporcionar información detallada sobre estos protocolos y conjuntos. Para seguir siendo compatibles o lograr clasificaciones seguras, la eliminación o deshabilitación de protocolos más débiles o conjuntos de cifrado se ha convertido en un debe. El resto de este documento proporciona instrucciones sobre cómo habilitar o deshabilitar determinados protocolos y conjuntos de cifrado.

Las siguientes claves del Registro se encuentran en la misma ubicación: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols. Use el Editor del Registro o PowerShell para habilitar o deshabilitar estos protocolos y conjuntos de cifrado.

Captura de pantalla del Editor del Registro que muestra las claves del Registro ubicadas en la carpeta Protocolos.

Habilitación y deshabilitación de SSL 3.0

Use las siguientes claves del Registro y sus valores para habilitar y deshabilitar SSL 3.0.

Habilitación de SSL 3.0

Path Value Name Value Data
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Server Enabled 00000001
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Server DisabledByDefault 00000000
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Client Enabled 00000001
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Client DisabledByDefault 00000000

Deshabilitar SSL 3.0

Path Value Name Value Data
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Server Enabled 00000000
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Server DisabledByDefault 00000001
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Client Enabled 00000000
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Client DisabledByDefault 00000001

Uso de PowerShell para deshabilitar SSL 3.0

New-Item 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Server' -Force | Out-Null

New-ItemProperty -path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Server' -name 'Enabled' -value '0' -PropertyType 'DWord' -Force | Out-Null

New-ItemProperty -path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Server' -name 'DisabledByDefault' -value 1 -PropertyType 'DWord' -Force | Out-Null

New-Item 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Client' -Force | Out-Null

New-ItemProperty -path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Client' -name 'Enabled' -value '0' -PropertyType 'DWord' -Force | Out-Null

New-ItemProperty -path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Client' -name 'DisabledByDefault' -value 1 -PropertyType 'DWord' -Force | Out-Null

Write-Host 'SSL 3.0 has been disabled.'

Habilitación y deshabilitación de TLS 1.0

Use las siguientes claves del Registro y sus valores para habilitar y deshabilitar TLS 1.0.

Important

Al deshabilitar TLS 1.0, se interrumpe la confianza de WAP a AD FS. Si deshabilita TLS 1.0, debe habilitar la autenticación segura para las aplicaciones. Para más información, consulte Habilitación de la autenticación segura para aplicaciones .NET.

Habilitar TLS 1.0

Path Value Name Value Data
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Server Enabled 00000001
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Server DisabledByDefault 00000000
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Client Enabled 00000001
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Client DisabledByDefault 00000000

Deshabilitación de TLS 1.0

Path Value Name Value Data
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Server Enabled"=00000000
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Server DisabledByDefault 00000001
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Client Enabled 00000000
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Client DisabledByDefault 00000001

Uso de PowerShell para deshabilitar TLS 1.0

New-Item 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Server' -Force | Out-Null

New-ItemProperty -path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Server' -name 'Enabled' -value '0' -PropertyType 'DWord' -Force | Out-Null

New-ItemProperty -path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Server' -name 'DisabledByDefault' -value 1 -PropertyType 'DWord' -Force | Out-Null

New-Item 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Client' -Force | Out-Null

New-ItemProperty -path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Client' -name 'Enabled' -value '0' -PropertyType 'DWord' -Force | Out-Null

New-ItemProperty -path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Client' -name 'DisabledByDefault' -value 1 -PropertyType 'DWord' -Force | Out-Null

Write-Host 'TLS 1.0 has been disabled.'

Habilitación y deshabilitación de TLS 1.1

Use las siguientes claves del Registro y sus valores para habilitar y deshabilitar TLS 1.1.

Habilitación de TLS 1.1

Path Value Name Value Data
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Server Enabled 00000001
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Server DisabledByDefault 00000000
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Client Enabled 00000001
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Client DisabledByDefault 00000000

Deshabilitar TLS 1.1

Path Value Name Value Data
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Server Enabled 00000000
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Server DisabledByDefault 00000001
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Client Enabled 00000000
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Client DisabledByDefault 00000001

Uso de PowerShell para deshabilitar TLS 1.1

New-Item 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Server' -Force | Out-Null

New-ItemProperty -path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Server' -name 'Enabled' -value '0' -PropertyType 'DWord' -Force | Out-Null

New-ItemProperty -path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Server' -name 'DisabledByDefault' -value 1 -PropertyType 'DWord' -Force | Out-Null

New-Item 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Client' -Force | Out-Null

New-ItemProperty -path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Client' -name 'Enabled' -value '0' -PropertyType 'DWord' -Force | Out-Null

New-ItemProperty -path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Client' -name 'DisabledByDefault' -value 1 -PropertyType 'DWord' -Force | Out-Null

Write-Host 'TLS 1.1 has been disabled.'

Deshabilitar TLS 1.2

TLS 1.2 está habilitado de forma predeterminada a partir de Windows Server 2012. Puede usar las siguientes claves del Registro y sus valores para deshabilitar TLS 1.2.

Warning

No se recomienda deshabilitar TLS 1.2, ya que puede interrumpir la funcionalidad de otros componentes en el servidor que dependen de este protocolo. Por ejemplo, los servicios como Microsoft Azure AD Connect (Azure AD Sync) requieren TLS 1.2 para funcionar correctamente. Deshabilitarlo podría dar lugar a errores de servicio o a una funcionalidad degradada.

Path Value Name Value Data
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server Enabled 00000000
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server DisabledByDefault 00000001
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client Enabled 00000000
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client DisabledByDefault 00000001

Uso de PowerShell para deshabilitar TLS 1.2

New-Item 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server' -Force | Out-Null

New-ItemProperty -path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server' -name 'Enabled' -value '0' -PropertyType 'DWord' -Force | Out-Null

New-ItemProperty -path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server' -name 'DisabledByDefault' -value 1 -PropertyType 'DWord' -Force | Out-Null

New-Item 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client' -Force | Out-Null

New-ItemProperty -path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client' -name 'Enabled' -value '0' -PropertyType 'DWord' -Force | Out-Null

New-ItemProperty -path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client' -name 'DisabledByDefault' -value 1 -PropertyType 'DWord' -Force | Out-Null

Write-Host 'TLS 1.2 has been disabled.'

Habilitar o deshabilitar hashes, cifrados y conjuntos de aplicaciones de cifrado

Controlling ciphers, hashes and key exchange algorithms, other than Key size, via the registry isn't supported. Los hashes, cifrados y algoritmos de intercambio de claves se controlan a través de PowerShell, MDM o la orden de conjuntos de cifrado.

Para obtener una lista completa de los conjuntos de cifrado admitidos, consulte Conjuntos de cifrado en TLS/SSL (Schannel SSP). En este artículo se proporciona una tabla de conjuntos que están habilitados de forma predeterminada y se muestran qué conjuntos se admiten pero no están habilitados de forma predeterminada. Para priorizar los conjuntos de cifrado, consulte Priorización de conjuntos de cifrado Schannel.

Habilitación de la autenticación segura para aplicaciones .NET

Las aplicaciones de .NET Framework 3.5/4.0/4.5.x pueden cambiar el protocolo predeterminado a TLS 1.2 habilitando la clave del Registro SchUseStrongCrypto. Estas claves del Registro obligan a las aplicaciones .NET a usar TLS 1.2.

Important

Para AD FS en Windows Server 2016 y Windows Server 2012 R2, debe usar la clave de .NET Framework 4.0/4.5.x: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319

Para .NET Framework 3.5, use la siguiente clave del Registro:

Path Value Name Value Data
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v2.0.50727 SchUseStrongCrypto 00000001

Para .NET Framework 4.0/4.5.x, use la siguiente clave del Registro:

Path Value Name Value Data
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319 SchUseStrongCrypto 00000001

Captura de pantalla del Editor del Registro que resalta la clave SchUseStrongCrypto

New-ItemProperty -path 'HKLM:\SOFTWARE\Microsoft\.NetFramework\v4.0.30319' -name 'SchUseStrongCrypto' -value '1' -PropertyType 'DWord' -Force | Out-Null

Additional information