スキップしてコンテンツを表示

GuardDuty に対する EventBridge ルールを構成し、特定のサービス検出タイプに関するカスタム SNS 通知を送信する方法を教えてください。

所要時間2分
0

Amazon GuardDuty のサービス検出タイプに反応する Amazon EventBridge ルールを作成しましたが、応答の形式が JSON になっています。メール応答をカスタム Amazon Simple Notification Service (Amazon SNS) 通知で受信できるようにしたいです。

解決策

前提条件: Amazon SNS トピックを作成します。Amazon SNS トピックは、GuardDuty サービスと同じリージョンに配置する必要があります。

GuardDuty に対する EventBridge ルールを構成し、カスタム SNS 通知を送信するには、次の手順を実行します。

  1. EventBridge コンソールを開きます。

  2. [バス] セクションで [ルール] を選択します。

  3. [ルールを作成] を選択し、次の手順を実行してルールを構成します。
    名前と説明を入力します。
    [イベントバス][デフォルト] を選択します。
    [ルールタイプ][イベントパターン付きルール] を選択します。

  4. [次へ] を選択します。

  5. [イベントパターン] で次の手順を実行します。
    [イベントソース][AWS サービス] を選択します。
    [AWS サービス][GuardDuty] を選択します。
    [イベントタイプ][GuardDuty 検出結果] を選択します。

  6. [イベントパターン] の [プレビュー] セクションで [パターンの編集] を選択します。

  7. JSON テキストボックスに次のコードを入力します。

    {
      "source": ["aws.guardduty"],
      "detail": {
        "type": ["Backdoor:EC2/C&CActivity.B!DNS"]
      }
    }

    注: Backdoor:EC2/C&CActivity.B!DNS を実際の検出タイプに置き換えてください。検出タイプ Backdoor:EC2/C&CActivity.B!DNS をテストするには、Amazon Elastic Compute Cloud (Amazon EC2) インスタンスから、テスト用ドメイン guarddutyc2activityb.com に DNS リクエストを行います。Linux では dig コマンドを、Windows では nslookup コマンドを実行します。検出結果は数分以内に生成されます。

  8. [次へ] を選択します。

  9. [ターゲットタイプ][AWS サービス] を選択します。

  10. [ターゲットを選択][SNS トピック] を選択します。

  11. [トピック] で目的のトピックを選択します。

  12. (オプション) 入力トランスフォーマーを構成します
    [ターゲット入力トランスフォーマー] セクションの [入力パス] において、テキストボックスに次の JSON パスを入力します。

{
  "severity": "$.detail.severity",
  "Finding_ID": "$.detail.id",
  "instanceId": "$.detail.resource.instanceDetails.instanceId",
  "port": "$.detail.service.action.networkConnectionAction.localPortDetails.port",
  "eventFirstSeen": "$.detail.service.eventFirstSeen",
  "eventLastSeen": "$.detail.service.eventLastSeen",
  "count": "$.detail.service.count",
  "Finding_Type": "$.detail.type",
  "region": "$.region",
  "Finding_description": "$.detail.description"
}

[テンプレート] において、テキストボックスに次の文字列テンプレートを入力します。

"You have a new GuardDuty alert. View finding in console - https://console.aws.amazon.com/guardduty/home?REGION=#/findings?search=id%3DFINDING_ID "

注: テンプレートでは、閉じ引用符によって SNS 通知の URL が壊れることを防ぐために、FINDING_ID の後の末尾のスペースを削除しないでください。入力パスは、GuardDuty の検出結果に含まれる特定の属性を使用します。使用可能なフィルターの詳細については、「GuardDuty のプロパティフィルター」を参照してください。 [次へ] を選択します。 (オプション) ルールにタグを追加し、**[次へ] を選択します。 ルールの詳細を確認し、[ルールを作成]**を選択します。

GuardDuty が検出タイプを生成すると、EventBridge は 5 分以内に指定したエンドポイントに SNS 通知を送信します。すべての GuardDuty 検出タイプに対する SNS 通知を設定する場合は、「Amazon EventBridge で GuardDuty の検出結果を処理する」を参照してください。

関連情報

Amazon EventBridge でイベントに反応するルールを作成する

チュートリアル: 入力トランスフォーマーを使用して EventBridge のイベントを変換する

GuardDuty のカスタム Amazon SNS 通知が配信されない場合のトラブルシューティング方法を教えてください

コメントはありません