공용 네트워크 접근이 활성화된 Azure MariaDB Server

Azure MariaDB의 기존 공용 접근 설정을 검토하고 지원되는 서비스로 이전하세요.

설명

Azure MariaDB의 공용 네트워크 접근이 활성화되어 있으면 방화벽이 허용하는 클라이언트가 공용 경로로 연결할 수 있습니다. 데이터 접근에는 인증과 데이터베이스 권한도 필요하지만, 지나치게 넓은 방화벽 규칙이나 약한 계정 보안은 위험을 키웁니다.

Azure Database for MariaDB는 2025년 9월 19일 지원이 종료되었습니다. 아래 내용은 기존 구성을 검토하기 위한 것이며, 지원되는 데이터베이스 서비스로 이전하면서 네트워크 통제를 다시 적용해야 합니다.

잠재적 영향

  • 허용된 외부 클라이언트가 비밀번호 추측이나 취약점 악용을 시도할 수 있습니다.
  • 계정이 침해되거나 권한이 과도하면 데이터 조회·변경으로 이어질 수 있습니다.

해결 방법

  • 지원되는 서비스로의 이전을 우선하고 대상 서비스의 방화벽, TLS와 계정 권한을 검토하세요.
  • 공용 접근이 필요 없으면 대상 서비스가 지원하는 사설 연결과 DNS를 먼저 구성하고 애플리케이션 연결을 시험한 뒤 공용 접근을 비활성화하세요.
  • 기존 MariaDB 구성에서 public_network_access_enabled = false는 공용 접근을 끄는 설정이었습니다. 제한된 공인 관리자 IP를 허용하는 것은 사설 연결과 다릅니다.

예시

지원 종료된 서비스의 네트워크 옵션을 비교하는 기존 발췌입니다. 신규 배포 예시가 아니며 SKU, 버전, TLS 등 필수 설정은 생략했습니다. 비밀번호는 코드에 저장하지 말고 안전하게 공급하며 Terraform 상태도 보호하세요.

변경 전

hcl
resource "azurerm_mariadb_server" "app_db" {
  name                = "example-mariadb-server"
  location            = azurerm_resource_group.example.location
  resource_group_name = azurerm_resource_group.example.name

  administrator_login          = "mariadbadmin"
  administrator_login_password = var.administrator_password
  public_network_access_enabled = true
}

공용 네트워크 접근을 허용합니다. 실제 연결에는 방화벽과 인증 조건도 적용됩니다.

변경 후

hcl
resource "azurerm_mariadb_server" "app_db" {
  name                = "example-mariadb-server"
  location            = azurerm_resource_group.example.location
  resource_group_name = azurerm_resource_group.example.name

  administrator_login          = "mariadbadmin"
  administrator_login_password = var.administrator_password
  public_network_access_enabled = false
}

공용 접근을 비활성화하는 옵션입니다. 이 설정만으로 사설 엔드포인트나 DNS가 만들어지지는 않습니다.

참조