概要

Amazon GuardDutyを導入し、Backlogへ起票する際の簡単な手順となります。

本内容での手順はjson形式での起票となるため、
起票内容を整形する場合は、別途「EventBridge API Destinations」や「Lambda」を利用してください。

※「EventBridge API Destinations」での整形については下記記事が参考になると思います。

EventBridge API Destinationsを使って、GuardDutyとInspectorの検出結果をBacklog課題として自動起票してみた

流れ

GuardDutyの有効化

EventBridgeルールの作成とCloudWatch Logsへの転送

特定の脅威をSNSで通知

動作確認
※ログ保存はCloudWatch Logsを使用。

前提&事前準備

  • 有効化するリージョンが正しいことを事前に確認してから作業を実施
  • 事前にBacklog課題登録用メールアドレスを作成する

手順1 (GuardDutyの有効化)

  1. AWSコンソールへログインし、「GurdDuty」を検索し開く

2.「Amazon GuardDuty – すべての機能」が選択されていることを確認し、「今すぐ始める」をクリック

3.「GuardDuty を有効にする」をクリック

4.有効化されたことを確認する

5.有効化したいサービス以外は無効化する

手順2 (EventBridgeルールの作成とCloudWatch Logsへの転送)

1.「Amazon EventBridge」を検索し、画面左側の項目の「ルール」を開く

2.「ルールを作成」をクリック

3.ルールの詳細を入力し「次へ」をクリック

名前:任意の名前
説明:必要に応じて記載
イベントパスdefault を選択
ルールタイプ:イベントパターンを持つルール

4.イベントパターンの構築の詳細を入力し「次へ」をクリック

イベント - イベントソース:AWSイベントまたは EventBridge パートナーイベント
イベントパターン - 作成のメソッド:パターンフォームを使用する
イベントパターン - イベントソース:AWSのサービス
イベントパターン - AWSのサービス:GuardDuty
イベントパターン - イベントタイプ:GuardDuty Finding

5.ターゲットを選択の詳細を入力し「次へ」をクリック

ターゲットタイプ:AWSのサービス
ターゲットを選択:CloudWatch ロググループ
ロググループ:新しいロググループを作成 ※ロググループ名は任意の名前を入力

6.必要に応じてタグ設定をし、設定内容を確認したら「ルールの作成」をクリック

 

7.ルールが作成されたことを確認する

 

手順3 (特定の脅威をSNSで通知)

1.「SNS」を検索し、画面左側の項目の「トピック」を開き「トピックの作成」をクリック


2.トピックの詳細を入力し、「トピックの作成」をクリック

タイプ:スタンダード
名前:任意の名前
その他の項目:デフォルトでOK

3.トピックが作成されたことを確認したら「サブスクリプションの作成」をクリック

 

4.サブスクリプションの作成の詳細を入力する

プロトコル:Eメール
エンドポイント:事前に作成したBacklog課題登録用メールアドレスを記載

 

5.unsubscribeのリンクを無効化を実施する
5-1.対象のBacklogに下記タイトルでチケット起票されていることを確認

タイトルAWS Notification - Subscription Confirmation

5-2.チケット本文に記載のリンクをコピーする。
⚠解除されてしまうのでリンクは絶対にクリックしないこと⚠

 

5-3.先程作成したサブスクリプションを選択し、「サブスクリプションの確認」をクリック


5-4.手順5-2でコピーしたリンクを貼り付け、「サブスクリプションの確認」をクリック

5-5.ステータスが「確認済み」になっていることを確認する

 

6.再度EventBridgeを開き、アラート発報させる重要度をフィルタリングしたEventBridgeルールを作成する

【ルールの詳細】
・ルールの詳細は手順2と同様のため割愛
【イベントパターン】
・イベント - イベントソース:その他
イベントパターン - 作成のメソッド:カスタムパターン(JSONエディタ)
イベントパターン - イベントパターン:下記内容を記載
{
"source": ["aws.guardduty"],
"detail-type": ["GuardDuty Finding"],
"detail": {
"severity": [{
"numeric": [">=", 4, "<", 10]
}]
}
}

※重要度(numericの箇所)は必要に応じて修正してください。
※重要度については下記リンク先を参照してください。
https://docs.aws.amazon.com/ja_jp/guardduty/latest/ug/guardduty_findings-severity.html

【ターゲット】
・ターゲットタイプ:AWSのサービス
・ターゲットを選択:SNSトピック
・トピック:手順3で作成したトピックを選択

6.必要に応じてタグ設定をし、設定内容を確認したら「ルールの作成」をクリック

 

7.ルールが作成されたことを確認する

 

手順4 (動作確認)

1.画面左側の項目の「設定」を選択し、「検出結果サンプルの生成」をクリック

 

2.検出結果サンプルが正常に生成されたことを確認

 

3.数分後、Backlogに起票されていることを確認

 

⚠連携解除されてしまうのでリンクはクリックしないように⚠