waf外掛程式實現了基於ModSecurity的規則防護引擎,可以根據使用者配置的規則屏蔽可疑請求,並支援OWASP CRS,為網站提供基礎的防護功能。本文介紹如何配置waf外掛程式。
說明
該外掛程式基於開源ModSecurity規則,預設規則為靜態規則,不具備識別最新的安全風險並即時更新規則集的能力,如需擷取更強大的安全防護能力,請參見為MSE執行個體開啟WAF防護。
外掛程式類型
安全防護。
配置欄位
名稱 | 資料類型 | 填寫要求 | 預設值 | 描述 |
useCRS | bool | 選填。 | false | 是否開啟OWASP CRS,詳情可參考coreruleset。 |
secRules | array of string | 選填。 | - | 使用者自訂的waf防護規則,文法規則可參考ModSecurity中文手冊。 |
配置樣本
預設配置
啟用預設配置,進行攔截。
useCRS: true啟用預設配置,僅觀測,不攔截。
useCRS: true
secRules:
- "SecRuleEngine DetectionOnly"自訂防護規則
useCRS: true
secRules:
- "SecRule REQUEST_URI \"@streq /admin\" \"id:101,phase:1,t:lowercase,deny\""
- "SecRule REQUEST_BODY \"@rx maliciouspayload\" \"id:102,phase:2,t:lowercase,deny\""根據該配置,下列請求將被禁止訪問。
curl http://example.com/admin
curl http://example.com -d "maliciouspayload"對特定路由或網域名稱開啟
useCRS: true
secRules:
- "SecRule REQUEST_URI \"@streq /admin\" \"id:101,phase:1,t:lowercase,deny\""
- "SecRule REQUEST_BODY \"@rx maliciouspayload\" \"id:102,phase:2,t:lowercase,deny\""在route-1路由做如下外掛程式配置:
secRules:
- "SecAction \"id:102,phase:1,deny\""在*.example.com和test.com兩個網域名稱做如下外掛程式配置:
secRules:
- "SecAction \"id:102,phase:1,pass\""說明
route-1即在建立網關路由時填寫的路由名稱,當匹配到該路由時,將使用此段配置。*.example.com和test.com用於匹配請求的網域名稱,當發現網域名稱匹配時,將使用此配置。配置的匹配生效順序,將按照規則的排列順序,匹配第一個規則後生效對應配置,後續規則將被忽略。