全部產品
Search
文件中心

Web Application Firewall:防護對象和防護對象組

更新時間:Jan 28, 2026

配置防護模板時,需指定防護對象作為其應用目標。Web Application Firewall(Web Application Firewall,簡稱WAF)為每個接入的資產自動產生一個防護對象,通常無需手動設定。但在以下情境中,仍需手動調整防護對象或防護對象組:接入資產數量較多、防護規則複雜,或涉及特定解碼、Cookie、自訂回應標頭等進階配置需求。本文介紹如何配置與管理防護對象及防護對象組,以實現更精細、高效的安全防護。

關鍵概念

  • 防護對象:每個接入 WAF 的網域名稱或雲產品執行個體,系統會為其自動建立一個防護對象。在後續使用防護模板的過程中,需要選擇防護對象作為模板的生效對象。

  • 防護對象組:可以將多個防護對象加入一個防護對象組,以便集中管理。一個防護對象只能歸屬於一個防護對象組。

適用範圍

在開始本文的配置前,需滿足以下條件:

  • 接入要求:已存在防護對象(已將Web業務接入WAF),若尚未將業務接入,請參見接入概述

  • 網域名稱備案:若需要為雲產品接入資源對應的網域名稱添加防護對象,且網域名稱託管在中國內地伺服器上,則網域名稱需完成 ICP 備案。更多資訊,請參見如何查看網域名稱ICP備案資訊?

添加防護對象

資源接入WAF後,系統將自動為其建立一個防護對象,通常無需手動添加。但在以下情況下,需手動將網域名稱添加為防護對象:

  • 雲產品接入情境:多個網域名稱解析指向同一雲產品執行個體,且需為各網域名稱分別配置不同的防護規則。

  • 混合雲SDK整合情境:多個網域名稱解析指向同一叢集執行個體,且需為各網域名稱分別配置不同的防護規則。

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

  2. 在左側導覽列,選擇防护配置 > 防护对象

  3. 防护对象頁簽,單擊添加防护对象

  4. 添加防护对象對話方塊,根據防护对象接入类型完成以下配置,單擊确定

    云产品

    配置項

    說明

    域名

    填寫需防護的網域名稱,包括精確網域名稱(如www.aliyundoc.com)或萬用字元網域名稱(如*.aliyundoc.com)。

    說明
    • 萬用字元網域名稱匹配規則:僅能匹配同層級子網域名稱。例如*.aliyundoc.com能夠匹配www.aliyundoc.comexample.aliyundoc.com等,但不能匹配aliyundoc.comwww.example.aliyundoc.com

    • 優先順序規則:當精確網域名稱和萬用字元網域名稱同時存在,且需防護的網域名稱同時匹配這兩者時,系統優先應用精確網域名稱的防護規則。

    云产品

    選擇網域名稱對應的雲產品接入執行個體類型。可選項:

    • ALB:應用型負載平衡ALB。

    • CLB4:傳統型負載平衡CLB,監聽協議為TCP。

    • CLB7:傳統型負載平衡CLB,監聽協議為HTTP/HTTPS。

    • ECS:Elastic Compute Service。

    • NLB:網路型負載平衡NLB。

    執行個體

    選擇ALB執行個體ID。僅云产品類型選擇為ALB時,需配置該項。

    加入防护对象组:

    可將防護對象按需加入指定的防護對象組,以便批量管理防護規則。
    防護對象加入對象組後,僅能通過防護對象組配置防護規則,不再支援為其單獨配置防護規則。

    资源组

    按需將防護對象加入資源群組,簡化資源管理和許可權配置,提升管理效率。無配置需求時,請選擇預設資源群組。更多資訊,請參見什麼是資源群組

    混合云SDK集成

    配置項

    說明

    防护对象名称

    填寫一個便於識別的名稱。

    域名/IP

    填寫需防護的網域名稱,包括精確網域名稱(如www.aliyundoc.com)或萬用字元網域名稱(如*.aliyundoc.com)。

    說明
    • 萬用字元網域名稱匹配規則:僅能匹配同層級子網域名稱。例如*.aliyundoc.com能夠匹配www.aliyundoc.comexample.aliyundoc.com等,但不能匹配aliyundoc.comwww.example.aliyundoc.com

    • 優先順序規則:當精確網域名稱和萬用字元網域名稱同時存在,且需防護的網域名稱同時匹配這兩者時,系統優先應用精確網域名稱的防護規則。

    URL

    填寫需防護的URL路徑。

    加入防护对象组:

    可將防護對象按需加入指定的防護對象組,以便批量管理防護規則。
    防護對象加入對象組後,僅能通過防護對象組配置防護規則,不再支援為其單獨配置防護規則。

    资源组

    按需將防護對象加入資源群組,簡化資源管理和許可權配置,提升管理效率。無配置需求時,請選擇預設資源群組。更多資訊,請參見什麼是資源群組

