Como impor o TLS 1.2 para aplicações de nuvem da Microsoft e para o Microsoft Entra Connect

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 ficheiro Web.Config para 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:

Deixe um comentário