全部產品
Search
文件中心

Web Application Firewall:使用Bot管理防護Web業務

更新時間:Jan 23, 2026

當網站、H5頁面,或App內嵌H5頁面業務面臨惡意爬蟲、自動化指令碼攻擊、黃牛搶購等威脅時,可以建立Bot-Web防護模板,防禦網頁爬蟲,確保業務安全。

操作步驟

進入Web防護介面。在頂部功能表列,選擇WAF執行個體的資源群組和地區(中国内地非中国内地)。單擊新建模板

步驟一:防護情境定義

  1. 填寫模板名称模板介绍,以便於您進行後續管理。

  2. 選擇防护目标特征,支援全局生效定制匹配条件兩種類型。

    • 全局生效:適用於僅存在網頁/H5環境的情境。

    • 定制匹配条件:適用於除網頁/H5環境外,還存在APP/小程式環境,或希望針對特定的業務介面(如登入、秒殺等)進行防護的情境。

      全局生效

      配置防護目標為全域生效,無需輸入資料流量特徵。

      定制匹配条件

      配置防護目標為定製匹配條件,依據輸入特徵進行匹配。通過單擊新增条件添加一個條件。每個條件由匹配字段逻辑符匹配内容組成。配置樣本如下:

      說明

      若規則包含多個條件,則請求必須滿足所有條件(邏輯與關係),才能命中該規則。關於匹配欄位和邏輯符的詳細說明,請參見匹配條件說明

      匹配字段

      逻辑符

      匹配内容

      說明

      URI Path

      包含

      /login.php

      當請求的路徑包含/login.php時,則請求命中該規則。

      IP

      屬於

      192.1.XX.XX

      當用戶端IP為192.1.XX.XX時,則請求命中該規則。

  3. 勾選是否排除静态文件,靜態檔案請求通常不涉及商務邏輯,且其內容本身不易被用於注入攻擊,排除靜態檔案可減少檢測負載,使WAF專註於保護動態介面。建議選擇預設的靜態檔案類型,也可自訂添加類型。

  4. 單擊创建模板

步驟二:編輯模板規則

  1. 编辑模板頁的人机校验地區,可單擊编辑配置如下人機校正規則。

    1. 選擇驗證模式,支援JS验证令牌挑战兩種類型。

      • JS验证:適用於低強度日常防護情境。

      • 令牌挑战:適用於高強度對抗情境,建議在重點防護時段(如大促活動開始前數分鐘)啟用。

        JS验证

        規則引發後,WAF將返回JS代碼,正常瀏覽器用戶端將執行JS代碼擷取通行證並重發請求,而惡意流量由於未攜帶通行證從而被攔截,認證通過的用戶端在一段時間(預設30分鐘)內,其所有請求將被直接允許存取,無需重複校正。

        令牌挑战

        規則引發後,WAF將返回JS代碼,正常瀏覽器用戶端將執行JS代碼進行請求加簽並重發請求,而惡意請求由於無簽名資訊從而被攔截。可選項:

        • 簽章時間戳異常:指簽章時間戳異常時,請求將被攔截。

        • WebDriver攻擊:指遭遇WebDriver攻擊時,請求將被攔截。

    2. 规则灰度地區,配置規則針對不同維度對象的生效比例。開啟規則灰階後,還需要設定维度灰度比例维度包括:IP自定义Header自定义参数自定义CookieSession网页端UMID

      說明

      規則灰階根據配置的维度生效,而非對請求按比例隨機生效規則。例如,當维度IP灰度比例為10%時,WAF將選擇約10%的IP地址;被選中的IP地址,其所有請求均應用該規則,而非對所有請求按10%的比例隨機應用。

    3. 生效模式地區,選擇規則的生效時間。

      • 永久生效(預設):防護模板開啟時,規則永久生效。

      • 按时间段生效:防護規則僅在指定的一段時間內生效。

      • 按周期生效:防護規則僅在指定的時間周期內生效。

  2. 风险识别地區,可以單擊新建,建立風險識別規則。基於WAF內建的手機號信譽資料庫,實現針對黃牛等異常手機號的訪問阻斷,適用於手機號登入註冊類情境,更多資訊,請參見風險識別

  3. 策略配置地區,基於阿里雲經驗沉澱的常見Bot特徵庫,列舉了恶意BOT疑似BOT友好BOT三類規則,可以單擊目標規則状态列的image表徵圖,開啟或關閉規則,或單擊编辑對規則進行修改。

    重要
    • 誤殺風險提示:以下部分規則存在誤殺(誤攔截)風險,不當的配置可能導致正常請求被攔截。建議在正式啟用規則前,先將处置动作設定為观察,或結合规则灰度,優先在非生產環境進行測試,並根據實際業務特徵進行調優後再上線。

    • CC類規則統計說明:所有CC計數類規則(如IP访问路径较少)在設定的統計時間長度內,一旦達到閾值即刻處置,不會等到統計時間長度結束。統計對象進入黑名單之後,若統計對象的請求繼續觸發規則,系統將持續計數並重新整理其黑名單逾時時間。

    1. 配置建議

      恶意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

      規則分類

      規則名稱

      誤殺風險說明

      正常用戶端

      所有規則

      建議保持預設配置,允許存取請求

    2. 編輯規則處置動作

      配置項

      說明

      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 頭中攜帶該標識。

    3. 編輯規則灰階生效模式

  4. 單擊下一步

