Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
A documentação a seguir fornece informações sobre como desabilitar e habilitar determinados protocolos TLS/SSL e conjuntos de criptografia usados pelos Serviços de Federação do Active Directory (AD FS).
TLS/SSL, Schannel e conjuntos de criptografia no AD FS
O protocolo TLS (Transport Layer Security) fornece comunicações seguras criptografadas pela rede. O protocolo SSL (Secure Sockets Layer) criptografa trocas de dados confidenciais transmitidas entre um servidor Web e um navegador da Web semelhante ao TLS. Os Serviços de Federação do Active Directory (AD FS) usam esses protocolos para comunicações. Hoje, existem várias versões desses protocolos.
O Canal de Segurança (Schannel) é um SSP (Provedor de Suporte à Segurança) que implementa os protocolos de autenticação padrão da Internet SSL, TLS e DTLS. A Interface SSPI é uma API usada por sistemas Windows para executar funções relacionadas à segurança, incluindo autenticação. A SSPI funciona como uma interface comum para vários SSPS, incluindo o SSP Schannel.
Um pacote de criptografia é um pacote de algoritmos criptográficos. A implementação SSP do Schannel dos protocolos TLS/SSL usa algoritmos de um conjunto de criptografias para criar chaves e criptografar informações. Um pacote de criptografia especifica um algoritmo para cada uma das seguintes tarefas:
- Troca de chaves
- Criptografia em massa
- Autenticação de mensagem
O AD FS usa Schannel.dll para executar suas interações de comunicação seguras. Atualmente, o AD FS dá suporte a todos os protocolos e conjuntos de criptografia compatíveis com Schannel.dll.
Gerenciar os protocolos TLS/SSL e conjuntos de criptografia
Importante
Esta seção contém etapas que descrevem como modificar o registro. No entanto, problemas graves poderão ocorrer se você modificar o registro incorretamente. Portanto, certifique-se de seguir estas etapas com cuidado.
Lembre-se de que alterar as configurações de segurança padrão do SCHANNEL pode interromper ou impedir comunicações entre determinados clientes e servidores. Isso ocorre quando a comunicação segura é necessária, mas eles não têm um protocolo para negociar comunicações.
Se você estiver aplicando essas alterações, elas deverão ser aplicadas a todos os servidores do AD FS em seu farm. Depois de aplicar essas alterações, uma reinicialização é necessária.
Nos dias de hoje, proteger seus servidores e remover conjuntos de criptografias mais antigos ou fracos está se tornando uma prioridade importante para muitas organizações. Os pacotes de software estão disponíveis para testar seus servidores e fornecer informações detalhadas sobre esses protocolos e conjuntos. Para permanecer em conformidade ou obter classificações seguras, remover ou desabilitar protocolos mais fracos ou conjuntos de criptografia tornou-se uma obrigação. O restante deste documento fornece diretrizes sobre como habilitar ou desabilitar determinados protocolos e conjuntos de criptografia.
As seguintes chaves do Registro estão localizadas no mesmo local: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols. Use o Editor do Registro ou o PowerShell para habilitar ou desabilitar esses protocolos e conjuntos de criptografia.
Habilitar e desabilitar o SSL 3.0
Use as seguintes chaves do Registro e seus valores para habilitar e desabilitar o SSL 3.0.
Habilitar o SSL 3.0
Caminho | Nome do valor | Dados do valor |
---|---|---|
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Server | Habilitado | 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 | Habilitado | 00000001 |
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Client | DisabledByDefault | 00000000 |
Desabilitar o SSL 3.0
Caminho | Nome do valor | Dados do valor |
---|---|---|
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Server | Habilitado | 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 | Habilitado | 00000000 |
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Client | DisabledByDefault | 00000001 |
Usar o PowerShell para desabilitar o 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.'
Habilitar e desabilitar o TLS 1.0
Use as seguintes chaves do Registro e seus valores para habilitar e desabilitar o TLS 1.0.
Importante
Desabilitar o TLS 1.0 interrompe a relação de confiança do WAP com o AD FS. Se você desabilitar o TLS 1.0, deverá habilitar a autenticação forte para seus aplicativos. Para obter mais informações, consulte Habilitar autenticação forte para aplicativos .NET
Habilitar TLS 1.0
Caminho | Nome do valor | Dados do valor |
---|---|---|
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Server | Habilitado | 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 | Habilitado | 00000001 |
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Client | DisabledByDefault | 00000000 |
Desabilitar o TLS 1.0
Caminho | Nome do valor | Dados do valor |
---|---|---|
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 | Habilitado | 00000000 |
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Client | DisabledByDefault | 00000001 |
Usar o PowerShell para desabilitar o 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.'
Habilitar e desabilitar o TLS 1.1
Use as seguintes chaves do Registro e seus valores para habilitar e desabilitar o TLS 1.1.
Habilitar o TLS 1.1
Caminho | Nome do valor | Dados do valor |
---|---|---|
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Server | Habilitado | 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 | Habilitado | 00000001 |
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Client | DisabledByDefault | 00000000 |
Desabilitar o TLS 1.1
Caminho | Nome do valor | Dados do valor |
---|---|---|
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Server | Habilitado | 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 | Habilitado | 00000000 |
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Client | DisabledByDefault | 00000001 |
Usar o PowerShell para desabilitar o 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.'
Desabilitar o TLS 1.2
O TLS 1.2 está habilitado por padrão a partir do Windows Server 2012. Você pode usar as seguintes chaves do Registro e seus valores para desabilitar o TLS 1.2.
Aviso
Não é recomendável desabilitar o TLS 1.2, pois pode interromper a funcionalidade de outros componentes no servidor que dependem desse protocolo. Por exemplo, serviços como o Microsoft Azure AD Connect (Sincronização do Azure AD) exigem que o TLS 1.2 funcione corretamente. Desabilitá-lo pode resultar em falhas de serviço ou funcionalidade degradada.
Caminho | Nome do valor | Dados do valor |
---|---|---|
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server | Habilitado | 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 | Habilitado | 00000000 |
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client | DisabledByDefault | 00000001 |
Usar o PowerShell para desabilitar o 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 ou desabilitar hashes, algoritmos de criptografia e suites de criptografia
Não há suporte para controlar criptografias, hashes e algoritmos de troca de chaves, além do tamanho da chave, por meio do registro. Hashes, criptografias e algoritmos de troca de chaves são controlados por meio do PowerShell, MDM ou Cipher Suite Ordering.
Para obter uma lista completa de pacotes de criptografia com suporte, consulte Cipher Suites in TLS/SSL (SSP Schannel). Este artigo fornece uma tabela de suites que são habilitadas por padrão e mostra quais suites têm suporte, mas não estão habilitadas por padrão. Para priorizar os conjuntos de criptografia, consulte Priorizando pacotes de criptografia Schannel.
Habilitar autenticação forte para aplicativos .NET
Os aplicativos .NET Framework 3.5/4.0/4.5.x podem alternar o protocolo padrão para TLS 1.2 habilitando a chave do Registro SchUseStrongCrypto. Essas chaves do Registro forçam os aplicativos .NET a usar o TLS 1.2.
Importante
Para o AD FS no Windows Server 2016 e no Windows Server 2012 R2, você precisa usar a chave .NET Framework 4.0/4.5.x: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319
Para o .NET Framework 3.5, use a seguinte chave do Registro:
Caminho | Nome do valor | Dados do valor |
---|---|---|
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v2.0.50727 | SchUseStrongCrypto | 00000001 |
Para o .NET Framework 4.0/4.5.x, use a seguinte chave do Registro:
Caminho | Nome do valor | Dados do valor |
---|---|---|
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