接入Web Application Firewall (WAF)後,您可以通過設定Web核心防護規則和防護規則群組,協助Web業務防禦SQL注入、XSS跨站、代碼執行、WebShell上傳、命令注入等常見的Web應用攻擊。本文介紹如何設定Web核心防護規則和規則群組。
本文介紹的是舊版本的核心防護,新Web核心防護規則的升級內容詳見【公告】WAF 3.0基礎防護規則功能更新,如果您的控制台已經更新到新版本或者這是您第一次使用核心防護功能請參照新版Web核心防護規則。
背景資訊
支援的解碼
Web核心防護規則支援23種不同格式的解碼,包括:
JSON、XML、Multipart等資料格式的解析,用以提升檢測的準確率。
Unicode、HTML實體等多種編碼繞過的識別,用以提升檢測的召回率。
支援的檢測模組
規則防護(預設開啟)
基於模式比對的防護方法,依賴於預定義的規則(即規則群組)來識別已知的攻擊模式,可防禦常見Web應用攻擊。
WAF按照防護嚴格程度,內建了三套默认規則群組:
中等规则组:預設選用該規則群組。
宽松规则组:如需減少誤攔截,可選用該規則群組。
严格规则组:如需提高攻擊檢測命中率,可選用該規則群組。
您也可以根據業務需要,配置自定义規則群組。
語義防護(預設開啟)
更智能的防護方法,通過分析請求的內容和上下文來理解語義與文法結構,能夠更好地識別未知的攻擊形式,可防禦SQL注入攻擊。
智能營運(預設關閉)
根據歷史業務流量進行AI學習,發現URL粒度不適用的規則,並自動添加白名單,有效降低誤攔截風險。
支援的防護模板
模板 | 預設防護模板 | 自訂防護模板 | |
產生方式 | 系統初始提供。 | 使用者建立。 | |
檢測模組 | 規則防護 | 預設開啟,應用中等规则组、攔截模式。 | 自訂應用的規則群組(包括預設規則群組和自訂規則組)、规则动作。 |
語義防護 | 預設開啟,應用观察模式,並開啟針對非注入型攻擊的完整SQL语句检测開關。 | 自訂應用的规则动作,根據業務情況開啟或關閉完整SQL语句检测。 | |
智能營運 | 預設關閉。 | 根據業務情況開啟或關閉智能白名单。 | |
生效對象 | 對沒有關聯自訂防護模板的防護對象或對象組預設生效。 | 選中的防護對象或對象組。 | |
前提條件
已開通訂用帳戶版WAF 3.0或隨用隨付版WAF 3.0服務。
如果需要建立自訂規則組,請確認已開通的執行個體為訂用帳戶企業版或旗艦版,或隨用隨付版。
已將Web業務添加為WAF 3.0的防護對象和防護對象組。
建立自訂規則組
自訂規則組可以從零建立,也可以在預設規則群組的基礎上建立。
登入Web Application Firewall3.0控制台。在頂部功能表列,選擇WAF執行個體的資源群組和地區(中国内地、非中国内地)。
在左側導覽列,選擇。
在Web 核心防护规则地區,單擊规则组管理。
在规则组管理頁面,單擊新建规则组。
配置规则组基本信息後,單擊下一步。
重要自訂規則組建立完畢後,规则组基本信息不允許再次修改。
配置項
說明
规则组名称
為該規則群組設定一個名稱。
支援中文和大小寫英文字母,可包含數字、半形句號(.)、底線(_)和短劃線(-)。
选择规则模板
為該規則群組選擇防護模板,可選項:
无模板,从零创建:不指定模板,自訂添加規則。
重要選擇該選項後,是否自动更新開關預設關閉,且不支援修改。
默认规则组:基於阿里雲安全內建的防護規則群組,支援寬鬆規則群組、中等規則群組和嚴格規則群組。
是否自动更新
開啟後,官方預設規則群組中新增或移除的規則(例如0day應急規則或不再適用的規則)將自動同步到當前自訂規則組。
重要自訂規則組建立完畢後,此設定不允許再次修改。
僅选择规则模板配置為默认规则组時,支援開啟或關閉該開關。
在设置防护规则設定精靈頁,單擊添加规则,通過輸入规则ID或检测模块/漏洞编号,設定危险等级、防护类型、应用类型,篩選並選中規則庫的防護規則,單擊添加;或單擊全部添加。
說明如果在步驟5將选择规则模板配置為默认规则组,且要添加的規則已在規則庫中,可跳過該步驟。
規則列表的規則預設按照更新時間倒序排列。
完成添加後,如果您需要刪除已添加的防護規則,可在規則列表,通過輸入規則ID或漏洞编号,設定危险等级、防护类型、应用类型,篩選並選中防護規則,單擊移除;或單擊清除所有。
單擊下一步後,在创建完成嚮導頁,單擊完成。
成功建立規則群組後,您可以在規則群組列表執行如下操作:
單擊内置规则数列的數字,查看規則群組內建的規則。
编辑、复制或删除規則群組。
說明防護規則群組基本資料不允許修改。
複製後的規則群組預設命名為“原規則群組名稱-copy”。複製後的規則群組無關聯防護對象。
已關聯防護模板的規則群組不允許被刪除。如果您需要刪除該規則群組,請先刪除與Web核心防護規則的關聯關係。
建立自訂防護模板
在左側導覽列,選擇。
在Web 核心防护頁面下方Web 核心防护规则地區,單擊新建模板。
說明首次建立Web核心防護規則模板時,也可在Web 核心防护頁面上方的Web 核心防护规则卡片地區,單擊立即配置。
在新建模板面板,完成以下模板配置後,單擊确定。
說明建立的防護模板預設開啟。
配置項
說明
模板信息
模板名称:
為該模板設定一個名稱。
支援中文和大小寫英文字母,可包含數字、半形句號(.)、底線(_)和短劃線(-)。
是否设置为默认模板:
選擇是否將該模板設定為當前防護模組的預設範本。
一個防護模組只允許設定一個預設範本。預設範本無需設定生效对象,預設應用於所有未關聯到自訂防護模板的防護對象和對象組(包括後續新增、從自訂防護模板中移除的防護對象和對象組),您也可以手動將它們從預設範本中移出。
规则配置
规则动作:
選擇當請求命中該規則時,要執行的防護動作。可選項:
拦截:表示攔截命中規則的請求,並向發起請求的用戶端返回攔截響應頁面。
观察:表示不攔截命中規則的請求,只通過日誌記錄請求命中了規則。您可以通過WAF日誌,查詢命中當前規則的請求,分析規則的防護效果(例如,是否有誤攔截等)。
重要只有開啟Log Service,您才可以使用日誌查詢功能。
观察模式方便您試運行首次配置的規則,待確認規則沒有產生誤攔截後,再將規則設定為拦截模式。
說明您可以通過安全報表,查詢攔截類、觀察類防護規則的命中詳情。
规则组类型:
配置Web核心防護規則關聯的規則群組類型並選擇相應的規則群組。可選項:
默认:選擇該項後,關聯預設規則群組,支援宽松规则组、中等规则组和严格规则组。
自定义:選擇該項後,需在下拉式清單中選擇相應的規則群組。關於建立規則群組的具體操作,請參見建立自訂規則組。
语义引擎
语义引擎預設開啟,可防禦SQL注入攻擊。
針對非注入型攻擊,语义引擎提供完整SQL语句检测開關,用於開啟或關閉該檢測。
說明非完整SQL語句和完整SQL語句區別如下:
非完整SQL語句:指請求中包括SQL片段,後端業務可通過拼接,形成完整的SQL,例如
/query.php?name='and 1=1%23。完整SQL語句:指請求中包含完整的SQL,例如
/query.php?sql=select name from users where 1=1%23。
语义引擎支援如下配置:
规则动作:
選擇當請求命中該規則時,要執行的防護動作。可選項:
拦截:表示攔截命中規則的請求,並向發起請求的用戶端返回攔截響應頁面。
观察:表示不攔截命中規則的請求,只通過日誌記錄請求命中了規則。您可以通過WAF日誌,查詢命中當前規則的請求,分析規則的防護效果(例如,是否有誤攔截等)。
重要只有開啟Log Service,您才可以使用日誌查詢功能。
观察模式方便您試運行首次配置的規則,待確認規則沒有產生誤攔截後,再將規則設定為拦截模式。
說明您可以通過安全報表,查詢攔截類、觀察類防護規則的命中詳情。
完整SQL语句检测(預設開啟)
如果WAF檢測到請求中包含非注入型攻擊,即包含完整的SQL(例如
/query.php?sql=select name from users where 1=1%23),WAF會根據設定的規則動作作出相應處置。說明如果您的實際業務存在資料分析情境,例如phpmyadmin、Adminer等,建議關閉此檢測。
协议合规
由於每種語言處理HTTP請求資料格式要求的鬆散程度不同,從而衍生出多種繞過WAF防禦的方式,比較典型的是檔案上傳情境,協議合規主要是從協議層面判斷資料格式是否符合標準,是防禦檔案上傳等類型變種攻擊的利器。
協議合規需要企業版和旗艦版支援,進階版預設不支援,按量單獨計費。
智能运维
開啟智能白名单開關後,WAF將根據歷史業務流量進行AI學習,發現URL粒度不適用的規則,並自動添加白名單,有效降低誤攔截風險。
自動添加的白名單規則會在白名單規則列表的AutoTemplate模板中顯示。更多資訊,請參見查看白名單。
說明僅隨用隨付版、訂用帳戶企業版或旗艦版支援該功能。
生效对象
從已添加的配置防護對象和防護對象組中,選擇要應用該模板的配置防護對象和防護對象組。
一個防護對象或對象組只能關聯一個Web核心防護規則模板。如果您設定了預設防護模板,預設所有未關聯到自訂防護模板的防護對象和對象組勾選為生效;當您沒有設定預設範本,則不會預設勾選防護對象與對象組為生效。生效對象均支援手動修改。
建立的防護模板預設開啟,您可以在防護模板列表執行如下操作:
查看模板關聯的防护对象/组的數量。
通過模板开关,開啟或關閉模板。
為該模板新建规则。
编辑、删除或复制防護模板。
單擊防護模板名稱左側的
表徵圖,查看該防護模板包含的規則資訊。
如果在建立核心防護模板時,已開啟智能白名单開關(防護規則尾碼顯示為
表徵圖),您可以單擊操作列的智能下发记录,查看智能白名單下發記錄。如果未開啟智能白名单開關(防護模板尾碼顯示為
表徵圖),您可以直接在模板列表,開啟或關閉智能白名单開關。
您也可以在Web 核心防护规则地區,單擊规则组管理,查看規則群組與防護模板的關聯關係。
後續操作
您可以在安全报表頁面的Web 核心防护规则頁簽,查詢具體防護規則的命中記錄。例如,您可以在攻擊事件記錄地區,單擊規則ID對應的查看详情,瞭解命中該規則的攻擊詳情。更多資訊,請參見安全報表。
Web 核心防护頁面不支援通過規則ID搜尋具體的Web核心防護規則。如果您認為某個規則誤攔截了正常業務流量,可通過白名单模組設定針對該規則的白名單規則。關於配置白名單規則的具體操作,請參見白名單。
相關文檔
如果您想瞭解WAF 3.0的防護對象、防護模組及防護流程等資訊,請參見防護配置概述。
如果您想使用API建立防護模板,請參見建立防護模板。
如果您想建立一個Web核心防護規則,並配置規則內容,請參見建立Web核心防護規則。