Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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.
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 |
New-ItemProperty -path 'HKLM:\SOFTWARE\Microsoft\.NetFramework\v4.0.30319' -name 'SchUseStrongCrypto' -value '1' -PropertyType 'DWord' -Force | Out-Null