Transport Layer Security (TLS) 1.2 é um protocolo criptográfico concebido para proporcionar comunicações seguras, garantindo a privacidade e a integridade dos dados. A Microsoft definiu o TLS 1.2 como requisito mínimo para muitos serviços de nuvem, incluindo o Microsoft Entra Connect. Este artigo fornece orientações passo a passo para impor o TLS 1.2 em aplicações de nuvem da Microsoft, incluindo aplicações ASP.NET, e em servidores do Microsoft Entra Connect.
Porque o TLS 1.2 é fundamental
O TLS 1.2 oferece encriptação e segurança melhoradas em comparação com versões anteriores, sendo essencial para a comunicação segura em ambientes de nuvem. O Microsoft Entra Connect versão 1.2.65.0 e posteriores suporta totalmente o TLS 1.2, e a versão 2.3.20.0 ou posterior requer TLS 1.2 para funcionar.
Se o TLS 1.2 não estiver ativado no seu servidor, tem de ativá-lo antes de implementar ou atualizar para o Microsoft Entra Connect versão 2.0 ou posterior.
Soluções para impor o TLS 1.2
Os passos para impor o TLS 1.2 variam consoante a aplicação ou o serviço a configurar. Abaixo apresentam-se soluções detalhadas para cenários comuns.
1. Para aplicações Web ASP.NET
- Atualize a framework de destino
Certifique-se de que a framework de destino da aplicação está definida para 4.6.2 ou superior. Usar uma versão superior melhora o desempenho e a segurança. - Modifique o ficheiro Web.Config
Atualize o ficheiroWeb.Configpara especificar a framework de destino:<system.web> <httpRuntime targetFramework="4.7.2" /> </system.web>Para saber quais as versões suportadas do .NET Framework, consulte o ciclo de vida do Microsoft .NET Framework.
2. Se não for possível atualizar o Web.Config
Se não for possível modificar o ficheiro Web.Config , use a seguinte solução alternativa, adicionando este código no início da sua aplicação:
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 | SecurityProtocolType.Ssl3;
Isto garante que a sua aplicação usa explicitamente o TLS 1.2 para comunicação segura.
3. Impor o TLS 1.2 para o Microsoft Entra Connect
Os servidores do Microsoft Entra Connect têm de ter o TLS 1.2 ativado para garantir uma comunicação segura com o Azure. Siga estes passos para impor o TLS 1.2:
Atualize o registo
Atualize o registo no servidor do Microsoft Entra Connect para impor o TLS 1.2. Use as seguintes chaves de registo:
[HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\.NETFramework\v4.0.30319]
"SystemDefaultTlsVersions"=dword:00000001
"SchUseStrongCrypto"=dword:00000001
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319]
"SystemDefaultTlsVersions"=dword:00000001
"SchUseStrongCrypto"=dword:00000001
[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.2\Client]
"Enabled"=dword:00000001
"DisabledByDefault"=dword:00000000
Importante: depois de atualizar o registo, reinicie o servidor Windows para que as alterações entrem em vigor.
4. Usar scripts do PowerShell
Verifique as definições do TLS 1.2
Pode usar o seguinte script do PowerShell para verificar as definições atuais do TLS 1.2 no seu servidor do Microsoft Entra Connect:
Function Get-ADSyncToolsTls12RegValue {
[CmdletBinding()]
Param (
[Parameter(Mandatory=$true)]
[string] $RegPath,
[Parameter(Mandatory=$true)]
[string] $RegName
)
$regItem = Get-ItemProperty -Path $RegPath -Name $RegName -ErrorAction Ignore
$output = "" | select Path, Name, Value
$output.Path = $RegPath
$output.Name = $RegName
$output.Value = $regItem.$RegName -ne $null ? $regItem.$RegName : "Not Found"
$output
}
$regSettings = @()
$regPaths = @(
'HKLM:\SOFTWARE\WOW6432Node\Microsoft\.NETFramework\v4.0.30319',
'HKLM:\SOFTWARE\Microsoft\.NETFramework\v4.0.30319',
'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server',
'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client'
)
foreach ($regPath in $regPaths) {
$regSettings += Get-ADSyncToolsTls12RegValue $regPath 'SystemDefaultTlsVersions'
$regSettings += Get-ADSyncToolsTls12RegValue $regPath 'SchUseStrongCrypto'
}
$regSettings
Ative o TLS 1.2
Para impor o TLS 1.2, use o seguinte script do PowerShell:
New-ItemProperty -Path 'HKLM:\SOFTWARE\WOW6432Node\Microsoft\.NETFramework\v4.0.30319' -Name 'SystemDefaultTlsVersions' -Value '1' -PropertyType 'DWord' -Force | Out-Null
New-ItemProperty -Path 'HKLM:\SOFTWARE\WOW6432Node\Microsoft\.NETFramework\v4.0.30319' -Name 'SchUseStrongCrypto' -Value '1' -PropertyType 'DWord' -Force | Out-Null
New-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\.NETFramework\v4.0.30319' -Name 'SystemDefaultTlsVersions' -Value '1' -PropertyType 'DWord' -Force | Out-Null
New-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\.NETFramework\v4.0.30319' -Name 'SchUseStrongCrypto' -Value '1' -PropertyType 'DWord' -Force | Out-Null
New-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server' -Name 'Enabled' -Value '1' -PropertyType 'DWord' -Force | Out-Null
New-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client' -Name 'Enabled' -Value '1' -PropertyType 'DWord' -Force | Out-Null
Write-Host 'TLS 1.2 has been enabled. Restart the server for changes to take effect.'
Considerações finais
Impor o TLS 1.2 é um passo fundamental para manter uma comunicação segura e a conformidade com os serviços de nuvem da Microsoft e do Azure. Quer esteja a configurar aplicações ASP.NET ou servidores do Microsoft Entra Connect, as soluções aqui apresentadas ajudá-lo-ão a garantir a compatibilidade e a segurança.
Para mais informações, consulte a documentação oficial da Microsoft: