08/21 2020

如何用CloudWatch 事件建立 GuardDuty 問題清單發送通知?

AWS快問快答

智慧偵測威脅功能 GuardDuty 在啟用之後,偵查到問題時,只會顯示在 GuardDuty 的 Console 界面上。若您希望系統偵查問題後,能自動寄送信件通知,需搭配 Amazon SNS 和 Amazon CloudWatch Events,設定完後成後,只要 GuardDuty偵查到問題,就能發送到郵件通知,即時掌握!今天就由博弘架構師一步步教大家如何設定:

設定步驟

1.設定 Amazon SNS 主題和端點

  1. 首先您必須現在 SNS 中設定主題,並將電子郵件地址新增為端點,以讓 Amazon
    CloudWatch Events 能發送電子郵件到您的郵箱。
  2. 登入 Amazon SNS 主控台,網址為 https://console.aws.amazon.com/sns/v3/home
  3. 從瀏覽窗格選取 Topics (主題),然後選取 Create Topic (建立主題)。

1.設定 Amazon SNS 主題和端點

  1. 首先您必須現在 SNS 中設定主題,並將電子郵件地址新增為端點,以讓 Amazon
    CloudWatch Events 能發送電子郵件到您的郵箱。
  2. 登入 Amazon SNS 主控台,網址為 https://console.aws.amazon.com/sns/v3/home
  3. 從瀏覽窗格選取 Topics (主題),然後選取 Create Topic (建立主題)。
設定 Amazon SNS 主題和端點
設定 Amazon SNS 主題和端點

4. 在 Create topic (建立主題) 區段中,輸入主題名稱,例如 GuardDuty。其他詳細資料是選擇性的。
5.選擇 Create Topic (建立主題),並選擇剛才所建立的 Topic。
6.在 Subscription (訂閱) 區段中,選取 Create subscription (建立訂閱)

  A. 從 Protocol (通訊協定) 功能表中,選取 Email (電子郵件)
  B. 在 Endpoint (端點) 欄位中,新增您想要接收通知的電子郵件地址。

9. 選擇 Create subscription (建立訂閱)
10. 建立完成後,系統會發到訂閱的郵件到您的信箱,請查看收件匣中的訂閱郵件,然後選擇 Confirm Subscription (確認訂閱)

  A. 從 Protocol (通訊協定) 功能表中,選取 Email (電子郵件)
  B. 在 Endpoint (端點) 欄位中,新增您想要接收通知的電子郵件地址。

2.設定 GuardDuty 問題清單的 CloudWatch 事件

1.前往 https://console.aws.amazon.com/cloudwatch/,開啟 CloudWatch 主控台
2.從導覽窗格選取 Rules (規則),然後選取 Create Rule (建立規則)
3.Service Name (服務名稱) 功能表中,選擇 GuardDuty
4.Event Type (事件類型) 功能表中,選擇 GuardDuty Finding (GuardDuty 問題清單)
5.Event Pattern Preview (事件模式預覽) 中,選擇 Edit (編輯)

6.以下 JSON 程式碼貼到 Event Pattern Preview (事件模式預覽) 中,然後選擇 Save (儲存)

{
  "source": [
    "aws.guardduty"
  ],
  "detail-type": [
    "GuardDuty Finding"
  ],
  "detail": {
    "severity": [
      4,
      4.0,
      4.1,
      4.2,
      4.3,
      4.4,
      4.5,
      4.6,
      4.7,
      4.8,
      4.9,
      5,
      5.0,
      5.1,
      5.2,
      5.3,
      5.4,
      5.5,
      5.6,
      5.7,
      5.8,
      5.9,
      6,
      6.0,
      6.1,
      6.2,
      6.3,
      6.4,
      6.5,
      6.6,
      6.7,
      6.8,
      6.9,
      7,
      7.0,
      7.1,
      7.2,
      7.3,
      7.4,
      7.5,
      7.6,
      7.7,
      7.8,
      7.9,
      8,
      8.0,
      8.1,
      8.2,
      8.3,
      8.4,
      8.5,
      8.6,
      8.7,
      8.8,
      8.9
    ]
  }
}

          注意 :以上的設定為提醒任何 Medium 至 High 的 GuardDuty 問題清單
7.在 Targets (目標) 區段中,按一下 Add Target (新增目標)。

AWS_Add Target

8.Select Targets (選取目標) 功能表中,選擇 SNS Topic (SNS 主題)

9.針對 Select Topic (選取主題),請選取您在步驟 1 中建立的 SNS 主題名稱

10.複製下列程式碼並貼到 Input Path (輸入路徑) 欄位中。

{

    "severity": "$.detail.severity",
    "Finding_ID": "$.detail.id",
    "Finding_Type": "$.detail.type",
    "region": "$.region",
    "Finding_description": "$.detail.description"
}

11.複製下列程式碼並貼到 Input Template (輸入範本) 欄位,以格式化電子郵件。

"You have a severity <severity> GuardDuty finding type <Finding_Type> in the <region> region."
"Finding Description:"
"<Finding_description>. "
"For more details open the GuardDuty console at https://console.aws.amazon.com/guardduty/home?region=<region>#/findings?search=id%3D<Finding_ID>"

12.設置好後將會如下圖所顯示:

AWS_Targets

13.確認設定無誤後,按一下 Configure Details (設定詳細資料)

14.在 Configure rule details (設定規則詳細資訊) 頁面上,輸入規則的 Name (名稱) 和 Description (描述)State 必須勾選 Enable 最後選擇 Create Rule (建立規則)

15.完成以上步驟之後 GuardDuty 在偵查到 Medium 或以上等級的問題時,將會發送通知到您的電子郵件。

經過以上步驟就大功告成啦! 是不是清楚簡單又快速呢?

請持續鎖定 Nextlink 架構師專欄,以獲得最新專業資訊喔!

若您有任何 AWS 需求,歡迎與我們聯繫!