如果您的網站需要自訂控制使用者的存取原則,您可以在自訂規則中佈建要求匹配條件,並通過攔截、觀察等方式控制匹配到的使用者請求,協助您的網站更加靈活的限制使用者可訪問的內容。
用戶端 IP 歸屬的準確性說明
使用 WAF 自訂規則結合規則引擎來攔截用戶端請求時,由於規則引擎對用戶端 IP 歸屬的「洲」、「國家 / 地區」、「省份」、「電訊廠商」資訊無法做到 100% 準確,很可能存在誤識別的情況,因此請謹慎使用。
如果出現用戶端 IP 歸屬資訊識別不準確的情況,可以使用白名單規則允許存取指定的 IP 位址,避免正常的用戶端 IP 被 WAF 誤攔截。
配置自訂規則
執行動作說明
攔截:表示攔截命中規則的請求,並向發起請求的用戶端返回攔截響應頁面。
說明若需要在攔截操作中自訂攔截頁面時,請參見自訂頁面。
觀察:表示不攔截命中規則的請求,只通過日誌記錄請求命中了規則。您可以通過WAF日誌,查詢命中當前規則的請求,分析規則的防護效果(例如,是否有誤攔截等)。觀察模式方便您試運行首次配置的規則,待確認規則沒有產生誤攔截後,再將規則設定為攔截模式。
說明只有開通Log Service,您才可以使用日誌查詢功能。
JS挑戰:表示ESA向用戶端返回一段正常瀏覽器可以自動執行的JavaScript代碼。如果用戶端正常執行了JavaScript代碼,則ESA在一段時間(預設30分鐘)內允許存取該用戶端的所有請求(不需要重複驗證),否則攔截請求。
滑塊挑戰:ESA向用戶端返回滑動驗證頁面。如果用戶端成功執行滑動驗證,則ESA在 30 分鐘(預設)內允許存取該用戶端的所有請求,否則攔截請求。
說明如果結果為通過(即正常使用者成功完成滑塊挑戰),則計入流量。如果結果為攔截,則免計流量。
WAF自訂規則、頻次控制規則的JS挑戰和滑塊驗證僅適用於靜態頁面。如需相容
XMLHttpRequest、Fetch等非同步介面響應,需在Bots中啟用JS挑戰和滑塊驗證。啟用後,當請求命中規則時,ESA對用戶端發起JS挑戰或滑塊驗證,當用戶端通過後將會在HTTP報文的Header中分別植入Cookie acw_sc__v2和acw_sc__v3,用於表示用戶端已通過驗證。
嚴格滑塊挑戰:嚴格滑塊驗證模式下,用戶端的每次請求都需要驗證(無滑塊挑戰的30分鐘內允許存取已通過挑戰用戶端請求的特性),請按需謹慎開啟。且嚴格滑塊挑戰僅Enterprise可申請開通使用。
如需一點即過等更多驗證碼類型,可使用AI驗證碼功能,支援一點即過、滑塊、旋轉等驗證方式,在 ESA 控制台單獨配置。
配置樣本
情境:通過安全分析或事件分析中發現了IP為192.168.0.1的用戶端向主機dns.example.com發起了異常請求行為。
配置方式:
參數 | 樣本值 |
如果請求匹配以下規則... | 同時滿足:
可直接編輯使用運算式: |
則執行… | 攔截並響應預設攔截頁面 |
防護效果:符合自訂規則條件的請求將被攔截。
不同套餐的支援情況
功能項 | Entrance | Pro | Premium | Enterprise |
自訂規則條數 | 5條 | 20條 | 100條 | 100條 |
Entrance版套餐不支援 Ip.Geoip.Country 等資源類型匹配條件。若在自訂規則中使用該欄位,系統將報錯 Ip.Geoip.Country.NotSupport,需升級套餐方可使用地理位置相關匹配條件。
常見問題
相關文檔
規則相關的功能,在生效優先順序、可重新進入性、生效顆粒度上存在差異,詳細情況請查看規則相關功能的特性說明。