全部產品
Search
文件中心

Web Application Firewall:API安全警示推送最佳實務

更新時間:Dec 27, 2024

我們通常通過配置CloudMonitor來推送API安全警示的嚴重事件,以便及時響應線上風險。然而,API安全事件根據其嚴重程度被分為低危、中危和高危三個等級。如果您希望接收到API安全檢測到的不同等級的攻擊事件警示,僅依靠CloudMonitor並不能滿足這一需求。本文將介紹使用阿里雲Log Service(Simple Log Service,簡稱SLS)建立警示的方法,以解決警示推送不全面的問題。

方法概述

開啟API安全的日誌投遞功能後,所有的API安全事件能夠被即時記錄和儲存。使用SLS的查詢統計語句,您可以基於API安全警示的日誌資料建立警示規則,並可以通過以下兩種通知方案推送警示通知:

推送方案一:使用Log Service自身的通知功能直接推送警示資訊。

推送方案二:Log Service搭配CloudMonitor,利用CloudMonitor的事件訂閱功能推送警示資訊。

前提條件

  • 您已經開通SLS。

  • 您如果使用CloudMonitor推送,請確保已經開通CloudMonitor服務。

  • 準備一個用於API安全日誌投遞的目標日誌庫(Logstore)

    說明

    日誌訂閱功能當前不支援選擇Log Service自動建立的以及您自訂命名為“waf-logstore”、“wafng-logstore” 和 “wafnew-logstore” 的Logstore作為日誌訂閱的目標。

步驟一:開啟日誌投遞並建立索引

將API安全命中的攻擊事件資訊投遞至您在Log Service控制台建立的指定LogStore中。這使您能夠利用阿里雲Log Service(SLS)的功能,根據不同攻擊事件等級建立警示。

  1. 登入Web Application Firewall3.0控制台。在頂部功能表列,選擇WAF執行個體的資源群組和地區(中国内地非中国内地)。

  2. 在左側導覽列,選擇防护配置 > API安全

  3. API安全頁面單擊策略配置頁簽中的日誌訂閱配置子頁簽。

  4. 點擊攻擊事件資訊進行配置。

  5. 在配置訂閱資訊中填寫日誌投遞目標LogStore的地區、Project、日誌投遞的目標LogStore名稱。image

  6. 確認攻擊事件資訊下的狀態列為開啟。

  7. 為了使用Log Service建立警示的時候,能在查詢統計的SQL中找到攻擊事件等級欄位(event_level),請先根據提示開通索引,具體操作請參見建立索引

重要
  • 您在Log Service中建立的雲資源與開通索引等操作會產生額外費用,由Log Service產品進行計費,計費項目及價格請參見計費概述

  • 建立Project或Logstore後,未開啟日誌訂閱任務時仍可能會產生費用,當您確保不再使用建立的Logstore時,請及時刪除,避免產生額外費用,請參見為什麼只建立Project和Logstore會產生費用?

步驟二:建立SLS警示規則

建立日誌警示規則,以監控和處理不同等級的API安全事件。

建立警示規則

  1. 在控制台左側,單擊警示按鈕image進入,警示中心頁簽中點擊建立警示,右側彈出建立警示頁面。

  2. 點擊查詢統計後的添加,進入查詢統計頁面。image

  3. 查詢統計進階配置頁面,選擇目標日誌庫image

  4. 插入查詢語句,並根據您需要的查詢時間範圍選擇查詢區間

    image

    篩選風險等級

    篩選WAF日誌投送的內容,輸出高危,中危,低危風險等級的結果

    /*篩選風險等級高的資料*/
    select event_level,COUNT(*) AS CNT WHERE event_level='high'
    
    /*篩選風險等級中的資料*/
    select event_level,COUNT(*) AS CNT WHERE event_level='medium'
    
    /*篩選風險等級低的資料*/
    select event_level,COUNT(*) AS CNT WHERE event_level='low'
    該步驟通過自訂查詢與分析語句,能篩選各種風險等級的結果。
  5. 填寫完查詢語句,點擊下方的確認,回到建立警示頁面,在查詢統計選項能看到上一步儲存的查詢語句。

  6. 選擇規則引發的條件和嚴重度。觸發條件中嚴重度在配置CloudMonitor通知時需要,建議依據警示篩選條件的event_level選擇嚴重程度,如event_level為high,選擇嚴重程度為高。

    image

    上述教程已經滿足本次樣本的功能,您可以根據你的業務需求去配置檢測頻率觸發條件分組評估恢複通知添加標籤添加標註等,更多資訊參見如何建立日誌警示監控規則。另外如您使用CloudMonitor推送,觸發條件中的嚴重度會對應訂閱策略中的事件等級。
  7. 選擇輸出目標

    先不開啟任何輸出目標。詳見步驟三

    image

  8. 點擊確認,在警示規則頁面能看到您剛剛建立的規則,整個Log Service的警示規則配置完成。

