Amazon Inspector v2 検出結果を AWS Chatbot で通知させてみる

新たにECRスキャンも可能になった Amazon Inspector v2 の通知設定を試してみます。セキュリティイベントを AWS Chatbot から Slack チャンネルへ通知します。試してみた結果、現状(2021/12/20) はSecurity Hub 経由で通知させたほうが良さそうです。
2021.12.20

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

このブログは 2021/12/20 時点の Amazon Inspector v2 および AWS Chatbot を試しています

はじめに

re:Invent 2021 にて Amazon Inspector v2 がリリースされました。 ECRスキャンが可能になったり、Organizations 連携が可能になったり、 とても便利になりました。

このブログでは Inspector v2 による 「EC2スキャンもしくは ECRスキャンの検出結果」 を AWS Chatbot 経由で Slack通知させてみます。

今回は 2種類の通知方法を試してみます。「Inspector からの通知(図1)」と「Security Hub からの通知(図2)」です。 Inspector v2 はデフォルトで Security Hub と統合可能です。

img

(図1) Inspector からの通知

img

(図2) Security Hub からの通知

作ってみる

Inspector からの通知

前提として Inspector の設定は済んでいるものとします。 作る部分は通知部分(EventBridgeルール, SNSトピック, Chatbot)です。

▼ EventBridgeルール, SNSトピック 部分

まず EventBridgeルール, SNSトピック 部分を設定します。これは CloudFormationを使いました。

展開後の EventBridgeルールのイベントパターンは以下のとおり。

{
  "source": ["aws.inspector2"],
  "detail-type": ["Inspector2 Finding"],
  "detail": {
    "status": ["ACTIVE"],
    "severity": ["MEDIUM", "HIGH", "CRITICAL"]
  }
}

detail.status を "ACTIVE" に絞っているのは Suppression rules で抑制済み("SUPPRESSED") にした検出結果を除くためです。 また、 detail.severity で 検出結果の重要度を "MEDIUM" 以上 に絞っています。

▼ Chatbot 部分

最後に SNSトピックを Chatbot で作成していたチャンネルに関連付けます。 ※細かい設定部分は割愛します。(以下記事など参照ください)

Security Hub からの通知

前提として Security Hub と Inspector との統合設定は完了しているとします。 (この統合設定は、Inspector を有効にすると自動で有効化されます)

▼ EventBridgeルール, SNSトピック 部分

先程同様に CloudFormationを使って展開します。

展開後の EventBridgeルールのイベントパターンは以下のとおり。

{
  "source": ["aws.securityhub"],
  "detail-type": ["Security Hub Findings - Imported"],
  "detail": {
    "findings": {
      "ProductName": ["Inspector"],
      "RecordState": ["ACTIVE"],
      "Severity": {
        "Label": ["MEDIUM", "HIGH", "CRITICAL"]
      }
    }
  }
}

detail.findings.RecordState で "ACTIVE" な 検出結果※ に絞っています。 ※例えば Inspector側の Suppression rules で抑制済みになった検出結果は Security Hub 上では "ARCHIVED" ステータスで管理されます。

また、 detail.findings.Severity で 検出結果の重要度を "MEDIUM" 以上 に絞っています。

▼ Chatbot 部分

最後に SNSトピックを Chatbot で作成していたチャンネルに関連付けます。 先程と同じです。

確認してみる

EC2, ECRのスキャンを「Inspector からの通知」、「Secuity Hub からの通知」 で試してみます。

Inspector からの通知

2021/12/20 時点 では Chatbotは Inspector v2 の出力は 「いい感じ」にはなっていませんでした。

▼ EC2インスタンスのスキャン結果

img

▼ ECRイメージのスキャン結果

img

Security Hub からの通知

重要度毎にラベル付けされています。 CVE や関連するパッケージ、脆弱性に関する説明の書かれています。

▼ EC2インスタンスのスキャン結果

img

▼ ECRイメージのスキャン結果

img

最後に

現状の AWS Chatbot への通知は Security Hub 経由のほうが 「いい感じ」でした。

また 以下のブログにあるとおり、 Security Hub は検出結果のリージョン集約に対応しています。 Inspectorを複数リージョンで活用する場合も Security Hub 経由であれば結果のリージョン集約が可能です。

現状は Security Hub 経由で Chatbot通知させるほうが、 見た目的にも、また集中管理の側面でも良いと感じました。

参考