在當前網路安全環境下,防護來源站點免受惡意攻擊至關重要。異常的使用者代理程式(User-Agent,簡稱UA)常被用於執行各種攻擊,如爬蟲抓取、漏洞掃描、DDoS攻擊等。本文將介紹如何利用Web Application Firewall(Web Application Firewall,簡稱WAF)3.0的自訂防護功能來防禦異常使用者代理程式(UA)對來源站點的攻擊。
網路架構概述
本樣本的網路架構如下:WAF攔截異常流量,確保正常使用者流量安全到達雲端服務器。
一鍵部署
為了讓您體驗WAF抵禦異常UA攻擊的功能,我們提供了一鍵部署服務,協助您快速搭建網路架構。
一鍵部署會為您建立一個Virtual Private Cloud、一個交換器、一個安全性群組(允許22、80、443連接埠訪問)、一個開通公網訪問的隨用隨付ECS執行個體、一個CLB(監聽連接埠為80)。您可以單擊一鍵部署進入調試頁面,發起調試後點擊預覽並執行。部署完成後,需要您將Web服務部署到您的ECS伺服器,並為CLB執行個體開啟WAF防護。 |
|
異常UA攻擊概述
異常UA攻擊通常指攻擊者偽造或篡改HTTP請求中的User-Agent頭,以隱藏真實身份或繞過安全防護措施。這類攻擊可能包括:
惡意爬蟲:大量抓取網站內容,佔用頻寬和資源。
漏洞掃描:自動化掃描網站漏洞,尋找可利用的安全性漏洞。
CC攻擊:發送大量請求,導致伺服器過載無法正常響應。
欺騙與繞過:通過偽造UA繞過特定的安全性原則或存取控制。
操作步驟
執行以下操作前,請確保已存在防護對象(已將Web業務接入WAF),若尚未將業務接入,請參見接入概述。
步驟一:收集和分析UA資料
在配置防護規則之前,首先需要瞭解正常使用者訪問時使用的User-Agent資訊。這有助於區分正常流量和異常流量。本樣本中七層CLB已開啟日誌訪問,並可以在Log Service中查看並分析日誌資訊。CLB開啟日誌並查看分析的具體操作請參見開啟資料擷取功能。
登入Log Service控制台。選擇您的目標project與logstore,進入日誌介面。

CLB開啟日誌採集後,Log Service會採集經過CLB的請求報文資訊,具體的欄位請參見負載平衡7層訪問日誌的欄位詳情。其中http_user_agent就是負載平衡收到的請求報文中的UA。單擊http_user_agent並選擇數量最多的UA值,介面會篩選出指定時間內,包含該UA值的全部日誌資訊。

可以發現UA值為Apache-HttpClient/4.5.13 (Java/1.8.0_381)的請求佔據了這個時段99%,15分鐘內有4368筆請求的UA值為Apache-HttpClient/4.5.13 (Java/1.8.0_381)。
步驟二:建立WAF自訂規則
如果某網域名稱或介面被攻擊者惡意訪問,導致日誌中存在大量偽造的非正常 User-Agent,例如空值、隨機字串等,您需要根據業務情境識別異常請求。
在本樣本中,查看步驟一統計的資料,我們發現同一UA的請求數量突然激增,遠遠超出正常水平,這表明可能存在異常流量。根據這種情況,我們需要按照以下操作步驟建立自訂規則,使WAF能夠有效攔截符合這些規則條件的異常流量:
登入Web Application Firewall3.0控制台。在頂部功能表列,選擇WAF執行個體的資源群組和地區(中國內地、非中國內地)。
在左側導覽列,選擇。
在Web 核心防護頁面下方自訂規則地區,單擊新建模板。
在新建模板頁面下單擊建立規則,為當前模板建立自訂規則。
規則名稱:本樣本規則名稱為Abnormal_UA_Interception。
匹配條件:匹配欄位選擇User-Agent,邏輯符選擇包含,在本樣本中符合業務情境的匹配內容為Apache-HttpClient/4.5.13 (Java/1.8.0_381)。
您可以根據您實際的業務需求,填寫最符合情境的匹配內容,以確保規則的有效性和精確性。
規則動作:攔截

點擊確定後,規則配置中建置規則名稱為異常UA攔截的自訂規則,您需要記錄對應的規則ID將在之後的報表中查看該規則ID的攔截效果,該樣本的規則ID為20766535。

在建立模板-自訂規則頁面,在待選擇對象地區中選擇需要防護的防護對象或防護對象組,添加到已選擇對象地區。

單擊確定,頁面彈出添加成功的提示後,表示自訂規則模板建立成功。
驗證
自訂規則生效後,可以通過以下幾種方法驗證WAF的防護效果,並查看日誌中的請求報文資訊以及報表中規則的生效情況。
查看WAF日誌
WAF日誌可查看被成功攔截的異常UA請求,final_action為block表示該請求被攔截,詳情的日誌欄位資訊請查閱日誌欄位說明。
查看WAF日誌需要防護對象已開啟Log Service。
登入Web Application Firewall3.0控制台。在頂部功能表列,選擇WAF執行個體的資源群組和地區(中國內地、非中國內地)。
在左側導覽列,選擇。
在Log Service頁面上方,選擇CLB防護對象。如下圖所示,異常UA流量被WAF攔截,並在日誌中記錄。

查看WAF安全報表
WAF安全報表中可以查看WAF自訂規則的防護效果。
在左側導覽列,選擇。在安全報表頁面,在上方搜尋欄篩選出自訂規則防護模組與接入的CLB防護對象。
在TOP5命中情況統計地區,可見步驟二建立的攔截異常UA規則的叫用次數。
查看業務日誌
異常流量攔截生效後,商務服務器的日誌將不會再接收到異常流量的請求,本樣本中如下圖可見CLB接收到的流量詳情,在15分鐘內,CLB執行個體不再接收到被WAF攔截的UA異常請求。

