修改WAF防護功能的配置規則,如Web入侵防護、數據安全、高級防護、Bot、訪問控制、限流、白名單。
接口說明
本接口用于修改指定 WAF 防護功能模塊(包括 Web 入侵防護、數據安全、高級防護、Bot 管理、訪問控制或限流、白名單等模塊)中的規則配置。您可以通過設置 DefenseType 參數值指定防護功能模塊配置。具體參數值的含義,請參見請求參數 DefenseType 的描述。 請注意,為了確保系統的文檔性,對單用戶 QPS 限制為 10 次/秒。超過限制,API 調用將會被限流,這可能影響您的業務,請合理調用。
調試
您可以在OpenAPI Explorer中直接運行該接口,免去您計算簽名的困擾。運行成功后,OpenAPI Explorer可以自動生成SDK代碼示例。
授權信息
請求參數
名稱 | 類型 | 必填 | 描述 | 示例值 |
---|---|---|---|---|
Domain | string | 是 | 要修改規則配置的域名。 說明
您可以調用 DescribeDomainNames 查詢所有已添加到 WAF 進行防護的域名。
| www.example.com |
DefenseType | string | 是 | 要修改的規則配置所屬防護功能模塊。取值:
| ac_custom |
Rule | string | 是 | 規則配置內容,以一系列參數構造的 JSON 格式轉化成字符串。 說明
根據所指定的防護功能模塊配置(DefenseType)不同,具體涉及的參數有所不同。詳細信息,請參見 Rule 參數具體說明。
| {"action":"monitor","name":"test","scene":"custom_acl","conditions":[{"opCode":1,"key":"URL","values":"/example"}]} |
RuleId | long | 是 | 要修改的規則配置對應的規則 ID。 說明
您可以調用 DescribeProtectionModuleRules 查詢所有已創建的規則的 ID。
| 369998 |
LockVersion | long | 是 | 要修改的規則配置的版本號。 說明
您可以調用 DescribeProtectionModuleRules 查詢規則配置的版本號。
| 2 |
InstanceId | string | 是 | WAF 實例 ID。 說明
您可以通過調用 DescribeInstanceInfo 查詢當前 WAF 實例 ID。
| waf-cn-0xldbqt**** |
ResourceGroupId | string | 否 | 資源組 ID。 | rg-aek2lav****s77i |
RegionId | string | 否 | WAF 實例所屬地域。取值:
| cn-hangzhou |
Rule 參數具體說明
-
網站防篡改規則配置(tamperproof)對應的 JSON 字符串中包含以下參數:
-
uri:String 類型 | 必選 | 所需防護的具體 URL。
-
name:String 類型 | 必選 | 規則名稱。
-
status:Integer 類型 | 可選 | 規則的防護狀態。取值:
- 0(默認):表示不生效。
- 1:表示生效。
-
示例
{ "name":"example", "uri":"http://www.example.com/example", "status":1 }
-
-
防敏感信息泄露規則配置(dlp)對應的 JSON 字符串中包含以下參數:
-
name:String 類型 | 必選 | 規則名稱。
-
conditions:Array 類型 | 必選 | 以 JSON 字符串格式描述匹配條件,支持設置最多兩條匹配條件且條件間的關系為并且。其中包含以下具體參數:
- key:匹配項。
- 0:表示防護的 URL。
- 10:表示敏感信息。
- 11:表示響應碼。
說明 您無法在 conditions 參數中同時為響應碼(11)和敏感信息(10)設置匹配條件。- operation:匹配邏輯,取值固定為 1,表示包含。
- value:以 JSON 字符串描述匹配條件值,支持填寫多個條件值。其中包含以下具體參數:
- v:僅適用于匹配項(key)為 URL(0)或響應碼(11)的場景。
- URL:當
"key":0
時,參數值為 URL 地址。 - 響應碼:當
"key":11
,參數取值包括 400、401、402、403、404、405-499、500、501、502、503、504、505-599。
- URL:當
- k:僅適用于匹配項(key)為敏感信息(10)的場景,取值:
- 100:表示身份證。
- 101:表示信用卡。
- 102:表示電話號碼。
- 103:表示默認敏感詞。
- v:僅適用于匹配項(key)為 URL(0)或響應碼(11)的場景。
- key:匹配項。
-
action:匹配動作。
- 3:表示告警。
- 10:表示敏感信息過濾,該動作僅適用于包含敏感信息(
"key":10
)的匹配條件場景。 - 11:表示返回系統內置攔截頁面,該動作僅適用于包含響應碼(
"key":11
)的匹配條件場景。
-
示例
{ "name":"example", "conditions":[{"key":11,"operation":1,"value":[{"v":401}]},{"key":"0","operation":1,"value":[{"v":"www.example.com"}]}], "action":3 }
-
-
賬戶安全規則配置(ng_account)對應的 JSON 字符串中包含以下參數:
-
url_path:String 類型 | 必選 | 檢測接口,以 URL 路徑表示,必須以“/”開頭。
-
method:String 類型 | 必選 | 檢測的請求方式,包括 POST、GET、PUT、DELETE。支持設定多個請求方式,以英文逗號(,)分隔。
-
account_left:String 類型 | 必選 | 賬號參數名。
-
password_left:String 類型 | 可選 | 密碼參數名。
-
action:String 類型 | 必選 | 防護動作。取值:
- monitor:表示預警。
- block:表示攔截。
-
示例
{ "url_path":"/example", "method":"POST,GET,PUT,DELETE", "account_left":"aaa", "password_left:"123", "action":"monitor" }
-
-
Bot 管理的爬蟲威脅情報配置(bot_intelligence)對應的 JSON 字符串中包含以下參數:
- name:String 類型 | 必選 | 規則名稱,必須與規則 ID(RuleId)參數對應。
- urlList:Array 類型 | 必選 | 防護路徑,最多指定 10 個防護路徑。以 JSON 字符串方式表示,具體包含以下參數:
- mode:String 類型 | 必選 | 匹配方式,與路徑關鍵字(url)參數結合指定防護路徑。取值:eq(精準匹配)、prefix-match(前綴匹配)、regex(正則匹配)。
- url:String 類型 | 必選 | 路徑關鍵字,必須以“/”開頭。
- action:String 類型 | 必選 | 處置動作。取值:
- monitor:表示觀察。
- captcha:表示滑塊。
- captcha_strict:表示嚴格滑塊 。
- js:表示 JavaScript 校驗。
- block:表示阻斷。
- status:Integer 類型 | 必選 | 啟用狀態。取值:
- 0:表示禁用。
- 1:表示啟用。
- 示例
{ "urlList":[ {"mode":"prefix-match","url":"/indexa"}, {"mode":"regex","url":"/"}, {"mode":"eq","url":"/"}], "name":"IDC IP 庫-騰訊云", "action":"captcha_strict", "status":1 }
-
Bot 管理的智能算法規則配置(bot_algorithm)對應的 JSON 字符串中包含以下參數:
- name:String 類型 | 必選 | 規則名稱。
- algorithmName:String 類型 | 必選 | 算法名稱。取值:
- RR:表示專項資源爬蟲識別算法。
- PR:表示定向路徑爬蟲識別算法。
- DPR: 表示參數輪詢爬蟲識別算法。
- SR:表示動態 IP 爬蟲識別算法。
- IND:表示代理設備爬蟲識別算法。
- Periodicity:表示周期性爬蟲識別算法。
- timeInterval:Integer 類型 | 必選 | 檢測周期。單位:秒,取值:30、60、120、300、600。
- action:String 類型 | 必選 | 處置動作。取值:
- monitor:表示觀察。
- captcha:表示滑塊。
- js:表示 JavaScript 校驗。
- block:表示阻斷。選擇阻斷作為處置動作時,必須傳入阻斷時長(blocktime)參數。
- blocktime:Integer 類型 | 可選 | 阻斷時長。單位:分鐘,取值:1~600。
- config:String 類型 | 必選 | 算法配置信息,以 JSON 字符串格式表示。算法配置信息中的具體子參數與所選擇的算法名稱(algorithmName)相關。
- 專項資源爬蟲識別算法(RR)對應的配置信息應包含以下子參數:
- resourceType:Integer 類型 | 可選 | 請求的資源類型。取值:
- 1:表示動態資源類型。
- 2:表示靜態資源類型。
- -1:表示自定義資源類型。選擇自定義資源組時,需要再傳入 extensions 參數,以字符串格式指定具體的資源后綴名,多個后綴名間以英文逗號(,)分隔,例如
css,jpg,xls
。
- minRequestCountPerIp:Integer 類型 | 必選 | 檢測周期中檢測 IP 的范圍,大于等于一定訪問請求數量的 IP 才會被檢測。通過該參數指定訪問請求數量的最小值。取值范圍:5~10000。
- minRatio:Float 類型 | 必選 | 風險判定條件,即 IP 訪問請求中訪問指定資源類型的占比閾值,超過閾值后判定為風險。取值范圍:0.01~1。
- resourceType:Integer 類型 | 可選 | 請求的資源類型。取值:
- 定向路徑爬蟲識別算法(PR)對應的配置信息應包含以下子參數:
- keyPathConfiguration:Array 類型 | 可選 | 請求的路徑信息,支持指定最多 10 條路徑,只在使用定向路徑爬蟲識別算法時需傳入該子參數。以 JSON 字符串格式表示。具體包含以下參數:
- method:String 類型 | 必選 | 請求方法。取值:POST、GET、PUT、DELETE、HEAD、OPTIONS。
- url:String 類型 | 必選 | 請求路徑關鍵字,必須以“/”開頭。
- matchType:String 類型 | 必選 | 匹配方式,與請求路徑關鍵字(url)參數結合指定請求路徑。取值:all(精準匹配)、prefix(前綴匹配)、regex(正則匹配)。
- minRequestCountPerIp:Integer 類型 | 必選 | 檢測周期中檢測 IP 的范圍,大于等于一定訪問請求數量的 IP 才會被檢測。通過該參數指定訪問請求數量的最小值。取值范圍:5~10000。
- minRatio:Float 類型 | 必選 | 風險判定條件,即 IP 訪問請求中訪問指定路徑的占比閾值,超過閾值后判定為風險。取值范圍:0.01~1。
- keyPathConfiguration:Array 類型 | 可選 | 請求的路徑信息,支持指定最多 10 條路徑,只在使用定向路徑爬蟲識別算法時需傳入該子參數。以 JSON 字符串格式表示。具體包含以下參數:
- 參數輪詢爬蟲識別算法(DPR)對應的配置信息應包含以下子參數:
- method:String 類型 | 必選 | 請求方法。取值:POST、GET、PUT、DELETE、HEAD、OPTIONS。
- urlPattern:String 類型 | 必選 | 關鍵參數路徑,必須以“/”開頭。用{}表示關鍵參數,配置多個{}時將拼接這些參數作為關鍵參數。例如,
/company/{}/{}/{}/user.php?uid={}
。 - minRequestCountPerIp:Integer 類型 | 必選 | 檢測周期中檢測 IP 的范圍,大于等于一定訪問請求數量的 IP 才會被檢測。通過該參數指定訪問請求數量的最小值。取值范圍:5~10000。
- minRatio:Float 類型 | 必選 | 風險判定條件,即 IP 訪問請求中不同關鍵參數值的計數占比閾值,超過閾值后判定為風險。取值范圍:0.01~1。
- 動態 IP 爬蟲識別算法(SR)對應的配置信息應包含以下子參數:
- maxRequestCountPerSrSession:Integer 類型 | 必選 | 通過設定每個會話中存在的最小請求次數定義異常會話,即單個會話中的請求次數小于該值即判定為異常會話。取值范圍:1~8。
- minSrSessionCountPerIp:Integer 類型 | 必選 | 風險判定條件,即 IP 訪問請求中存在的異常會話數量閾值,單個 IP 訪問請求中的異常會話次數超過該值后判定為風險。取值范圍:5~300。
- 代理設備爬蟲識別算法(IND)對應的配置信息應包含以下子參數:
- minIpCount:Integer 類型 | 必選 | 惡意設備判定條件,即設備使用 WIFI 關聯的 IP 變換個數閾值,超過該閾值后判定為風險。取值范圍:5~500。
- keyPathConfiguration:Array 類型 | 可選 | 檢測路徑信息,支持指定最多 10 條路徑。以 JSON 字符串格式表示,具體包含以下參數:
- method:String 類型 | 必選 | 請求方法。取值:POST、GET、PUT、DELETE、HEAD、OPTIONS。
- url:String 類型 | 必選 | 檢測路徑關鍵字,必須以“/”開頭。
- matchType:String 類型 | 必選 | 匹配方式,與檢測路徑關鍵字(url)參數結合指定請求路徑。取值:all(精準匹配)、prefix(前綴匹配)、regex(正則匹配)。
- 周期性爬蟲識別算法(Periodicity)對應的配置信息應包含以下子參數:
- minRequestCountPerIp:Integer 類型 | 必選 | 檢測周期中檢測 IP 的范圍,大于等于一定訪問請求數量的 IP 才會被檢測。通過該參數指定訪問請求數量的最小值。取值范圍:5~10000。
- level:Integer 類型 | 必選 | 風險判定等級,即訪問 IP 的周期性特征的明顯程度。取值:
- 0:表示明顯。
- 1:表示中等。
- 2:表示較弱。
- 專項資源爬蟲識別算法(RR)對應的配置信息應包含以下子參數:
- 示例
{ "name":"代理設備爬蟲識別", "algorithmName":"IND", "timeInterval":"60", "action":"warn", "config":{ "minIpCount":5, "keyPathConfiguration":[{"url":"/index","method":"GET","matchType":"prefix"}] } }
-
App 防護的版本防護規則配置(bot_wxbb_pkg)對應的 JSON 字符串中包含以下參數:
- name:String 類型 | 必選 | 規則名稱。
- action:String 類型 | 必選 | 處置動作。取值:
- test:表示觀察。
- close:表示阻斷。
- nameList:Array 類型 | 必選 | 合法版本信息,最多指定五條規則。以 JSON 字符串方式表示,具體包含以下參數:
- name:String 類型 | 必選 | 合法包名稱。
- signList:Array 類型 | 必選 | 對應的包簽名,最多填寫 15 個,以英文逗號(,)分隔。
- 示例
{ "name":"test", "action":"close", "nameList":[{ "name":"apk-xxxx", "signList":["xxxxxx","xxxxx","xxxx","xx"] }] }
-
App 防護的路徑防護規則配置(bot_wxbb)對應的 JSON 字符串中包含以下參數:
- name:String 類型 | 必選 | 規則名稱。
- uri:String 類型 | 必選 | 防護路徑,必須以“/”開頭。
- matchType:String 類型 | 必選 | 匹配方式。取值:all(精準匹配)、prefix(前綴匹配)、regex(正則匹配)。
- arg:String 類型 | 必選 | 參數包含,與匹配方式(matchType)參數結合指定防護路徑配置。
- action:String 類型 | 必選 | 處置動作。取值:
- test:表示觀察。
- close:表示阻斷。
- hasTag:Boolean 類型 | 必選 | 是否需要自定義加簽字段。
- true:表示是。選擇需要自定義加簽字段時,需傳入 wxbbVmpFieldType 和 wxbbVmpFieldValue 參數指定加簽字段的類型和對應值。
- false:表示否。
- wxbbVmpFieldType:Integer 類型 | 可選 | 自定義加簽字段類型。當 hasTag 參數值為 true 時,必須傳入參數。取值:
- 0:表示 header。
- 1:表示參數。
- 2:表示 cookie。
- wxbbVmpFieldValue:String 類型 | 可選 | 自定義加簽字段值。當 hasTag 參數值為 true 時,必須傳入參數。
- blockInvalidSign:Integer 類型 | 必選 | 是否對非法簽名執行處置動作,固定值 1。路徑防護規則的默認防護策略。
- blockProxy:Integer 類型 | 可選 | 是否對代理執行處置動作,固定值 1。如果無需對代理行為執行處置動作時無需傳入該參數。
- blockSimulator:Integer 類型 | 可選 | 是否對模擬器執行處置動作,固定值 1。如果無需對模擬器行為執行處置動作時無需傳入該參數。
- 示例
{ "name":"test", "uri":"/index", "matchType":"all", "arg":"test", "action":"close", "hasTag":true, "wxbbVmpFieldType":2, "wxbbVmpFieldValue":"test", "blockInvalidSign":1, "blockProxy":1 }
-
數據風控防護請求配置(antifraud)對應的 JSON 字符串中包含以下參數:
-
uri:String 類型 | 必選 | 具體的防護請求 URL。
-
示例
{ "uri": "http://1.example.com/example" }
-
-
數據風控 JS 插入頁面配置(antifraud_js)對應的 JSON 字符串中包含以下參數:
-
uri:String 類型 | 必選 | 需要插入數據風控 JS 頁面的 URL,系統將為所指定的 URL 路徑下的所有頁面插入數據風控 JS,必須以“/”開頭。
-
示例
{ "uri": "/example/example" }
-
-
IP 黑名單規則配置(ac_blacklist)對應的 JSON 字符串中包含以下參數:
-
remoteAddr:Array 類型 | 可選 | 黑名單中的 IP。支持填寫 IP 和 IP 地址段。多個 IP 以英文逗號(,)分隔,最多可以添加 200 個。填寫空值表示清空 IP 黑名單。
-
area:Array 類型 | 可選 | 地域級 IP 黑名單中的地域。使用 JSON 數組轉化的字符串格式表示,JSON 數組中的每個元素是一個結構體,包含以下字段:
-
countryCodes:Array 類型 | 必選 | 國家代碼。只填寫
["CN"]
,表示封禁中國境列提及時)或中國內地(不與臺灣并列提及時)。>內地(不與臺灣并列提及時)。>內地(不與臺灣并列提及時)。>內地域,必須同時填寫 regionCodes;填寫["CN"]
以外內容,表示封禁中國境外地域,無需填寫 regionCodes。您可以調用 DescribeProtectionModuleCodeConfig 查詢中國境內地域代碼和中國境外地域代碼。 -
regionCodes:Array 類型 | 可選 | 中國境內地域代碼。
-
-
示例
{ { "remoteAddr": [ "1.XX.XX.1", "2.XX.XX.2" ], "area": [ { "countryCodes": [ "CN" ], "regionCodes": [ "310000", "530000" ] }, { "countryCodes": [ "AD", "AL" ] } ] } }
-
-
高頻 Web 攻擊 IP 自動封禁規則配置(ac_highfreq)對應的 JSON 字符串中包含以下參數:
-
interval:Integer 類型 | 必選 | 檢測時間范圍。單位:秒,取值范圍:5~1800。
-
ttl:Integer 類型 | 必選 | 封禁 IP 時長。單位秒,取值范圍:60~86400。
-
count:Integer 類型 | 必選 | Web 攻擊次數閾值,檢測時間范圍內攻擊次數超過該值,觸發封禁。取值范圍:2~50000。
-
示例
{ "interval":60, "ttl":300, "count":60 }
-
-
目錄掃描防護規則配置(ac_dirscan)對應的 JSON 字符串中包含以下參數:
-
interval:Integer 類型 | 必選 | 檢測時間范圍。單位秒,取值范圍:5~1800。
-
ttl:Integer 類型 | 必選 | 封禁 IP 時長。單位秒,取值范圍:60~86400。
-
count:Integer 類型 | 必選 | 訪問次數閾值。取值范圍:2~50000。
-
weight:Float 類型 | 必選 | 404 響應碼占比閾值(百分比)。取值范圍:0~1。
-
uriNum:Integer 類型 | 必選 | 掃描目錄數量閾值。取值范圍:2~50000。
-
示例
{ "interval":10, "ttl":1800, "count":50, "weight":0.7, "uriNum":20 }
-
-
自定義防護策略規則配置(ac_custom),通過其對應的 JSON 字符串中的 scene 參數來設置 ACL 訪問控制規則和 CC 攻擊防護規則。
-
設置 ACL 訪問控制規則(scene 參數值為custom_acl),其對應的 JSON 字符串中包含以下參數:
-
name:String 類型 | 必選 | 規則名稱。
-
scene:String 類型 | 必選 | 防護類型。設置 ACL 訪問控制規則時,取值固定為custom_acl。
-
action:String 類型 | 必選 | 處置動作。取值:
- monitor:表示觀察。
- captcha:表示滑塊。
- captcha_strict:表示嚴格滑塊。
- js:表示 JS 驗證。
- block:表示阻斷。
-
conditions:Array 類型 | 必選 | 匹配條件,最多支持填寫 5 個匹配條件。以 JSON 字符串格式進行描述,具體包含以下參數:
-
key:匹配字段。取值:URL、IP、Referer、User-Agent、Params、Cookie、Content-Type、Content-Length、X-Forwarded-For、Post-Body、Http-Method、Header、URLPath。
-
opCode:邏輯符。取值:
- 0:表示不包含、不屬于。
- 1:表示包含、屬于。
- 2:表示不存在。
- 10:表示不等于。
- 11:表示等于。
- 20:表示長度小于。
- 21:表示長度等于。
- 22:表示長度大于。
- 30:表示值小于。
- 31:表示值等于。
- 32:表示值大于。
-
values:匹配內容。根據需要填寫相應的內容,以 String 類型表示。
說明 匹配條件參數中的邏輯符(opCode)、匹配內容(values)參數取值范圍與所指定的匹配字段(key)相關。關于支持的匹配條件配置詳細信息,請參見匹配條件字段說明。 -
-
示例
{ "action":"monitor", "name":"test", "scene":"custom_acl", "conditions":[{"opCode":1,"key":"URL","values":"/example"}] }
-
-
設置 CC 攻擊防護規則(scene 參數值為custom_cc),對應的 JSON 字符串中包含以下參數:
-
name:String 類型 | 必選 | 規則名稱。
-
scene:String 類型 | 必選 | 防護類型。設置 CC 攻擊防護規則時,取值固定為custom_cc。
-
conditions:Array 類型 | 必選 | 匹配條件,最多支持填寫 5 個匹配條件。以 JSON 字符串格式進行描述,具體包含以下參數:
-
key:匹配字段。取值:URL、IP、Referer、User-Agent、Params、Cookie、Content-Type、Content-Length、X-Forwarded-For、Post-Body、Http-Method、Header、URLPath。
-
opCode:邏輯符。取值:
- 0:表示不包含、不屬于。
- 1:表示包含、屬于。
- 2:表示不存在。
- 10:表示不等于。
- 11:表示等于。
- 20:表示長度小于。
- 21:表示長度等于。
- 22:表示長度大于。
- 30:表示值小于。
- 31:表示值等于。
- 32:表示值大于。
-
values:匹配內容。根據需要填寫相應的內容,以 String 類型表示。
說明 匹配條件參數中的邏輯符(opCode)、匹配內容(values)參數取值范圍與所指定的匹配字段(key)相關。 -
-
action:String 類型 | 必選 | 處置動作,取值:
- monitor:表示觀察。
- captcha:表示滑塊。
- captcha_strict:表示嚴格滑塊。
- js:表示 JS 驗證。
- block:表示阻斷。
-
ratelimit:JSON 格式 | 必選 | 頻率設置。以 JSON 字符串格式進行描述,具體包含以下參數:
-
target:String 類型 | 必選 | 統計對象類型,取值:
- remote_addr:表示 IP。
- cookie.acw_tc:表示 Session。
- queryarg:表示自定義參數。選擇自定義參數時,必須在 subkey 參數中填寫需要統計的自定義參數名稱。
- cookie:表示自定義 cookie。選擇自定義 cookie 時,必選在 subkey 參數中填寫需要統計的 cookie 內容。
- header:表示自定義 header。選擇自定義 header 時,必選在 subkey 參數中填寫需要統計的 header 內容。
-
subkey:String 類型 | 可選 | 當 target 參數值為 cookie、header 或 queryarg 時,必選在 subkey 參數中填寫對應的信息。
-
interval: Integer 類型 | 必選 | 統計時長(單位:秒),即訪問次數的統計周期,與閾值(threshold)參數配合。
-
threshold:Integer 類型 | 必選 | 在檢測時長內,允許單個統計對象訪問被防護地址的次數閾值。
-
status:JSON 格式 | 可選 | 響應碼頻率設置。以 JSON 字符串格式進行描述,具體包含以下參數:
-
code:Integer 類型 | 必選 | 指定響應碼。
-
count:Integer 類型 | 可選 | 出現次數閾值,即表示當指定的響應碼出現次數超過該閾值時命中防護規則。取值范圍:1~999999999。count 參數與 ratio 參數兩者選其一,不可同時配置。
-
ratio:Integer 類型 | 可選 | 出現比例閾值(百分比),即表示當指定的響應碼出現比例超過該閾值時命中防護規則。取值范圍:1~100。count 參數與 ratio 參數兩者選其一,不可同時配置。
-
-
scope:String 類型 | 必選 | 生效范圍,取值:
-
rule:表示當前特征匹配范圍內。
-
domain:表示當前規則作用的域名范圍內。
-
-
ttl:Integer 類型 | 必選 | 處置動作的生效時長。單位:秒,取值范圍:60~86400。
-
-
示例
{ "name":"CC 防護", "conditions":[{"opCode":1,"key":"URL","values":"/example"}], "action":"block", "scene":"custom_cc", "ratelimit":{ "target": "remote_addr", "interval": 300, "threshold": 2000, "status": { "code": 404, "count": 200 }, "scope": "rule", "ttl": 1800 }
-
-
-
網站白名單規則配置(whitelist)對應的 JSON 字符串中包含以下參數:
-
name:String 類型 | 必選 | 規則名稱。
-
tags:Array 類型 | 必選 | 不檢測模塊。不同類型的白名單規則支持設置的不檢測模塊(tags)不同,具體說明如下:
說明 tags 的取值只能包含具體白名單類型下羅列的取值。例如,tags 取值不允許同時包含 regular 和 cc,因為 regular 屬于 Web 入侵防護白名單下的取值、cc 屬于訪問控制/限流白名單下的取值。-
如需設置全局白名單,tags 取值:
- waf:表示不檢測所有防護模塊。
-
如需設置 Web 入侵防護白名單,tags 取值(可設置多個):
- regular:表示不檢測規則防護引擎(包含所有防護規則)。
- regular_rule:表示不檢測規則防護引擎中的指定防護規則(如選擇該取值,必須通過 regularRules 參數設置不檢測的規則 ID)。
- regular_type:表示不檢測規則防護引擎中指定類型的防護規則(如選擇該取值,必須通過 regularTypes 參數設置不檢測的規則類型)。
- deeplearning:表示不檢測深度學習引擎。
-
如需設置訪問控制/限流白名單,tags 取值(可設置多個):
- cc:表示不檢測 CC 安全防護模塊。
- customrule:表示不檢測自定義防護策略。
- blacklist:表示不檢測 IP 黑名單模塊。
- antiscan:表示不檢測掃描防護模塊。
-
如需設置數據安全白名單,tags 取值(可設置多個):
- dlp:表示不檢測防敏感信息泄露模塊。
- tamperproof:表示不檢測網站防篡改模塊。
- account:表示不檢測賬戶安全模塊。
-
如需設置 Bot 防護白名單,tags 取值(可設置多個):
- bot_intelligence:表示不檢測爬蟲威脅情報模塊。
- bot_algorithm:表示不檢測典型爬蟲行為識別模塊。
- bot_wxbb:表示不檢測 App 防護模塊。
- antifraud:表示不檢測數據風控模塊。
-
-
regularRules:Array 類型 | 可選 | 不檢測的防護規則 ID 列表。如果 tags 參數的取值中包含regular_rule,必須填寫該參數。您可以在 WAF 控制臺的防護規則組頁面,通過新建規則組,查詢 WAF 包含的所有 Web 攻擊防護規則,獲取相關規則的 ID。具體操作,請參見自定義防護規則組。
-
regularTypes:Array 類型 | 可選 | 不檢測的防護規則類型列表。如果 tags 參數取值中包含regular_type,必須填寫該參數。取值:
- sqli: 表示 SQL 注入。
- xss: 表示跨站腳本。
- code_exec: 表示代碼執行。
- lfilei: 表示本地文件包含。
- rfilei: 表示遠程文件包含。
- webshell: 表示 WebShell。
- vvip: 表示定制的防護規則。
- other: 表示其他類型。
-
conditions:Array 類型 | 必選 | 匹配條件,最多支持填寫 5 個匹配條件。以 JSON 字符串格式進行描述,具體包含以下參數:
-
key:匹配字段。取值:URL、IP、Referer、User-Agent、Params、Cookie、Content-Type、Content-Length、X-Forwarded-For、Post-Body、Http-Method、Header、URLPath。
-
opCode:邏輯符,取值:
-
0:表示不包含、不屬于。
-
1:表示包含、屬于。
-
2:表示不存在。
-
10:表示不等于。
-
11:表示等于。
-
20:表示長度小于。
-
21:表示長度等于。
-
22:表示長度大于。
-
30:表示值小于。
-
31:表示值等于。
-
32:表示值大于。
-
-
values:匹配內容。根據需要填寫相應的內容,以 String 類型表示。
-
說明 匹配條件參數中的邏輯符(opCode)、匹配內容(values)參數取值范圍與所指定的匹配字段(key)相關。- 示例
{ "name": "test", "tags": ["cc","customrule"], "conditions":[{"opCode":1,"key":"URL","values":"/example"}], }
-
調用 API 時,除了本文中該 API 的請求參數,還需加入阿里云 API 公共請求參數。公共請求參數的詳細介紹,請參見公共參數。
調用 API 的請求格式,請參見本文示例中的請求示例。
返回參數
示例
正常返回示例
JSON
格式
{
"RequestId": "D7861F61-5B61-46CE-A47C-6B19****5EB0"
}
錯誤碼
訪問錯誤中心查看更多錯誤碼。