配置防護對象的進階防護行為

WAF提供了以下進階設定,可以單擊目標防護對象操作列的设置,跟據具體業務需求與安全性原則,對防護對象的行為進行深度定製。

配置項

適用情境與說明

用戶端IP設定

WAF前存在七層代理(如CDN)時,需設定客户端IP判定方式,確保WAF能夠擷取真實的用戶端IP資訊,以便進行安全分析(例如:安全报表攻击源IP)。

cookie設定

使用CC防护掃描防護等防護模組,以及配置規則動作為滑块時,WAF會在響應中通過 Set-Cookie 下發跟蹤與驗證 Cookie,可按需配置其下髮狀態與 Secure 屬性,以滿足安全合規與業務相容性需求。

自訂回應標頭部

對於CNAME接入的網域名稱,WAF支援在返回給用戶端的響應中插入自訂頭部,用於安全強化、策略控制或調試標識。

解碼設定

WAF支援按需對JSON、XML、Form等資料格式及Base64、HTML實體等多種編碼方式進行解析與還原,確保識別隱藏在多層編碼或壓縮中的惡意流量。

帳號提取配置

允許 WAF 從請求中智能提取使用者身份資訊(如使用者名稱、Token、JWT 主體等),並應用於掃描防護BOT管理自定义规则模組,實現基於帳號維度精細化安全管控。

處置動作到期時間設定

當用戶端成功完成JS验证滑块令牌挑战驗證後,WAF預設在1800秒(30分鐘)內允許存取該用戶端的後續請求,期間同一會話不再觸發驗證。該到期時間可配置,取值範圍為5至1800秒。超過設定的到期時間後,用戶端再次發起請求將重新觸發相應驗證機制。

  • WAF链路设置頁簽,配置WAF前是否有七层代理(高防/CDN等)。詳細資料,請參見擷取真實用戶端資訊

    說明

    對於CNAME接入的網域名稱以及雲產品接入的ECS、CLB、NLB執行個體,若已在資源接入階段完成該配置,則無需重複操作。

  • WAF链路设置頁簽,配置跟踪cookie滑块cookie

    • 跟踪cookie:使用CC防護、掃描防護等功能時,WAF預設會下發名為 acw_tc 的 Cookie,用於識別和統計不同用戶端的訪問行為。可以通過下发状态開關,開啟或關閉跟踪cookie。若僅允許該Cookie被下發到HTTPS請求中,可以開啟secure属性

      重要
      • 配置建議:建議開啟跟蹤Cookie的下发状态開關,否則將影響CC防護、掃描防護等防護模組的使用。

      • 防護對象組限制:加入某個防護對象組的防護對象預設開啟跟踪cookie,且不支援關閉跟踪cookie或開啟secure属性

      • 生效規則:如果請求命中多個防護對象時,任意一個防護對象開啟跟踪cookiesecure属性,所有被命中的防護對象都會同步開啟相同的功能。

    • 滑块cookie:滑塊驗證通過後,WAF預設會下發名為 acw_sc__v3的Cookie,用於標記該驗證動作。若僅允許該Cookie被下發到HTTPS請求中,可以開啟secure属性

      重要
      • 開啟滑塊Cookie的secure属性後,將影響HTTP網站滑塊功能的正常使用。

      • 加入某個防護對象組的防護對象預設關閉secure属性,且不支援開啟。

  • 自訂回應標頭部(僅限CNAME接入)

    WAF链路设置頁簽,配置自訂回應標頭部。最多支援添加5個。若自訂回應標頭部的Header名與來源站點返回的回應標頭名稱相同,那麼該回應標頭的將被替換為此處配置的Header值

  • 解码设置頁簽進行配置,具體說明,請參見附錄:解碼設定說明

  • 账号提取配置頁簽進行配置,每個防護對象支援配置5條,按照優先順序排序。

    • 帳號提取的網站可選取擇:

      • Query String

      • Body

      • Cookie

      • Header

    • 帳號格式:

      • 明文:如email***@qq.com。

      • jwt认证:通常在Header中,可以攜帶使用者資訊,通常格式為Authorization : Bearer {Token},如果是JWT格式,需要額外指定解開後的帳號欄位。

      • basic认证:通常在Header中,通常格式為Authorization : Basic {Token}

  • 处置动作过期时间设置頁簽進行如下配置。

    • JS校验过期时间规则动作JS验证時,驗證結果的有效時間長度。

    • 动态令牌过期时间使用Bot管理防護Web業務時,令牌挑战驗證模式下驗證結果的有效時間長度。

    • 滑块过期时间规则动作滑块時,驗證結果的有效時間長度。

