【AWS】GuardDutyの通知メールをカスタマイズしてみる

はじめに

GuardDutyでイベントを検知したらメール通知することができます。
※メール通知設定の記事はこちら

しかし、通知されるメール本文は正直見にくいですよね。。
情報量が多いということとJSON形式なので、何が起きたのかを瞬時に判断することが辛いです。以下画像のようなメールが届きます。

今回は、このJSON形式のメールを見やすくなるようカスタマイズしてみたいと思います。

メール文のカスタマイズ

前提
GuardDutyのメール通知設定がすでに済んでいることを前提にすすめます。
※メール通知の設定が済んでいない方はこちらを参考に


EventBridgeルールの設定
EventBridgeの設定を変更していきます。

1.AWS コンソール「EventBridge」を選択します。
2.左側メニューの「ルール」をクリック
3.設定済みの通知設定ルールをクリックし、「編集」をクリックします。

ターゲット入力を設定 > 「入力トランスフォーマー」を選択します。
入力パスの欄に以下JSONをペーストします。

{
    "Account_ID": "$.detail.accountId",
    "Finding_ID": "$.detail.id",
    "Finding_Type": "$.detail.type",
    "Finding_description": "$.detail.description",
    "eventFirstSeen": "$.detail.service.eventFirstSeen",
    "region": "$.region",
    "severity": "$.detail.severity",
}

入力テンプレートの欄に以下JSONをペーストします。

"重要度 <severity> のGuardDutyイベントが発生しました。"
"アカウントID: <Account_ID>"
"発生日時: <eventFirstSeen>" 
"検出タイプ: <Finding_Type>"
"リージョン: <region>"
"タイプの説明: <Finding_description>"
"詳細はGuardDuty コンソール( https://console.aws.amazon.com/guardduty/home?region=#/findings?search=id%3D )を確認してください。"

入力後、「確認」を押し、「ルール更新」をクリックすれば、EventBridgeの設定は完了です。それでは、メール本文がカスタマイズされているか確認しましょう。


通知確認

GuardDutyでイベントを検出させてメールを確認してみましょう。

GuardDuty疑似イベント発生
GuardDutyに疑似的なイベントを発生させます。以下のようなAWS CLIコマンドを打つとサンプルイベントを発生させることができます。
コマンドは、CloudShellで打つのが簡単だと思いますので、試してみるとよいかと思います。"detector-id"部分はGuardDutyの表示画面から確認し書き換えてください。

aws guardduty create-sample-findings \
  --detector-id XXXXXXXXXXXXXXXXXXXXXXXXX \
  --finding-types "Backdoor:EC2/DenialOfService.Dns"

サンプルイベントに関しての詳細はこちら

GuardDuty左側メニュー → 検出結果をクリック
サンプルイベントが検出していることが分かります。

通知メールの確認

通知設定しているメールBoxを開きますと、以下画像のようなメールが届いています。
記事冒頭のメールよりもだいぶスッキリして見やすくなったと思います。


まとめ

GuardDutyのイベントはいち早く認識することと迅速な対応が肝要です。
そのため、通知メールを受け取った際は、状況をすぐに判断できることが重要になります。メールの本文をカスタマイズして、情報を的確に把握し速やかに対応できるよう備えましょう。
ぜひ、参考にしていただければと思います。


参考


関連の記事

【初めてのAWS】GuardDutyの紹介
【AWS】GuardDutyの有効化
【AWS】GuardDutyでイベント検知したらメール通知する仕組みを作る


この記事が気に入ったらサポートをしてみませんか?