설명
Function App의 최소 TLS 버전이 낮으면 오래된 암호화 연결이 허용될 수 있습니다. TLS 1.2 이상을 사용하고 클라이언트가 지원한다면 TLS 1.3을 고려하세요. 새 앱의 기본값은 TLS 1.2이므로 설정 생략만으로 약한 암호화를 사용한다고 판단할 수는 없습니다.
잠재적 영향
- 구버전 TLS 연결을 허용할 수 있습니다.
- 조직의 전송 암호화 기준을 충족하지 못할 수 있습니다.
- 함수 엔드포인트와 SCM 엔드포인트의 보호 수준이 달라질 수 있습니다.
해결 방법
리소스 유형에 맞는 site_config.min_tls_version 또는 site_config.minimum_tls_version으로 승인된 최소 버전을 설정하세요. 현재 리소스의 SCM TLS 설정과 HTTPS 적용도 별도로 검토하세요. 변경 전 클라이언트 호환성을 확인하고 배포 후 허용·거부되는 연결을 테스트하세요.
예시
변경 전은 AzureRM 3.x의 기존 Function App, 변경 후는 현재 Linux Function App의 부분 예제입니다. 리소스 그룹과 스토리지 등 필수 설정은 생략했습니다. 두 리소스 유형 간 전환은 TLS 값 변경만으로 완료되지 않으므로 기존 상태와 앱 구성을 함께 검토하세요.
변경 전
hcl
resource "azurerm_function_app" "example" {
name = "test-azure-functions"
location = azurerm_resource_group.example.location
app_service_plan_id = azurerm_app_service_plan.example.id
site_config {
dotnet_framework_version = "v4.0"
scm_type = "LocalGit"
min_tls_version = "1.1"
}
}
변경 후
hcl
resource "azurerm_linux_function_app" "example" {
name = "test-azure-functions"
location = azurerm_resource_group.example.location
service_plan_id = azurerm_service_plan.example.id
site_config {
minimum_tls_version = "1.3"
}
}
변경 전은 최소 TLS 버전 1.1을 사용합니다. 변경 후는 1.3을 요구하여 그보다 오래된 TLS 클라이언트를 허용하지 않습니다. 승인된 기준과 호환성을 확인한 뒤 적용하세요.