Azure SQL Databaseの脅威検出設定の確認

監査記録とは別に、必要な脅威検出を有効にしてください。

説明

Azure SQLの脅威検出は、疑わしいログインやSQLインジェクションなどの異常な活動についてセキュリティアラートを提供します。監査ログを保存するだけでは、脅威検出は有効になりません。

想定される影響

脅威検出が無効だと自動セキュリティアラートを利用できず、疑わしい活動への対応が遅れるおそれがあります。

対処方法

データベースの脅威検出ポリシーを有効にし、Defender for SQLの設定と通知の配送先を確認してください。調査に必要な監査記録も保持してください。

例

以下は現在のAzureRMリソースで監査を維持しながら脅威検出を有効にする例です。6日間の保持期間は例示用なので、実際の要件に合わせて調整してください。

変更前

hcl
resource "azurerm_mssql_database" "example" {
  name                = "myexamplesqldatabase"
  server_id           = azurerm_mssql_server.example.id

  threat_detection_policy {
    state = "Disabled"
  }

}

resource "azurerm_mssql_database_extended_auditing_policy" "example" {
  database_id = azurerm_mssql_database.example.id
  blob_storage_endpoint                        = azurerm_storage_account.example.primary_blob_endpoint
  storage_account_access_key              = azurerm_storage_account.example.primary_access_key
  storage_account_access_key_is_secondary = false
  retention_in_days                       = 6
}

変更後

hcl
resource "azurerm_mssql_database" "example" {
  name                = "myexamplesqldatabase"
  server_id           = azurerm_mssql_server.example.id

  threat_detection_policy {
    state = "Enabled"
  }

}

resource "azurerm_mssql_database_extended_auditing_policy" "example" {
  database_id = azurerm_mssql_database.example.id
  blob_storage_endpoint                        = azurerm_storage_account.example.primary_blob_endpoint
  storage_account_access_key              = azurerm_storage_account.example.primary_access_key
  storage_account_access_key_is_secondary = false
  retention_in_days                       = 6
}

参考資料