传输层安全性(TLS)1.2 是一种加密协议,旨在通过确保隐私和数据完整性来提供安全通信。微软已将 TLS 1.2 作为许多云服务的最低要求,其中包括 Microsoft Entra Connect。本文提供分步指导,帮助你为 Microsoft 云应用(包括 ASP.NET 应用)以及 Microsoft Entra Connect 服务器强制实施 TLS 1.2。
为什么 TLS 1.2 至关重要
与早期版本相比,TLS 1.2 提供了更强的加密和安全性,因此对于云环境中的安全通信至关重要。Microsoft Entra Connect 1.2.65.0 及更高版本完全支持 TLS 1.2,而 2.3.20.0 或更高版本则需要 TLS 1.2 才能正常运行。
如果你的服务器上未启用 TLS 1.2,必须在部署或升级到 Microsoft Entra Connect 2.0 或更高版本之前先启用它。
强制实施 TLS 1.2 的解决方案
强制实施 TLS 1.2 的步骤因所配置的应用或服务而异。以下是常见场景的详细解决方案。
1. 对于 ASP.NET Web 应用
- 更新目标框架
确保应用的目标框架设置为 4.6.2 或更高版本。使用更高版本可以提高性能和安全性。 - 修改 Web.Config 文件
更新Web.Config文件以指定目标框架:<system.web> <httpRuntime targetFramework="4.7.2" /> </system.web>有关受支持的 .NET Framework 版本,请参阅 Microsoft .NET Framework 生命周期。
2. 如果无法更新 Web.Config
如果修改 Web.Config 文件不可行,请使用以下变通方法,在应用开头添加以下代码:
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 | SecurityProtocolType.Ssl3;
这可确保你的应用明确使用 TLS 1.2 进行安全通信。
3. 为 Microsoft Entra Connect 强制实施 TLS 1.2
Microsoft Entra Connect 服务器必须启用 TLS 1.2,以确保与 Azure 的安全通信。请按以下步骤强制实施 TLS 1.2:
更新注册表
更新 Microsoft Entra Connect 服务器上的注册表以强制实施 TLS 1.2。使用以下注册表项:
[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
重要提示:更新注册表后,重启 Windows 服务器以使更改生效。
4. 使用 PowerShell 脚本
检查 TLS 1.2 设置
你可以使用以下 PowerShell 脚本来验证 Microsoft Entra Connect 服务器上当前的 TLS 1.2 设置:
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
启用 TLS 1.2
要强制实施 TLS 1.2,请使用以下 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.'
结语
强制实施 TLS 1.2 是维护与 Microsoft 云服务和 Azure 服务的安全通信与合规性的关键一步。无论你是配置 ASP.NET 应用还是 Microsoft Entra Connect 服务器,本文提供的解决方案都将帮助你确保兼容性和安全性。
如需了解更多信息,请参阅微软官方文档: