GuardDutyの通知が重要度でフィルター可能になりました

GuardDutyの通知レベルがフィルター可能になりました
2020.02.11

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

こんにちは。
ご機嫌いかがでしょうか。
"No human labor is no human error" が大好きな吉井 亮です。

GuardDutyの通知レベルがフィルター可能になりました。
これは嬉しいアップデートです。

GuardDuty

GuardDuty 使ってますか!?

悪意のある操作や不正な動作を継続的にモニタリングする脅威検出サービスで
何も考えずに有効にしてもいいほどの有用なサービスだと個人的に思っています。

こちらを参考にして GuardDuty を有効化してみてはいかがでしょうか。
一発でGuardDutyを全リージョン有効化して通知設定するテンプレート作った
Amazon GuardDutyを導入する前に知っておきたいこと

通知の悩み

さて、GuardDuty を有効にすると一点だけ悩みがあります。
検知が多く SNS 通知していると、大量に通知が届いてしまうことです。

自動アーカイブをすることである程度はフィルター可能ですが
自動アーカイブの設定も楽ではありません。
GuardDutyでフィルタ結果の自動アーカイブに対応したのでやってみた

Amazon EventBridge アップデート

アメリカ時間の2020年2月10日に嬉しいアップデートがありました。
EventBridge のイベントパターンで数値のレンジ一致が指定ができるようになりました。
数値のレンジ一致以外にも、属性の有無やプレフィクスの比較もあります。詳しくは以下。
Introducing content filtering for Amazon EventBridge

やってみた

GuardDuty の通知を減らせるのでは? と思い試してみました。

EvendBridge の設定

EvendBridge を開きます。

ルールを作成 をクリックします。

パターンを定義にある イベントパターン を選択、
カスタムパターン を選択、その横にあるテキストボックスに以下を貼り付けます。

{
    "source": [
        "aws.guardduty"
    ],
    "detail-type": [
        "GuardDuty Finding"
    ],
    "detail": {
        "severity": [
            { "numeric": [ ">=", 4 ] }
        ]
    }
}

この例では重要度 中 以上を通知対象としています。
severity は GuardDuty で定義されている重要度レベルを示しており
数値と重要度は以下の通りです。

  • 高: 7.0〜8.9 の範囲
  • 中: 4.0〜6.9 の範囲
  • 低: 0.1〜3.9 の範囲

残りは任意の名称とご希望のターゲットを指定して 作成ボタン をクリックします。

サンプル

GuardDuty の左ペイン 設定結果のサンプル
クリックすると驚異のサンプルが作成されるので、動作確認をしてみてください。
※本番環境でサンプルを作成しないようお気をつけてください。

CloudFormationテンプレート

2020/03/20更新
上記をデプロイする CloudFormation テンプレートを 公開 しました。
ご利用ください。

まとめ

いかがでしょうか。
GuardDuty の通知は「オオカミ少年」になりがちですが
しっかりフィルターをかければ運用するに価値すると思います。
ぜひお試しください。

参考

一発でGuardDutyを全リージョン有効化して通知設定するテンプレート作った
Amazon GuardDutyを導入する前に知っておきたいこと
GuardDutyでフィルタ結果の自動アーカイブに対応したのでやってみた
Introducing content filtering for Amazon EventBridge

以上、吉井 亮 がお届けしました。