모든 IPv4 주소를 허용하는 Redis 방화벽

Azure Redis 방화벽이 모든 IPv4 주소를 허용하지 않도록 출발지 범위를 제한하세요.

설명

azurerm_redis_firewall_rule의 start_ip가 0.0.0.0이고 end_ip가 255.255.255.255이면 허용 범위가 전체 IPv4 주소를 포함합니다. 이 규칙은 방화벽의 IPv4 출발지 제한을 없앱니다. 실제 외부 연결 가능 여부는 공개 네트워크 설정과 경로에 달려 있으며, Redis 인증과 권한 검사까지 없애지는 않습니다.

잠재적 영향

공개 엔드포인트에 도달할 수 있는 외부 클라이언트가 연결을 시도할 수 있습니다. 인증 정보 유출이나 취약한 인증 설정이 겹치면 캐시 데이터의 조회·변조 또는 서비스 장애로 이어질 수 있습니다.

해결 방법

  • 전체 규칙의 허용 범위를 검토하고, 캐시에서 보이는 승인된 클라이언트 출발지 IP나 필요한 최소 범위로 제한하세요.
  • 비공개 연결을 사용하려면 프라이빗 엔드포인트와 DNS 경로가 동작하는지 확인한 뒤 공개 네트워크 접근을 비활성화하세요. 사설 주소를 허용 목록에 넣는 것만으로는 비공개 연결이 구성되지 않습니다.

예시

AzureRM 4.x용 발췌 예시이며, 참조하는 리소스 그룹과 random_id는 별도로 정의되어 있다고 가정합니다. 203.0.113.10은 문서용 주소이므로 실제 승인된 클라이언트 출발지 IP로 바꾸세요.

변경 전

hcl
resource "azurerm_redis_cache" "example" {
  name                = "redis${random_id.server.hex}"
  location            = azurerm_resource_group.example.location
  resource_group_name = azurerm_resource_group.example.name
  capacity            = 1
  family              = "P"
  sku_name            = "Premium"
  non_ssl_port_enabled = false
  minimum_tls_version  = "1.2"
}

resource "azurerm_redis_firewall_rule" "open_rule" {
  name                = "someIPrange"
  redis_cache_name    = azurerm_redis_cache.example.name
  resource_group_name = azurerm_resource_group.example.name
  start_ip            = "0.0.0.0"
  end_ip              = "255.255.255.255"
}

변경 후

hcl
resource "azurerm_redis_cache" "example" {
  name                = "redis${random_id.server.hex}"
  location            = azurerm_resource_group.example.location
  resource_group_name = azurerm_resource_group.example.name
  capacity            = 1
  family              = "P"
  sku_name            = "Premium"
  non_ssl_port_enabled = false
  minimum_tls_version  = "1.2"
}

resource "azurerm_redis_firewall_rule" "open_rule" {
  name                = "someIPrange"
  redis_cache_name    = azurerm_redis_cache.example.name
  resource_group_name = azurerm_resource_group.example.name
  start_ip            = "203.0.113.10"
  end_ip              = "203.0.113.10"
}

설명: 같은 open_rule 리소스의 허용 범위를 전체 IPv4에서 단일 승인 주소로 줄입니다. 다른 규칙에 넓은 허용 범위가 남아 있다면 함께 수정하세요.

참조