我們通常通過配置云監控來推送API安全告警的嚴重事件,以便及時響應線上風險。然而,API安全事件根據其嚴重程度被分為低危、中危和高危三個等級。如果您希望接收到API安全檢測到的不同等級的攻擊事件告警,僅依靠云監控并不能滿足這一需求。本文將介紹使用阿里云日志服務(Simple Log Service,簡稱SLS)創建告警的方法,以解決告警推送不全面的問題。
方法概述
開啟API安全的日志投遞功能后,所有的API安全事件能夠被即時記錄和存儲。使用SLS的查詢統計語句,您可以基于API安全告警的日志數據創建告警規則,并可以通過以下兩種通知方案推送告警通知:
推送方案一:使用日志服務自身的通知功能直接推送告警信息。
推送方案二:日志服務搭配云監控,利用云監控的事件訂閱功能推送告警信息。
前提條件
您已經開通SLS。
您如果使用云監控推送,請確保已經開通云監控服務。
準備一個用于API安全日志投遞的目標日志庫(Logstore)。
說明日志訂閱功能當前不支持選擇日志服務自動創建的以及您自定義命名為“waf-logstore”、“wafng-logstore” 和 “wafnew-logstore” 的Logstore作為日志訂閱的目標。
步驟一:開啟日志投遞并創建索引
將API安全命中的攻擊事件信息投遞至您在日志服務控制臺創建的指定LogStore中。這使您能夠利用阿里云日志服務(SLS)的功能,根據不同攻擊事件等級創建告警。
登錄Web應用防火墻3.0控制臺。在頂部菜單欄,選擇WAF實例的資源組和地域(中國內地、非中國內地)。
在左側導航欄,選擇 。
在API安全頁面單擊策略配置頁簽中的日志訂閱配置子頁簽。
點擊攻擊事件信息進行配置。
在配置訂閱信息中填寫日志投遞目標LogStore的地域、Project、日志投遞的目標LogStore名稱。
確認攻擊事件信息下的狀態欄為開啟。
為了使用日志服務創建告警的時候,能在查詢統計的SQL中找到攻擊事件等級字段(event_level),請先根據提示開通索引,具體操作請參見創建索引。。
您在日志服務中創建的云資源與開通索引等操作會產生額外費用,由日志服務產品進行計費,計費項及價格請參見計費概述。
創建Project或Logstore后,未開啟日志訂閱任務時仍可能會產生費用,當您確保不再使用創建的Logstore時,請及時刪除,避免產生額外費用,請參見為什么只創建Project和Logstore會產生費用?。
步驟二:創建SLS告警規則
創建日志告警規則,以監控和處理不同等級的API安全事件。
創建告警規則
在控制臺左側,單擊告警按鈕進入,告警中心頁簽中點擊新建告警,右側彈出新建告警頁面。
點擊查詢統計后的添加,進入查詢統計頁面。
在查詢統計的高級配置頁面,選擇目標日志庫。
插入查詢語句,并根據您需要的查詢時間范圍選擇查詢區間。
篩選風險等級
篩選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'
該步驟通過自定義查詢與分析語句,能篩選各種風險等級的結果。
填寫完查詢語句,點擊下方的確認,回到新建告警頁面,在查詢統計選項能看到上一步保存的查詢語句。
選擇規則觸發的條件和嚴重度。觸發條件中嚴重度在配置云監控通知時需要,建議依據告警篩選條件的event_level選擇嚴重程度,如event_level為high,選擇嚴重程度為高。
上述教程已經滿足本次示例的功能,您可以根據你的業務需求去配置檢測頻率、觸發條件、分組評估、恢復通知、添加標簽、添加標注等,更多信息參見如何創建日志告警監控規則。另外如您使用云監控推送,觸發條件中的嚴重度會對應訂閱策略中的事件等級。
選擇輸出目標
先不開啟任何輸出目標。詳見步驟三。
點擊確認,在告警規則頁面能看到您剛剛新建的規則,整個日志服務的告警規則配置完成。
步驟三:配置告警推送
推送方案一:配置SLS推送
選擇該配置方式,說明您將選擇使用SLS的告警配合SLS推送通知,進行API安全事件的告警推送。
配置通知對象
創建一個你需要通知的對象
在當前頁面,點擊
頁簽。在用戶管理子頁簽中,單擊創建,彈出添加用戶頁面。
在添加用戶界面,填寫用戶信息,保證啟用、可收短信、可接電話狀態打開。
確認后刷新頁面,確認添加新用戶成功。
配置推送模板
如果您想接收到告警觸發的實例ID、告警規則的名稱、或者是告警的等級等等,那么您可以在推送模板的發送內容自定義。
在告警中心頁面,選擇在內容模板頁簽中,單擊創建。
。在彈出的內容模板頁面中您可以自定義的發送內容。這將是您接收到的推送信息內容格式。
說明該實例僅展示幾個模板變量作為參考,根據業務,您可以查看全部內容模板變量了解更多模板變量。
點擊確認后,刷新頁面,確認添加內容模板成功。
選擇輸出目標
找到您剛剛創建的規則,在操作列下點擊編輯。
滑到頁面最下方,輸出目標選SLS通知,打開開啟按鈕。
確認開啟SLS通知后,需要選擇告警策略。通常情況下,我們只需要在極簡模式中,配置好推送渠道,選擇靜態接收人并添加告警通知人,選擇合適的內容模板。如圖,在本實例中,選擇極簡模式,選擇接收人與內容模板,完成最基礎的告警策略配置。
說明極簡模式通過編輯渠道、告警接收人、內容模板、發送時段,達成推送告警。
普通模式通過選擇系統自定義行動策略,或者選擇新增自定義行動策略推送告警。
高級模式通過選擇行動策略與告警策略執行推送告警。
重要了解SLS支持的通知渠道請查看通知渠道說明。另外當渠道選擇短信、語音時會收取額外的費用,計費詳情請查看按使用功能計費模式計費項。
點擊確認,保存此次編輯。
如果根據您的業務場景有更復雜的配置需求,可以參見輸出目標-SLS通知。
開啟SLS推送
登錄日志服務控制臺。
在Project列表區域,單擊目標Project。
在控制臺左側,單擊告警按鈕,單擊告警中心頁簽中的告警規則子頁簽,確認規則狀態為啟動中。
推送方案二:配置云監控推送
選擇該配置,說明您將選擇使用SLS的告警配合云監控推送通知,進行API安全事件的告警推送。
1.設置日志服務告警的輸出目標
找到您剛剛創建的規則,在操作列下點擊編輯。
劃到頁面最下方輸出目標選擇云監控事件中心,點擊開啟狀態。點擊確認,保存此次編輯。
2.創建報警聯系人與創建報警聯系人組
云監控只能通過聯系人組推送通知,所以需要把要接收通知的聯系人加入到您的目標聯系人組里。
2.1創建報警聯系人
登錄云監控控制臺。
在左側導航欄,選擇 。
在報警聯系人頁簽,單擊創建聯系人。
在設置報警聯系人面板,填寫報警聯系人的姓名、手機號碼、郵箱和Webhook地址,其他參數均保持默認值。
點擊確認后返回報警聯系人面板,確認創建成功。
2.2創建報警聯系人組
單擊報警聯系組頁簽。
在報警聯系組頁簽,單擊新建聯系人組。
在新建聯系人組面板,填寫報警聯系人組的組名,并選擇已有報警聯系人。
單擊確認。
3.創建通知配置
前提條件:請確保您已創建報警聯系人和報警聯系組。
返回云監控控制臺。
在左側導航欄,選擇 。
在通知配置頁面,單擊創建策略面板,填寫名稱、聯系組。
單擊確定。
4.創建事件訂閱
返回云監控控制臺
在左側導航欄,選擇 。
在訂閱策略頁簽,單擊創建訂閱策略。
在創建訂閱策略頁面,設置訂閱策略的相關參數。
配置項
配置項目
基本信息
輸入訂閱策略名稱
報警訂閱
訂閱類型選擇系統事件
產品選擇日志服務
事件類型復選(Firing、Resolve)
說明Firing表示報警處于觸發狀態,對應事件名稱:
CRITICAL告警事件
INFO告警事件
WARN告警事件
Resolved表示報警已解決,對應事件名稱:
告警恢復事件
事件名稱復選(CRITICAL告警事件、INFO告警事件、告警恢復事件、WARN告警事件)
事件等級選擇嚴重(Critical)
事件內容填寫步驟二:創建SLS告警規則的規則名稱
應用分組和事件資源均不設置
合并降噪
使用默認值
通知
選擇您的目標通知配置,自定義通知方式使用默認通知方式
推送與集成
無需配置
報警訂閱配置如圖:
說明上述教程僅作為實現推送的一種示例,您可以根據您的業務需求進行配置,參見創建訂閱策略。
創建訂閱策略頁面底部點擊提交按鈕,自動跳轉到事件訂閱頁面,剛剛提交策略已經創建成功,并且確認狀態為啟動中。
驗證
通過上述步驟您完成了告警信息推送的全部配置。您可以在接收端驗證這些告警信息的準確性。
查看云監控的推送信息
打開云監控控制臺。在左側導航欄,選擇 。確認推送的通知信息。
確認接收端的通知信息。
短信
郵件
電話
查看SLS的推送信息
1.在告警規則子頁簽中的規則進入告警概覽,查看報表統計的歷史告警。
2.對比控制臺與接收端,接收到的信息格式與內容模板一致,信息內容與告警歷史的內容一致。