使用防護對象組管理防護對象

當需要為大量防護對象應用相同的防護規則時,使用防護對象組可以極大地提升管理效率。

  1. 在WAF控制台左側導覽列,選擇防护配置 > 防护对象

  2. 防护对象组頁簽,單擊新建对象组

  3. 新建防护对象组對話方塊,填寫防護對象組名稱、選擇关联防护对象、添加备注資訊後,單擊确定

    說明
    • 关联防护对象中的待选择对象列表僅包含滿足以下條件的防護對象:未加入任何防護對象組,且僅應用了預設防護模板或未應用任何防護模板。

    • 已歸屬於某一防護對象組的防護對象不可再加入其他對象組;須先將其從原組中移出,才可加入其他組。

  4. 後續在建立防護模板時,可將生效对象選擇為防护对象组,使模板對防護對象組中的所有對象生效。

日常營運

管理防護對象

  • 查看防護對象已配置的防護規則:單擊目標防護對象操作列的查看防护规则,在Web 核心防护頁面,展示當前防護對象已關聯的防護模板(已配置的防護規則)。

  • 將防護對象加入防護對象組:單擊目標防護對象操作列的image > 加入对象组。或選中多個防護對象,單擊列表下方的加入防护组

  • 查看防護對象日誌:若您已開啟Log Service,可以單擊目標防護對象操作列的image > 查看防护日志.

  • 刪除防護對象:單擊目標對象名稱操作列的删除。僅手動添加的網域名稱防護對象支援刪除操作,自動產生的防護對象需要通過取消接入操作進行刪除。

管理防護對象組

  • 調整防護對象組中的防護對象:在防护对象组頁簽,單擊目標防護對象組操作列的编辑,將防護對象移入或移出當前對象組。防護對象被移出當前對象組後,將自動應用預設防護模板。

  • 調整防護對象組已配置的防護規則:在防护对象组頁簽,單擊目標防護對象組操作列的配置规则,查看並調整當前防護對象組已關聯的防護模板(已配置的防護規則)。

  • 刪除防護對象組:在防护对象组頁簽,定位到目標防護對象組,單擊操作列的删除

配額與限制

  • 防護對象數量限制:不同WAF版本下,支援的防護對象、防護對象組數量,以及單個防護對象組可添加的防護對象數量存在差異,具體資訊請參見版本說明。可以訪問防護對象頁面,查看可用的防護對象數,若已用完所有防護對象規格,請通過刪除防護對象或升級版本解決。image.png

  • 防護對象預留規則:針對訂用帳戶執行個體,WAF將預留版本內免費網域名稱和額外擴充網域名稱對應的防護對象規格。例如,已開通訂用帳戶進階版執行個體(版本內包含5個免費網域名稱、最多可添加600個防護對象),若額外購買2個域名扩展規格,WAF會預留7個(5+2)防護對象規格,最多還可以添加593個(600-7)防護對象。

  • 防護對象配置限制:雲產品接入的MSE執行個體、FC自訂網域名不支援cookie设置。雲產品接入的FC、MSE執行個體不支援解码设置

附錄:解碼設定說明

重要
  • 雲產品接入ALB執行個體時,預設不開啟base64解碼,可按需進行開啟。

  • 對於混合雲接入形態,需升級至xagent4.1.0版本後,解碼設定依據使用者配置生效。