步驟三:配置警示推送

推送方案一:配置SLS推送

選擇該配置方式,說明您將選擇使用SLS的警示配合SLS推播通知,進行API安全事件的警示推送。

配置通知對象

建立一個你需要通知的對象

  1. 在當前頁面,點擊通知對象頁簽。

  2. 使用者管理子頁簽中,單擊建立,彈出添加使用者頁面。

    image

  3. 在添加使用者介面,填寫使用者資訊,保證啟用、可收簡訊、可接電話狀態開啟。

  4. 確認後重新整理頁面,確認添加新使用者成功。

配置推送模板

如果您想接收到警示觸發的執行個體ID、警示規則的名稱、或者是警示的等級等等,那麼您可以在推送模板的發送內容自訂。

  1. 警示中心頁面,選擇通知策略 > 內容範本內容範本頁簽中,單擊建立

  2. 在彈出的內容範本頁面中您可以自訂的發送內容。這將是您接收到的推送資訊內容格式。

    image

    說明

    該執行個體僅展示幾個模板變數作為參考,根據業務,您可以查看全部內容範本變數瞭解更多模板變數。

  3. 點擊確認後,重新整理頁面,確認新增內容模板成功。

選擇輸出目標

  1. 找到您剛剛建立的規則,在操作列下點擊編輯。

  2. 滑到頁面最下方,輸出目標選SLS通知,開啟開啟按鈕。

  3. 確認開啟SLS通知後,需要選擇警示策略。通常情況下,我們只需要在極簡模式中,配置好推送渠道,選擇靜態接收人並添加警示通知人,選擇合適的內容範本。如圖,在本執行個體中,選擇極簡模式,選擇接收人與內容範本,完成最基礎的警示策略配置。

    說明

    極簡模式通過編輯渠道、警示接收人、內容範本、發送時段,達成推送警示。

    普通模式通過選擇系統自訂行動策略,或者選擇新增自訂行動策略推送警示。

    進階模式通過選擇行動策略警示策略執行推送警示。

    image

    重要

    瞭解SLS支援的通知渠道請查看通知渠道說明。另外當渠道選擇簡訊、語音時會收取額外的費用,計費詳情請查看按使用功能計費模式計費項目

  4. 點擊確認,儲存此次編輯。

說明

如果根據您的業務情境有更複雜的配置需求,可以參見輸出目標-SLS通知

開啟SLS推送

  1. 登入Log Service控制台

  2. 在Project列表地區,單擊目標Project。

  3. 在控制台左側,單擊警示按鈕image,單擊警示中心頁簽中的警示規則子頁簽,確認規則狀態為啟動中。image

推送方案二:配置CloudMonitor推送

選擇該配置,說明您將選擇使用SLS的警示配合CloudMonitor推播通知,進行API安全事件的警示推送。

1.設定Log Service警示的輸出目標

  1. 找到您剛剛建立的規則,在操作列下點擊編輯。

  2. 划到頁面最下方輸出目標選擇CloudMonitor事件中心,點擊開啟狀態。點擊確認,儲存此次編輯。

image

2.建立警示連絡人與建立警示連絡人群組

