當網站、H5頁面,或App內嵌H5頁面業務面臨惡意爬蟲、自動化指令碼攻擊、黃牛搶購等威脅時,可以建立Bot-Web防護模板,防禦網頁爬蟲,確保業務安全。
操作步驟
進入Web防護介面。在頂部功能表列,選擇WAF執行個體的資源群組和地區(中国内地、非中国内地)。單擊新建模板。
步驟一:防護情境定義
填寫模板名称與模板介绍,以便於您進行後續管理。
選擇防护目标特征,支援全局生效與定制匹配条件兩種類型。
全局生效:適用於僅存在網頁/H5環境的情境。
定制匹配条件:適用於除網頁/H5環境外,還存在APP/小程式環境,或希望針對特定的業務介面(如登入、秒殺等)進行防護的情境。
全局生效
配置防護目標為全域生效,無需輸入資料流量特徵。
定制匹配条件
配置防護目標為定製匹配條件,依據輸入特徵進行匹配。通過單擊新增条件添加一個條件。每個條件由匹配字段、逻辑符和匹配内容組成。配置樣本如下:
說明若規則包含多個條件,則請求必須滿足所有條件(邏輯與關係),才能命中該規則。關於匹配欄位和邏輯符的詳細說明,請參見匹配條件說明。
匹配字段
逻辑符
匹配内容
說明
URI Path
包含
/login.php當請求的路徑包含
/login.php時,則請求命中該規則。IP
屬於
192.1.XX.XX當用戶端IP為
192.1.XX.XX時,則請求命中該規則。
勾選是否排除静态文件,靜態檔案請求通常不涉及商務邏輯,且其內容本身不易被用於注入攻擊,排除靜態檔案可減少檢測負載,使WAF專註於保護動態介面。建議選擇預設的靜態檔案類型,也可自訂添加類型。
單擊创建模板。
步驟二:編輯模板規則
在编辑模板頁的人机校验地區,可單擊编辑配置如下人機校正規則。
選擇驗證模式,支援JS验证或令牌挑战兩種類型。
JS验证:適用於低強度日常防護情境。
令牌挑战:適用於高強度對抗情境,建議在重點防護時段(如大促活動開始前數分鐘)啟用。
JS验证
規則引發後,WAF將返回JS代碼,正常瀏覽器用戶端將執行JS代碼擷取通行證並重發請求,而惡意流量由於未攜帶通行證從而被攔截,認證通過的用戶端在一段時間(預設30分鐘)內,其所有請求將被直接允許存取,無需重複校正。
令牌挑战
規則引發後,WAF將返回JS代碼,正常瀏覽器用戶端將執行JS代碼進行請求加簽並重發請求,而惡意請求由於無簽名資訊從而被攔截。可選項:
簽章時間戳異常:指簽章時間戳異常時,請求將被攔截。
WebDriver攻擊:指遭遇WebDriver攻擊時,請求將被攔截。
在规则灰度地區,配置規則針對不同維度對象的生效比例。開啟規則灰階後,還需要設定维度和灰度比例。维度包括:IP、自定义Header、自定义参数、自定义Cookie、Session、网页端UMID。
說明規則灰階根據配置的维度生效,而非對請求按比例隨機生效規則。例如,當维度為IP且灰度比例為10%時,WAF將選擇約10%的IP地址;被選中的IP地址,其所有請求均應用該規則,而非對所有請求按10%的比例隨機應用。
在生效模式地區,選擇規則的生效時間。
永久生效(預設):防護模板開啟時,規則永久生效。
按时间段生效:防護規則僅在指定的一段時間內生效。
按周期生效:防護規則僅在指定的時間周期內生效。
在风险识别地區,可以單擊新建,建立風險識別規則。基於WAF內建的手機號信譽資料庫,實現針對黃牛等異常手機號的訪問阻斷,適用於手機號登入註冊類情境,更多資訊,請參見風險識別。
在策略配置地區,基於阿里雲經驗沉澱的常見Bot特徵庫,列舉了恶意BOT、疑似BOT和友好BOT三類規則,可以單擊目標規則状态列的
表徵圖,開啟或關閉規則,或單擊编辑對規則進行修改。重要誤殺風險提示:以下部分規則存在誤殺(誤攔截)風險,不當的配置可能導致正常請求被攔截。建議在正式啟用規則前,先將处置动作設定為观察,或結合规则灰度,優先在非生產環境進行測試,並根據實際業務特徵進行調優後再上線。
CC類規則統計說明:所有CC計數類規則(如IP访问路径较少)在設定的統計時間長度內,一旦達到閾值即刻處置,不會等到統計時間長度結束。統計對象進入黑名單之後,若統計對象的請求繼續觸發規則,系統將持續計數並重新整理其黑名單逾時時間。
配置建議
恶意BOT
規則分類
規則名稱
誤殺風險說明
瀏覽器探針
開發人員工具、模擬器工具
低風險
瀏覽器環境異常
低風險
自動化工具、無頭瀏覽器
低風險
系統內容異常
低風險,對於部分使用 XP 作業系統的使用者存在風險
時間戳記異常
中風險,對於開啟網頁超過 2 小時未重新整理,並直接提交的請求,可能存在誤殺
WebSDK版本異常
低風險,對於手工整合 WebSDK 的老版本使用者可能存在風險
裝置偽造
裝置硬體資訊偽造、瀏覽器屬性偽造、作業系統與環境偽造
低風險
採集資訊偽造、網路與地理位置偽造
低風險,WAF前置七層代理(如CDN、高防)但未啟用代理配置,可能出現源IP識別不準導致的誤殺
爬蟲用戶端
Meta-ExternalAgent、perplexitbot、chatgpt等AI爬蟲流量
低風險
Python工具流量
低風險
爬蟲工具流量
低風險
疑似BOT
規則分類
規則名稱
誤殺風險說明
操作行為分析
所有規則
中風險,可能誤殺滑鼠靈敏度過低的使用者
指令碼用戶端
所有規則
低風險,需要根據業務情況判斷,例如Native APP 環境不能開啟Okhttp工具流量規則;使用flutter構建業務關聯時,不能開啟Dart工具流量規則
IDC機房
所有規則
中風險,對於支付回調介面,阿里雲無影訪問,WAF前置七層代理但未啟用代理配置情境,可能誤殺
威脅情報
偽造搜尋引擎蜘蛛
低風險
爬蟲威脅情報IP庫、爬蟲威脅情報指紋庫
中風險,對於公用出口網路(如小區寬頻、公司)或WAF前置七層代理但未啟用代理配置情境,可能出現源IP識別錯誤導致誤殺,建議將處置動作設為滑塊或JS校正
AI智能防護
路徑序列異常、裝置異常、惡意團夥行為、資源分布異常、時序異常
中風險,對於公用出口網路(如小區寬頻、公司)或WAF前置七層代理但未啟用代理配置情境,可能出現源IP識別錯誤導致誤殺,建議將處置動作設為滑塊或JS校正
會話異常
高風險,對於公用出口網路(如小區寬頻、公司)或WAF前置七層代理但未啟用代理配置情境,可能出現源IP識別錯誤導致誤殺,建議將處置動作設為滑塊或JS校正
訪問行為分析
持久性無採集資訊訪問、持久性無Session訪問
低風險,必須整合 WebSDK,否則不攜帶採集資訊
互動軌跡批量重放
低風險
同一Session關聯IP頻繁變化、同一裝置關聯IP頻繁變化
低風險
IP訪問路徑較少、IP訪問路徑較多、用戶端種類頻繁變化、同一IP關聯UA頻繁變化
中風險,對於公用出口網路(如小區寬頻、公司)或WAF前置七層代理但未啟用代理配置情境,可能出現源IP識別錯誤導致誤殺,建議將處置動作設為滑塊或JS校正
友好BOT
規則分類
規則名稱
誤殺風險說明
正常用戶端
所有規則
建議保持預設配置,允許存取請求
編輯規則處置動作
配置項
說明
JS验证
WAF向用戶端返回一段JavaScript驗證代碼,標準瀏覽器將自動執行該代碼。若用戶端正常執行完成,則WAF在一段時間(預設30分鐘)內允許存取該用戶端的所有請求,否則攔截請求。
拦截
攔截命中規則的請求,並向發起請求的用戶端返回攔截響應頁面。
說明WAF預設使用統一的攔截響應頁面,也可以通過自訂響應功能,自訂攔截響應頁面。
观察
不攔截命中規則的請求,僅通過日誌記錄請求命中的情況。在試運行規則時,可以先通過观察模式分析WAF日誌,以確認未產生誤攔截,再將其調整為其他規則動作。
滑块
WAF向用戶端返回滑動驗證頁面。若用戶端成功完成滑動驗證,則WAF在一段時間(預設30分鐘)內允許存取該用戶端的所有請求,否則攔截請求。
严格滑块
WAF向用戶端返回滑動驗證頁面。若用戶端成功完成滑動驗證,則允許存取該請求;否則攔截請求。在此模式下,用戶端每次命中該規則的請求均需進行滑動驗證。
回源标记
表示客戶可以自訂Header名稱及內容(規則類型、規則ID、網頁端UMID),WAF不會直接處理,而是會通過新增Header的方式將命中資訊返回給來源站點,客戶可以與後端風控系統結合做業務側處理。
說明啟用JS验证或滑块後,用戶端通過驗證時,WAF將在回應標頭中通過Set-Cookie 設定名為
acw_sc__v2(JS驗證)或acw_sc__v3(滑塊驗證)的 Cookie。用戶端在後續請求中會在 Cookie 頭中攜帶該標識。
單擊下一步。
步驟三:選擇生效範圍
在生效范围頁面,選中需要應用的防護對象或防護對象組,單擊
表徵圖,將該防護對象或防護對象組移入已选择地區內,單擊确认。
步驟四:Web SDK整合
Bot防護能力依賴SDK採集的資訊,若跳過此步驟,將無法獲得完整的防護能力,因此強烈建議您進行整合。
若防護目標涉及跨域網域名稱,須在WebSDK整合列表頁開啟對應網域名稱的自動整合開關,或完成手動整合配置。
阿里雲提供基於JavaScript的SDK,用於增強Web瀏覽器情境下的防護能力,並解決潛在的相容性問題,提供自動整合與手動整合兩種方式。
自動整合:一鍵開啟整合,無需修改業務代碼。
手動整合:ALB、MSE、APIG、FC、SAE接入的防護對象不支援自動注入WebSDK,需要選擇手動整合方式。
自動整合
在Web防护列表右上方,單擊WebSDK集成列表。為目標防護對象開啟自動注入WebSDK。
建立Web防護模板,並開啟了自動整合Web SDK,將會在HTTP報文的Header中植入
ssxmod_itna、ssxmod_itna2、ssxmod_itna3Cookie用於擷取用戶端瀏覽器指紋資訊。收集指紋資訊包括HTTP報文host欄位、瀏覽器高度和寬度等。啟用自動整合後,系統將自動在相應防護對象的HTML頁面中注入SDK,用於採集瀏覽器環境資訊、黑產工具探針資料及操作行為日誌(不含個人敏感資訊)。
手動整合
在Web防护列表右上方,單擊WebSDK集成列表,然後單擊获取SDK链接。請將擷取到的<script>節點置於頁面上其他所有<script>節點之前以保證最先載入。
日常營運
編輯模板
單擊目標模板操作列的编辑,在编辑模板面板中對模板進行編輯。
刪除模板
單擊目標模板操作列的删除,在删除對話方塊中確認刪除資訊後單擊确认。
複製模板
單擊目標模板操作列的复制,在复制對話方塊中確認複製資訊後單擊确认。
開啟或關閉模板
單擊目標模板模板开关列的
開關,可開啟或關閉該模板。查看規則
單擊目標模板的
表徵圖,查看該模板的規則資訊,單擊目標規則状态列的
開關,可開啟或關閉對應規則。
應用於生產環境
為避免影響正常業務,請勿在生產環境直接建立並啟用模板。建議遵循以下流程進行部署。
配置白名單:在建立模板前,建議建立白名單規則,將可信IP加入白名單,防止可信請求被新規則誤攔截。
灰階測試:模板建立完成後,可以使用以下三種方式,在部署到生產環境前進行觀察測試。
將規則應用於非生產環境進行測試。
將处置动作設定為观察。
開啟規則灰階。
應用至生產環境:確認誤判率在可接受範圍內後,將處置動作調整為目標動作,並應用於生產環境。
持續監控與最佳化:持續關注安全報表與日誌,根據業務變化和實際防護效果,動態調整和最佳化規則。