Key-Value 解析

  • json解析

    • 說明:JSON解析模組基於RFC 7159標準實現JavaScript Object Notation格式的解析與重構機制。該模組支援JSON文法規範的解析,包括索引值對對象、數組、字串及數位識別與處理。解析過程包含語法驗證、資料類型轉換、嵌套結構處理及Unicode逸出序列解碼,通過標準化JSON格式解析提升WAF規則對JSON載荷中惡意內容的檢測能力。

    • 樣本:輸入{"Hello":"World"},JSON解析後提取出keyHellovalueWorld

  • xml解析

    • 說明:XML解析模組基於XML規範(W3C Recommendation)實現可延伸標記語言 (XML)的解析與重構機制。該模組支援XML文檔結構的完整解析,包括元素、屬性、常值內容、CDATA段及處理指示的識別與處理。解析過程包含語法驗證、實體引用解析、命名空間處理及文檔結構標準化,通過正常化XML格式解析提升WAF規則對XML載荷中惡意內容的檢測能力。

    • 樣本:輸入<Hello attr="desc"><![CDATA[World]]></Hello>,XML解析後提取出keyHellovalueWorldkey2Hello.attrvalue2desc

  • form解析

    • 說明:Form解析模組基於RFC 1866標準實現application/x-www-form-urlencoded格式的解析與重構機制。該模組支援HTML表單資料的完整解析,包括索引值對參數、數組參數、檔案上傳欄位及嵌套結構的識別與處理。解析過程包含URL解碼、字元集處理、參數分隔字元識別及資料類型轉換,通過標準化表單資料格式解析提升WAF規則對錶單載荷中惡意內容的檢測能力。

    • 樣本:輸入Hello=World,Form解析後提取出keyHellovalueWorld

  • multipart解析

    • 說明:Multipart解析模組基於RFC 2046標準實現multipart/form-data格式的解析與重構機制。該模組支援HTTP檔案上傳及複雜表單資料的完整解析,包括檔案欄位、文字欄位、界限分隔符號及嵌套結構的識別與處理。解析過程包含邊界檢測、欄位解析、檔案內容提取及編碼轉換,通過標準化multipart格式解析提升WAF規則對檔案上傳及複雜表單載荷中惡意內容的檢測能力。

    • 樣本:輸入如下內容,Multipart解析後提取出keyHellovalueWorld

      ------WebKitFormBoundary7MA4YWxkTrZu0gW 
      Content-Disposition: form-data; name="Hello"
      
      World
      ------WebKitFormBoundary7MA4YWxkTrZu0gW--
  • GraphQL 解析

    • 說明:GraphQL解析模組基於GraphQL規範實現查詢語言的解析與重構機制。該模組支援GraphQL查詢語句、變數定義、參數傳遞及指令的完整解析,包括欄位選擇、查詢參數、變數替換、別名定義及巢狀查詢的識別與處理。解析過程包含URL參數解析、JSON載荷處理、純GraphQL語句解析及multipart檔案上傳格式支援,通過正常化GraphQL格式解析提升WAF規則對GraphQL載荷中惡意內容的檢測能力。

    • 樣本:輸入查詢HelloWorld{ desc(Hello:"World"){ Hello } },GraphQL結合提取出keyHellovalueWorld

