AWS

【SecurityHub運用TIPS】通知が多すぎる?特定のコントロールをEventBridgeで除外する方法

control some activities
hiropy

はじめに

AWS Security Hubの通知は、セキュリティ状況の把握に非常に有用ですが、環境によっては過剰な通知が問題となることがあります。今回は、BLEAのblea-security-alarm-stack.tsファイルを修正し、EventBridgeルールを使って特定の通知を除外するための設定手順をご紹介します。

1. BLEAテンプレートと通知の課題

BLEAテンプレートでは、Security Hubで重大度が高(High)以上かつFAILEDとなったコントロールに対してSNS通知が送信される設定となっています。しかし、環境の制約により一部のコントロールで検知された問題にすぐには対処できない、あるいはリソースの修正が難しい場合もあります。

2. EventBridgeルールによる解決策

EventBridgeルールをカスタマイズすることで、特定のコントロールからの通知を除外できます。今回は、blea-security-alarm-stack.tsファイル内のEventBridgeルール設定を修正します。

3. anything-butフィルターの使用

今回の修正のポイントは、SecurityControlIdフィールドに対して"anything-but"フィルターを使用することです。

「anything-but」はEventBridgeイベントパターンで使える特殊なフィルターであり、「指定した値以外をすべて対象とする」という動作になります。(参考
特徴は以下の通りです。

  • 指定した値以外のすべての値にマッチするフィルター
  • 複数の値を除外したい場合に特に有用
  • リスト形式で複数の値を指定可能

使用方法:

"SecurityControlId": [{
  "anything-but": ["IAM.6", "IAM.9", "EC2.13", ...]
}]

この設定により、リストに含まれるSecurityControlId以外のすべての通知がEventBridgeルールの対象となります。

4. 修正後のコード

以下が、blea-security-alarm-stack.tsファイル内のEventBridgeルール設定の修正後のコードです:

new cwe.Rule(this, 'BLEARuleSecurityHub', {
  description: 'CloudWatch Event Rule to send notification on SecurityHub all new findings and all updates.',
  enabled: true,
  eventPattern: {
    source: ['aws.securityhub'],
    detailType: ['Security Hub Findings - Imported'],
    detail: {
      findings: {
        Severity: {
          Label: ['CRITICAL', 'HIGH'],
        },
        Compliance: {
          Status: ['FAILED'],
          SecurityControlId:[{
            "anything-but": ["IAM.6","IAM.9","EC2.13","EC2.14","EC2.18","EC2.19","EC2.23","RDS.13","ECR.1","Inspector.1","Inspector.2","Inspector.3","Inspector.4"]
          }]
        },
        Workflow: {
          Status: ['NEW', 'NOTIFIED'],
        },
        RecordState: ['ACTIVE'],
      },
    },
  },
  targets: [new cwet.SnsTopic(secTopic)],
});

5. カスタマイズのポイント

  • 除外するコントロールは、"anything-but"リスト内で指定します。
  • 環境や要件の変化に応じて、このリストを適宜更新してください。
  • 除外するコントロールの選択には慎重を期し、セキュリティリスクを十分に検討してください。

まとめ

EventBridgeルールの"anything-but"フィルターを使用することで、BLEAのSecurity Alarm Stackをより効果的にカスタマイズできます。これにより、重要な通知に集中しつつ、不要な通知を減らすことが可能となります。例えば、開発環境で特定の制約から修正が難しいコントロールを一時的に除外することで、より実用的なセキュリティ監視体制を構築することができます。ただし、除外するコントロールはプロジェクトの制約などを加味した上で慎重に選択してください。今回ご紹介した内容が、AWS環境の運用負荷軽減やセキュリティ最適化の一助となれば幸いです。

AUTHOR
hiropy
hiropy
記事URLをコピーしました