CloudTrailの変更を通知するCloudWatchアラームが未設定

CloudTrailの構成変更とログ記録の停止を監視してください。

説明

証跡の作成・更新・削除やログ記録の開始・停止は、監査ログの収集に影響します。これらの変更を通知するよう設定し、意図しない記録の中断を確認してください。

想定される影響

通知がないと、証跡の変更やログ記録の停止による監査の空白に気付くのが遅れるおそれがあります。

対処方法

CreateTrail、UpdateTrail、DeleteTrail、StartLogging、StopLoggingイベントをログメトリクスフィルターで収集してください。フィルターが出力するメトリクスにアラームを関連付け、通知アクションを設定してください。

例

以下は、アラームを正しいメトリクスに関連付ける例です。CloudTrailのログ配信と通知先は別途設定してください。

変更前

hcl
resource "aws_cloudwatch_log_metric_filter" "example" {
  name           = "CIS-CloudTrailChanges"
  pattern        = "{ ($.eventName = CreateTrail) || ($.eventName = UpdateTrail) || ($.eventName = DeleteTrail) || ($.eventName = StartLogging) || ($.eventName = StopLogging) }"
  log_group_name = aws_cloudwatch_log_group.CIS_CloudWatch_LogsGroup.name

  metric_transformation {
    name      = "CIS-CloudTrailChanges"
    namespace = "CIS_Metric_Alarm_Namespace"
    value     = "1"
  }
}

resource "aws_cloudwatch_metric_alarm" "example" {
  alarm_name          = "CIS-3.5-CloudTrailChanges"
  comparison_operator = "GreaterThanOrEqualToThreshold"
  evaluation_periods  = "1"
  metric_name         = "XXXX NOT YOUR FILTER XXXX"
  namespace           = "CIS_Metric_Alarm_Namespace"
  period              = "300"
  statistic           = "Sum"
  threshold           = "1"
}

変更後

hcl
resource "aws_cloudwatch_log_metric_filter" "example" {
  name           = "CIS-CloudTrailChanges"
  pattern        = "{ ($.eventName = CreateTrail) || ($.eventName = UpdateTrail) || ($.eventName = DeleteTrail) || ($.eventName = StartLogging) || ($.eventName = StopLogging) }"
  log_group_name = aws_cloudwatch_log_group.CIS_CloudWatch_LogsGroup.name

  metric_transformation {
    name      = "CIS-CloudTrailChanges"
    namespace = "CIS_Metric_Alarm_Namespace"
    value     = "1"
  }
}

resource "aws_cloudwatch_metric_alarm" "example" {
  alarm_name          = "CIS-3.5-CloudTrailChanges"
  comparison_operator = "GreaterThanOrEqualToThreshold"
  evaluation_periods  = "1"
  metric_name         = aws_cloudwatch_log_metric_filter.example.id
  namespace           = "CIS_Metric_Alarm_Namespace"
  period              = "300"
  statistic           = "Sum"
  threshold           = "1"
}

参考資料