TLS(전송 계층 보안) 1.2는 개인 정보 보호와 데이터 무결성을 보장하여 안전한 통신을 제공하도록 설계된 암호화 프로토콜입니다. Microsoft는 Microsoft Entra Connect를 비롯한 많은 클라우드 서비스의 최소 요구 사항으로 TLS 1.2를 지정했습니다. 이 문서에서는 ASP.NET 앱을 포함한 Microsoft 클라우드 애플리케이션과 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 웹 애플리케이션의 경우
- 대상 프레임워크 업데이트
애플리케이션의 대상 프레임워크가 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 서버는 Azure와의 안전한 통신을 위해 TLS 1.2가 활성화되어 있어야 합니다. 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 서버를 구성하든, 여기에 제시된 솔루션이 호환성과 보안을 보장하는 데 도움이 될 것입니다.
자세한 내용은 Microsoft 공식 문서를 참조하세요.