解碼

  • base64解碼

    • 說明:Base64解碼引擎實現RFC 4648標準定義的Base64編碼逆向轉換演算法。該模組採用標準Base64字元集(A-Z, a-z, 0-9, +, /)及填充字元(=)的正常化處理。解碼過程包含字元驗證、填充處理、位元組對齊及資料完整性校正,確保位元據的準確性和傳輸可靠性。

    • 樣本:輸入SGVsbG8gV29scmQh,Base64解碼後輸出Hello Wolrd!

  • html實體解碼

    • 說明:HTML實體解碼引擎基於HTML 5.2規範(W3C Recommendation)實現字元實體引用的解析機制。該模組支援數字字元引用(&#x;)、命名字元實體(&amp;)的標準化處理。

    • 樣本:輸入&#72;&#101;&#108;&#108;&#111;&#32;&#87;&#111;&#114;&#108;&#100;&excl;輸出:Hello World!

  • PHP 反序列化解码

    • 說明:PHP序列化解碼引擎實現PHP serialize()函數的逆向操作機制。該模組基於PHP序列化協議規範,解析序列化格式的文法結構,包括類型標識符(i, s, a, O等)、長度中繼資料及遞迴資料結構。解碼過程包含類型驗證、記憶體安全檢查及對象圖重建,支援標量類型、複合類型及對象序列化的完整解析。

    • 樣本:輸入payload=O:5:"Hello":1:{s:4:"desc";s:6:"World!";},PHP還原序列化解碼後提取出keypayload.Hello.desc,對應的valueWorld!

  • Java 反序列化解码

    • 說明:Java還原序列化解碼(Java Deserialization Decoding)基於Java序列化協議實現ObjectInputStream的逆向操作。該模組解析Java序列化流的二進位格式,包括類描述符、欄位中繼資料及對象狀態資訊。解碼過程遵循JVM序列化規範,支援複雜物件圖的遞迴解析。

    • 樣本:輸入rO0ABXNyABFqYXZhLnV0aWwuSGFzaE1hcAUH2sHDFmDRAwACRgAKbG9hZEZhY3RvckkACXRocmVzaG9sZHhwP0AAAAAAAAx3CAAAABAAAAABdAAFSGVsbG90AAZXb3JsZCF4,Java還原序列化解碼後提取到其中的Java類為java.util.HashMap

  • UTF-7 解码

    • 說明:UTF-7解碼引擎基於RFC 2152標準實現可變長度字元編碼的轉換機制。該模組處理UTF-7的編碼標記(+/-)及Base64編碼的Unicode字元序列。解碼演算法支援7位ASCII環境的Unicode傳輸,包含編碼狀態機器、字元集切換及傳統協議相容性處理,適用於郵件系統及MIME訊息傳輸情境。

    • 樣本:輸入+/v8 +AEgAZQBsAGwAbwAgAFcAbwByAGwAZAAh-,輸出Hello World!

  • Unicode解码

    • 說明:Unicode解碼(Unicode Decoding)是基於Unicode標準(ISO/IEC 10646)的字元編碼轉換機制。該模組實現UTF-16逸出序列的解析,支援\uXXXX四位元組十六進位標記法及\u{XXXXXX}擴充格式。解碼過程遵循Unicode 15.0規範,確保字元編碼的標準化處理。

    • 樣本:輸入\u0048\u0065\u006c\u006c\u006f\u0020\u0057\u006f\u0072\u006c\u0064\u0021,Unicode解碼後輸出Hello World!

  • URL解碼

    • 說明:URL解碼(URL Decoding)基於RFC 3986標準實現百分比符號編碼(Percent-Encoding)的逆向轉換。該機制處理URI通用文法中的保留字元、非ASCII字元和特殊字元編碼。解碼演算法遵循application/x-www-form-urlencoded MIME類型規範,支援HTTP請求參數的標準解析。

    • 樣本:輸入Hello%20World%21,URL解碼後輸出Hello World!

  • hex解碼

    • 說明:十六進位解碼(Hexadecimal Decoding)實現基於RFC 4648標準的十六進位字串到位元據的轉換。該模組採用大端序(Big-Endian)位元組序處理,支援標準十六進位字元集(0-9, A-F, a-f)。解碼過程包含輸入驗證、字元正常化及位元組對齊處理。

    • 樣本:輸入\x48\x65\x6c\x6c\x6f\x20\x57\x6f\x72\x6c\x64\x21,Hex解碼後輸出Hello World!

  • Oct解码

    • 說明:OCT八進位解碼引擎用於處理以反斜線加八位元字表示的字元編碼(如 \123)。該模組基於ASCII編碼錶,將八位元轉換為對應字元,支援標準0–377(即0–255)的八進位範圍,並可批量解析混合文本中的八進位逸出序列。

    • 樣本:輸入\110\145\154\154\157\040\127\157\162\154\144\041,Oct解碼後輸出Hello World!

解壓縮

  • GZIP 解压

    • 說明:Gzip解碼引擎基於RFC 1952標準實現,採用DEFLATE壓縮演算法的解壓縮機制。該模組處理Gzip檔案格式的頭部解析(魔數0x1f8b、壓縮方法、標誌位)、CRC32校正及壓縮資料區塊的解壓。解碼演算法支援串流和批量解壓,包含狀態機器管理、多成員檔案處理及錯誤恢複機制,適用於Web傳輸、檔案歸檔及資料壓縮情境。

    • 樣本:輸入二進位檔案資料1f 8b 08 00 11 39 00 69 00 ff 01 0c 00 f3 ff 48 65 6c 6c 6f 20 57 6f 72 6c 64 21 a3 1c 29 1c 0c 00 00 00(為方便排版,此處以HEX格式呈現),GZIP解碼後輸出Hello World!

預先處理

  • 注释压缩

    • 說明:注釋刪減模組基於SQL標準及MySQL擴充文法實現注釋文法的識別與移除機制。該模組支援ANSI SQL標準定義的兩種注釋格式:單行注釋(--後跟任一字元至行尾)及多行注釋(/* /包圍的任一字元序列),同時相容MySQL特有的條件注釋文法(/! ... /)。解碼過程包含注釋標記識別、嵌套注釋處理、版本條件解析及文法邊界驗證,通過移除注釋內容提升WAF規則引擎對惡意SQL語句的檢測精度,有效降低攻擊者利用注釋進行規則繞過的風險。

    • 樣本:輸入/*!40101 SET */@OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT ;,注釋刪減處理後輸出SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT ;

  • 空格压缩

    • 說明:空格刪減模組實現多空白字元的正常化處理機制。該模組檢測輸入字串中的連續空格序列,將多個連續空白字元壓縮為單個空白字元。處理過程包含前置空格、尾隨空格及中間連續空格的統一處理,確保文字格式設定的標準化和一致性。

    • 樣本:輸入Hello World!,空格刪減處理後輸出Hello World!