Azure SQL 서버 보안 경고 설정 점검

필요한 보안 경고가 활성화되어 있고 담당자에게 전달되는지 확인하세요.

설명

Azure SQL의 보안 경고 정책은 의심스러운 데이터베이스 활동을 알려 줍니다. 정책을 끄거나 필요한 경고 유형을 제외하면 해당 위협 징후에 대한 알림을 받지 못할 수 있습니다.

잠재적 영향

필요한 경고가 누락되면 의심스러운 접근이나 쿼리를 조사하고 대응하는 시점이 늦어질 수 있습니다.

해결 방법

보안 경고 정책을 활성화하고 검토된 예외 외에는 disabled_alerts를 비워 두세요. 적절한 알림 수신자를 지정하고 Defender for SQL의 적용 상태도 확인하세요.

예시

SQL Injection 및 데이터 유출 경고 제외를 제거하는 예시입니다. 현재 AzureRM의 관리자 이메일 설정을 사용하며, 비밀번호는 예시용입니다.

변경 전

hcl
resource "azurerm_mssql_server" "example" {
  name                         = "my-mssql-server"
  resource_group_name          = azurerm_resource_group.example.name
  location                     = azurerm_resource_group.example.location
  version                      = "12.0"
  administrator_login          = "sqladmin"
  administrator_login_password = "SuperSecurePassword123!"
}

resource "azurerm_mssql_server_security_alert_policy" "example" {
  resource_group_name        = azurerm_resource_group.example.name
  server_name                = azurerm_mssql_server.example.name
  state                      = "Enabled"
  storage_endpoint           = azurerm_storage_account.example.primary_blob_endpoint
  storage_account_access_key = azurerm_storage_account.example.primary_access_key
  disabled_alerts = [
    "Sql_Injection",
    "Data_Exfiltration"
  ]
  retention_days = 20
}

변경 후

hcl
resource "azurerm_mssql_server" "example" {
  name                         = "my-mssql-server"
  resource_group_name          = azurerm_resource_group.example.name
  location                     = azurerm_resource_group.example.location
  version                      = "12.0"
  administrator_login          = "sqladmin"
  administrator_login_password = "SuperSecurePassword123!"
}

resource "azurerm_mssql_server_security_alert_policy" "example" {
  resource_group_name        = azurerm_resource_group.example.name
  server_name                = azurerm_mssql_server.example.name
  state                      = "Enabled"
  storage_endpoint           = azurerm_storage_account.example.primary_blob_endpoint
  storage_account_access_key = azurerm_storage_account.example.primary_access_key
  retention_days             = 20
  email_account_admins_enabled = true
}

참조