説明
IAM ポリシーの作成、削除、関連付け、変更を監視するログフィルターと CloudWatch アラームがないと、権限変更に気付くのが遅れる場合があります。権限ポリシーの変更は、セキュリティインシデントに関係し得る重要なイベントです。
CloudTrail ログを保存するだけでは担当チームに通知されません。必要なポリシー変更を監視し、運用で使用する通知先に接続してください。
想定される影響
- IAM 権限の変更に気付くのが遅れる場合があります。
- 過剰な権限付与や予期しないポリシー変更を見逃すおそれがあります。
- インシデントへの対応や調査が遅れる場合があります。
対処方法
- CloudTrail イベントを CloudWatch Logs に配信し、重要な IAM ポリシー変更のログメトリクスフィルターを設定してください。
- 生成されるメトリクス名と名前空間をアラームに接続し、評価期間、しきい値、SNS の配信経路を設定してください。
- 必要なポリシー変更イベントが対象に含まれることを確認し、アラーム条件を満たすイベントで実際の通知をテストしてください。通知によってポリシー変更自体を防ぐことはできません。
例
フィルターとメトリクスの接続を示す抜粋です。アラームに必要な評価期間、統計と集計期間、しきい値、通知アクションは別途補う必要があります。CloudTrail のログ配信と SNS のサブスクリプションも必要です。ここではフィルター名と生成されるメトリクス名が同じため、フィルターの id をメトリクス名として参照しています。
変更前
hcl
resource "aws_cloudwatch_metric_alarm" "example" {
alarm_name = "CIS-4.4-IAM-Policy-Change"
metric_name = "XXXX NOT YOUR FILTER XXXX"
namespace = "CIS_Metric_Alarm_Namespace"
comparison_operator = "GreaterThanOrEqualToThreshold"
}
変更後
hcl
resource "aws_cloudwatch_log_metric_filter" "example" {
name = "CIS-4.4-IAM-Policy-Change"
pattern = "{($.eventName=DeleteGroupPolicy)||($.eventName=DeleteRolePolicy)||($.eventName=DeleteUserPolicy)||($.eventName=PutGroupPolicy)||($.eventName=PutRolePolicy)||($.eventName=PutUserPolicy)||($.eventName=CreatePolicy)||($.eventName=DeletePolicy)||($.eventName=CreatePolicyVersion)||($.eventName=DeletePolicyVersion)||($.eventName=AttachRolePolicy)||($.eventName=DetachRolePolicy)||($.eventName=AttachUserPolicy)||($.eventName=DetachUserPolicy)||($.eventName=AttachGroupPolicy)||($.eventName=DetachGroupPolicy)}"
log_group_name = aws_cloudwatch_log_group.CIS_CloudWatch_LogsGroup.name
metric_transformation {
name = "CIS-4.4-IAM-Policy-Change"
namespace = "CIS_Metric_Alarm_Namespace"
value = "1"
}
}
resource "aws_cloudwatch_metric_alarm" "example" {
alarm_name = "CIS-4.4-IAM-Policy-Change"
metric_name = aws_cloudwatch_log_metric_filter.example.id
namespace = "CIS_Metric_Alarm_Namespace"
comparison_operator = "GreaterThanOrEqualToThreshold"
}
補足:
- 変更前: アラームのメトリクス名が、ポリシー変更フィルターのメトリクスに接続されていません。
- 変更後: 選択したポリシー変更イベントをメトリクスに変換し、アラームに接続します。省略されたアラーム設定と配信経路を完成させ、動作を確認してください。