Amazon GuardDutyの結果をメールで受け取る手順

記事タイトルとURLをコピーする

Amazon GuardDutyの結果をメールで受け取る手順

CI部3課の水本です。

過去にお客様からの依頼で「GuardDutyの結果をメールで通知できるようにしたい」とのリクエストがありましたので手順をお渡ししたのですが、本ブログでも手順を紹介したいと思います。

「GuardDuty、導入してはいるがそのまま放置してる」など、うまく運用に活かせていない方は参考にしてみてください。

※本設定はリージョン毎に必要ですので、複数リージョンでGuardDutyを導入された方は、都度リージョンを切替して設定をしてください。

概要

  1. Amazon SNSで、トピックとサブスクリプションを設定します。
  2. CloudWatch Eventsでルールを作成し、ターゲットをSNSにします。

手順

Amazon SNSの準備

トピックを作成する

  • Amazon SNS コンソールを開きます。
  • 「トピックの作成」セクションで、「トピック名」 に名前 (MyTopic など) を入力します。
    • これがメールの送信者名になります。
  • 「トピックの作成」を選択すると、トピックが作成されます。

サブスクリプションを作成する

  • Amazon SNS コンソールから「サブスクリプション」へ移動します。
  • 「サブスクリプションの作成」セクションで、「トピックARN=前手順で作成したトピック」を指定します。
  • 「プロトコル」を「Eメール」とし、「エンドポイント」にメールアドレスを指定します。複数アドレスは指定できませんので、メーリングリストなどをご用意ください。
  • 「サブスクリプションの作成」を選択します。
  • トピック名の送信元でサブスクリプションの承認メールが届きますので、「Confirm subscription」を選択します。
  • 準備は以上です。

CloudWatch イベントルールの作成

  • CloudWatch コンソールを開きます。
  • ナビゲーションペインで、「ルール」、「ルールの作成」 の順に選択します。
  • 「サービス名」メニューから、「GuardDuty」 を選択します。
  • 「イベントタイプ」 メニューから、「GuardDuty Finding」 を選択します。
  • 「イベントパターンのプレビュー」 で、「編集」 をクリックします。
  • 取得したいイベントパターンを定義します。
    • イベントパターンはjsonでしか定義できない為、サンプルを用意しています。
    • 以下の4つから利用したいサンプル1つをコピーして「イベントパターンのプレビュー」 に貼り付け、「保存」 をクリックします。

【サンプル】GuardDutyの「検索」をすべて対象とする

{ "source": [ "aws.guardduty" ], "detail-type": [ "GuardDuty Finding" ] }

【サンプル】重要度高(7.0~8.9)の検索に限定

{ "source": [ "aws.guardduty" ], "detail-type": [ "GuardDuty Finding" ], "detail" : { "severity": [ 7.0,7.1,7.2,7.3,7.4,7.5,7.6,7.7,7.8,7.9,8.0,8.1,8.2,8.3,8.4,8.5,8.6,8.7,8.8,8.9 ] } }

【サンプル】重要度高(4.0~6.9)の検索に限定

{ "source": [ "aws.guardduty" ], "detail-type": [ "GuardDuty Finding" ], "detail" : { "severity": [ 4.0,4.1,4.2,4.3,4.4,4.5,4.6,4.7,4.8,4.9,5.0,5.1,5.2,5.3,5.4,5.5,5.6,5.7,5.8,5.9,6.0,6.1,6.2,6.3,6.4,6.5,6.6,6.7,6.8,6.9 ] } }

【サンプル】重要度低(0.1~3.9)の検索に限定

{ "source": [ "aws.guardduty" ], "detail-type": [ "GuardDuty Finding" ], "detail" : { "severity": [ 0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1.0,1.1,1.2,1.3,1.4,1.5,1.6,1.7,1.8,1.9,2.0,2.1,2.2,2.3,2.4,2.5,2.6,2.7,2.8,2.9,3.0,3.1,3.2,3.3,3.4,3.5,3.6,3.7,3.8,3.9 ] } }

  • 「ターゲット」 で、「ターゲットの追加」 をクリックします。
  • ターゲットの種類は、「SNSトピック」 を選択します。
    • 事前に作成したSNSトピックを選択します。
  • 「入力の設定」 を展開し、「インプットトランスフォーマー」 を選択します。
    • 次のコードをコピーして「入力パス」に貼り付けます。
{ "severity": "$.detail.severity", "Finding_ID": "$.detail.id", "eventFirstSeen": "$.detail.service.eventFirstSeen", "eventLastSeen": "$.detail.service.eventLastSeen", "count": "$.detail.service.count", "Finding_Type": "$.detail.type", "region": "$.region", "Finding_description": "$.detail.description" }
 
  • 次のコードをコピーして 「入力テンプレート」 に貼り付けます。
    • このテンプレート内容でメールが届きます。
"重要度 <severity> のGuardDuty結果が発生しました。検索タイプ: <Finding_Type> リージョン: <region> タイプの説明: <Finding_description> 初回発生日時: <eventFirstSeen> 最新発生日時 <eventLastSeen> 発生数 <count> 詳細はGuardDuty コンソール( https://console.aws.amazon.com/guardduty/home?region=#/findings?search=id%3D )を確認してください。"
 
  • 「設定の詳細」 を選択します。
  • 「ルールの詳細を設定する」 で、ルールの 「名前」 と 「説明」 を入力した後、「ルールの作成」 をクリックします。

GuardDutyの通知テスト

  • GuardDutyコンソールから、「設定」を選択します。
  • 「結果のサンプル」セクションで、「結果のサンプルの生成」を選択します。
    • サンプル結果が56個挿入されます。
  • 最短で5分(GuardDutyからCloudWatch Eventsへの連携上経過)後に、下記のサンプルのようなEメールが届けばOKです。
    • 送信者名はトピック名で届きます。

通知メールサンプル

"重要度 5 のGuardDutyイベントです。検索タイプ:  Persistence:IAMUser/UserPermissions リージョン: ap-northeast-1 タイプの説明: APIs commonly used to add, modify or delete IAM users, groups or policies, was invoked by IAM principal GeneratedFindingUserName. Such activity is not typically seen from this principal. 初回発生: 2020-03-09T04:29:49.801Z 最後の発生 2020-03-09T04:29:49.801Z 発生数 1 詳細はGuardDuty コンソール( https://console.aws.amazon.com/guardduty/home?region=ap-northeast-1#/findings?search=id%XXXXXXXXXXXXXXXXXXXXXXXX )を確認してください。"

--
If you wish to stop receiving notifications from this topic, please click or visit the link below to unsubscribe:
https://sns.ap-northeast-1.amazonaws.com/unsubscribe.html?SubscriptionArn=arn:aws:sns:ap-northeast-1:XXXXXXXXXXXXXXX

Please do not reply directly to this email. If you have any questions or comments regarding this email, please contact us at https://aws.amazon.com/support

手順は以上です。