Como Liberar SSL/TLS no Windows Server 2016: Configuração Completa

Quando você lida com servidores Windows, especialmente o Windows Server 2016, é comum encontrar problemas relacionados a SSL/TLS, tanto para conexões de entrada (IIS, SQL Server, APIs) quanto para conexões de saída (PowerShell, scripts, atualizações). Este post detalha como configurar o sistema para liberar todos os protocolos modernos, mantendo segurança e compatibilidade.


1. Entendendo o SCHANNEL

No Windows, SCHANNEL é o módulo responsável pelos protocolos de segurança (SSL/TLS). Ele é utilizado por:

  • IIS, HTTP.sys
  • PowerShell, WinHTTP
  • .NET e aplicações que usam SSL/TLS
  • SQL Server, Exchange e serviços de sistema

As configurações ficam em:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols

Alterar essas chaves afeta todos os usuários e serviços do servidor, pois está no nível de máquina (HKLM).


2. Liberando TLS 1.0 a 1.3 para Client e Server

Você pode criar um arquivo .reg que configura todas as versões TLS para entrada e saída, garantindo compatibilidade máxima.

Arquivo libera_tls.reg

Windows Registry Editor Version 5.00

; ============================
; Liberar TLS 1.0 - 1.3 para Client e Server
; ============================

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Client]
"Enabled"=dword:00000001
"DisabledByDefault"=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Server]
"Enabled"=dword:00000001
"DisabledByDefault"=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Client]
"Enabled"=dword:00000001
"DisabledByDefault"=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Server]
"Enabled"=dword:00000001
"DisabledByDefault"=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client]
"Enabled"=dword:00000001
"DisabledByDefault"=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server]
"Enabled"=dword:00000001
"DisabledByDefault"=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.3\Client]
"Enabled"=dword:00000001
"DisabledByDefault"=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.3\Server]
"Enabled"=dword:00000001
"DisabledByDefault"=dword:00000000

3. Desativando SSL 2.0 e 3.0

Para segurança, SSL 2.0 e 3.0 devem permanecer desativados:

; ============================
; Desativar SSL 2.0 / 3.0
; ============================

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 2.0\Client]
"Enabled"=dword:00000000
"DisabledByDefault"=dword:00000001

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 2.0\Server]
"Enabled"=dword:00000000
"DisabledByDefault"=dword:00000001

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Client]
"Enabled"=dword:00000000
"DisabledByDefault"=dword:00000001

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Server]
"Enabled"=dword:00000000
"DisabledByDefault"=dword:00000001

4. Aplicando a configuração

  1. Salve o arquivo como libera_tls.reg.
  2. Abra Prompt de Comando como Administrador.
  3. Execute:
reg import libera_tls.reg
  1. Reinicie o servidor para garantir que todas as mudanças no SCHANNEL sejam aplicadas.

5. Testando conexões TLS/SSL

Para verificar se a configuração está funcionando:

  • Saída (Client):
Invoke-WebRequest https://www.howsmyssl.com/a/check
  • Entrada (Server IIS):
    Verifique bindings HTTPS e use ferramentas como SSL Labs para testar protocolos disponíveis.

6. Observações finais

  • Essas alterações são globais, afetam todos os usuários e serviços.
  • TLS 1.0/1.1 ainda podem ser necessários para sistemas legados, mas não são recomendados para produção.
  • Manter SSL 2.0/3.0 desativado é obrigatório para segurança.
  • Para servidores corporativos, sempre teste em ambiente de homologação antes de aplicar em produção.
Rolar para cima