Web 應用防火牆 (WAF)
Web 應用程式防火牆(WAF)旨在保護 Web 應用程式免遭多種網路攻擊,如跨站指令碼攻擊(XSS)、SQL 注入等威脅。
引數說明
引數名 | 資料型別 | 是否必選 | 描述 |
---|---|---|---|
rule_sets | array | 是 | 需要啟用的規則集合名稱列表 |
action | string | 是 | 觸發 WAF 防護時所採取的行為,可選項包括 log (日誌)、403 Forbidden (禁止訪問)、edge-captcha (OpenResty Edge 驗證碼)、redirect (重定向) |
sensitivity | string | 是 | WAF 防護敏感級別,選項有 high (高)、medium (中)、low (低)、none (無) |
score | number | 否 | 當 sensitivity 設定為 none 時,可自定義敏感度分數 |
clearance | number | 否 | 驗證碼觸發後的有效期,預設值為 60 秒 |
redirect_url | string | 否 | 當行為設定為 redirect 時,所指定的重定向 URL |
cross_requests | bool | 否 | 設定為 true 時開啟跨請求模式,預設值為 true,推薦設定為 false |
rule_sets_threshold | array | 否 | 為各規則集單獨設定敏感度分數,需與 rule_sets 中的規則集一一對應 |
您可以選擇使用內建規則集或自定義 WAF 規則集。以下為可用的內建 WAF 規則集列表:
- scanner_detection
- protocol_enforcement
- protocol_attack
- application_attack_lfi
- application_attack_rfi
- application_attack_rce
- application_attack_php
- application_attack_nodejs
- application_attack_xss
- application_attack_sqli
- application_attack_session_fixation
- application_attack_java
配置示例
- enable_rule: true
conditions:
- op: eq
var: uri
val: /waf
waf:
rule_sets:
- scanner_detection
- protocol_enforcement
- application_attack_xss
- application_attack_sqli
sensitivity: medium
action: "403 Forbidden"
cross_requests: false
在上述示例中,當請求的 URI
是 /waf
時,啟用 WAF,啟用的的規則集包括 scanner_detection、protocol_enforcement、application_attack_xss 及 application_attack_sqli,防護敏感級別設定為中等。一旦觸發 WAF 防護機制,則執行動作並返回 HTTP 狀態碼 403,表示請求被禁止。