步驟三:選擇生效範圍

生效范围頁面,選中需要應用的防護對象或防護對象組,單擊image表徵圖,將該防護對象或防護對象組移入已选择地區內,單擊确认

步驟四:Web SDK整合

重要
  • Bot防護能力依賴SDK採集的資訊,若跳過此步驟,將無法獲得完整的防護能力,因此強烈建議您進行整合。

  • 若防護目標涉及跨域網域名稱,須在WebSDK整合列表頁開啟對應網域名稱的自動整合開關,或完成手動整合配置。

阿里雲提供基於JavaScript的SDK,用於增強Web瀏覽器情境下的防護能力,並解決潛在的相容性問題,提供自動整合與手動整合兩種方式。

  • 自動整合:一鍵開啟整合,無需修改業務代碼。

  • 手動整合:ALB、MSE、APIG、FC、SAE接入的防護對象不支援自動注入WebSDK,需要選擇手動整合方式。

自動整合

Web防护列表右上方,單擊WebSDK集成列表。為目標防護對象開啟自動注入WebSDK。image

說明
  • 建立Web防護模板,並開啟了自動整合Web SDK,將會在HTTP報文的Header中植入ssxmod_itnassxmod_itna2ssxmod_itna3Cookie用於擷取用戶端瀏覽器指紋資訊。收集指紋資訊包括HTTP報文host欄位、瀏覽器高度和寬度等。

  • 啟用自動整合後,系統將自動在相應防護對象的HTML頁面中注入SDK,用於採集瀏覽器環境資訊、黑產工具探針資料及操作行為日誌(不含個人敏感資訊)。

手動整合

Web防护列表右上方,單擊WebSDK集成列表,然後單擊获取SDK链接。請將擷取到的<script>節點置於頁面上其他所有<script>節點之前以保證最先載入。

日常營運

  • 編輯模板

    單擊目標模板操作列的编辑,在编辑模板面板中對模板進行編輯。

  • 刪除模板

    單擊目標模板操作列的删除,在删除對話方塊中確認刪除資訊後單擊确认

  • 複製模板

    單擊目標模板操作列的复制,在复制對話方塊中確認複製資訊後單擊确认

  • 開啟或關閉模板

    單擊目標模板模板开关列的image開關,可開啟或關閉該模板。

  • 查看規則

    單擊目標模板的image表徵圖,查看該模板的規則資訊,單擊目標規則状态列的image開關,可開啟或關閉對應規則。

應用於生產環境

為避免影響正常業務,請勿在生產環境直接建立並啟用模板。建議遵循以下流程進行部署。

  1. 配置白名單:在建立模板前,建議建立白名單規則,將可信IP加入白名單,防止可信請求被新規則誤攔截。

  2. 灰階測試:模板建立完成後,可以使用以下三種方式,在部署到生產環境前進行觀察測試。

    • 將規則應用於非生產環境進行測試。

    • 处置动作設定為观察

    • 開啟規則灰階

  3. 分析測試結果:運行一段時間後,觀察安全報表日誌,查看命中規則的請求是否存在誤判。

  4. 應用至生產環境:確認誤判率在可接受範圍內後,將處置動作調整為目標動作,並應用於生產環境。

  5. 持續監控與最佳化:持續關注安全報表與日誌,根據業務變化和實際防護效果,動態調整和最佳化規則。

配額與限制

  • 策略配置中的浏览器探针设备伪造操作行为分析AI智能防护访问行为分析類規則必須整合Web SDK,否則無法正常使用。

  • 策略配置中的爬虫客户端脚本客户端AI智能防护访问行为分析類規則不支援ALB、MSE、APIG、FC、SAE接入的防護對象。

  • ALB、MSE、APIG、FC、SAE接入的防護對象不支援自動整合WebSDK,需要選擇手動整合方式。