CloudMonitor只能通過連絡人群組推播通知,所以需要把要接收通知的連絡人加入到您的目標連絡人群組裡。

2.1建立警示連絡人
  1. 登入CloudMonitor控制台

  2. 在左側導覽列,選擇警示服務 > 警示連絡人

  3. 警示連絡人頁簽,單擊建立連絡人

  4. 設定警示連絡人面板,填寫警示連絡人的姓名、手機號碼、郵箱和Webhook地址,其他參數均保持預設值。

  5. 點擊確認後返回警示連絡人面板,確認建立成功。

2.2建立警示連絡人群組
  1. 單擊警示聯絡組頁簽。

  2. 警示聯絡組頁簽,單擊建立連絡人群組

  3. 建立連絡人群組面板,填寫警示連絡人群組的組名,並選擇已有警示連絡人。

  4. 單擊確認

3.建立通知配置

前提條件:請確保您已建立警示連絡人和警示聯絡組。

  1. 返回CloudMonitor控制台。

  2. 在左側導覽列,選擇事件中心 > 通知配置

  3. 通知配置頁面,單擊建立策略面板,填寫名稱聯絡組

    image

  4. 單擊確定

4.建立事件訂閱

  1. 返回CloudMonitor控制台

  2. 在左側導覽列,選擇事件中心 > 事件訂閱

  3. 訂閱策略頁簽,單擊建立訂閱策略

  4. 建立訂閱策略頁面,設定訂閱策略的相關參數。

    配置項

    設定項目

    基本資料

    輸入訂閱策略名稱稱

    警示訂閱

    訂閱類型選擇系統事件

    產品選擇Log Service

    事件類型複選(FiringResolve

    說明
    • Firing表示警示處於觸發狀態,對應事件名稱:

      • CRITICAL警示事件

      • INFO警示事件

      • WARN警示事件

    • Resolved表示警示已解決,對應事件名稱:

      • 警示恢複事件

    事件名稱複選(CRITICAL警示事件INFO警示事件警示恢複事件WARN警示事件

    事件等級選擇嚴重(Critical)

    說明

    由於在步驟二中觸發條件選擇嚴重,事件等級選嚴重(Critical)對應。如果您的觸發條件嚴重度為其他,則也要選擇相應的事件等級,對應設定如下:

    • 觸發條件為嚴重、高對應事件等級為嚴重(Critical)。

    • 觸發條件為低、中對應事件等級為警示(Warning)。

    • 觸發條件為報告對應事件等級為通知(Info)。

    事件內容填寫步驟二:建立SLS警示規則的規則名稱

    應用分組事件資源均不設定

    合并降噪

    使用預設值

    通知

    選擇您的目標式通知配置,自訂通知方式使用預設通知方式

    重要

    CloudMonitor提供免費額度僅包含簡訊警示。如果您對電話的通知方式有需求,請進入CloudMonitor控制台,在基礎CloudMonitor模組中立即開通隨用隨付服務。計費詳情請查看基礎CloudMonitor隨用隨付

    推送與整合

    無需配置

    警示訂閱配置如圖:

    image

    說明

    上述教程僅作為實現推送的一種樣本,您可以根據您的業務需求進行配置,參見建立訂閱策略

  5. 建立訂閱策略頁面底部點擊提交按鈕,自動跳轉到事件訂閱頁面,剛剛提交策略已經建立成功,並且確認狀態為啟動中。

驗證

通過上述步驟您完成了警示資訊推送的全部配置。您可以在接收端驗證這些警示資訊的準確性。

查看CloudMonitor的推送資訊

  1. 開啟CloudMonitor控制台在左側導覽列,選擇事件中心 > 通知歷史。確認推送的通知資訊。

    image

  2. 確認接收端的通知資訊。

    簡訊

    image

    郵件

    image

    電話

    image

查看SLS的推送資訊

1.在警示規則子頁簽中的規則進入警示概覽,查看報表統計的歷史警示

2.對比控制台與接收端,接收到的資訊格式與內容範本一致,資訊內容與警示歷史的內容一致。

image

image