설명
Azure Cache for Redis에서 비암호화 포트를 활성화하면 해당 포트에 도달할 수 있는 클라이언트가 TLS 없는 연결을 사용할 수 있습니다. Redis는 세션, 토큰과 캐시 데이터처럼 민감할 수 있는 정보를 담으므로 평문 연결에서 데이터와 인증 정보가 노출될 위험이 있습니다.
잠재적 영향
- 비암호화 연결의 캐시 데이터와 인증 정보가 네트워크에서 노출될 수 있습니다.
- 공격자가 통신 경로를 관찰하거나 변조할 수 있으면 세션이나 토큰이 탈취될 수 있습니다.
해결 방법
현재 공급자에서는 non_ssl_port_enabled = false로, AzureRM 3.117.1에서는 enable_non_ssl_port = false로 비암호화 포트를 비활성화하세요. 애플리케이션과 운영 도구가 TLS 연결과 서버 인증서 검증을 사용하도록 설정하고 최소 TLS 버전과 네트워크 접근도 확인하세요.
예시
AzureRM 3.117.1의 enable_non_ssl_port 속성을 사용하는 예제입니다. 최신 공급자에서 대응하는 속성은 non_ssl_port_enabled입니다. 참조한 리소스는 별도로 구성해야 합니다.
변경 전
hcl
resource "azurerm_redis_cache" "example" {
name = "example-cache"
location = azurerm_resource_group.example.location
resource_group_name = azurerm_resource_group.example.name
capacity = 2
family = "C"
sku_name = "Standard"
enable_non_ssl_port = true
minimum_tls_version = "1.2"
redis_configuration {
}
}
변경 후
hcl
resource "azurerm_redis_cache" "example" {
name = "example-cache"
location = azurerm_resource_group.example.location
resource_group_name = azurerm_resource_group.example.name
capacity = 2
family = "C"
sku_name = "Standard"
enable_non_ssl_port = false
minimum_tls_version = "1.2"
redis_configuration {
}
}
변경 후에는 비암호화 포트를 비활성화합니다. 클라이언트도 TLS 포트를 사용하도록 변경하고 인증과 접근 권한을 유지하세요.