查詢WAF防護(hù)功能規(guī)則配置記錄,如Web入侵防護(hù)、數(shù)據(jù)安全、Bot管理、訪問控制或限流、網(wǎng)站白名單。
接口說明
本接口用于分頁查詢指定 WAF 防護(hù)功能模塊(包括 Web 入侵防護(hù)、數(shù)據(jù)安全、Bot 管理、訪問控制或限流、網(wǎng)站白名單等模塊)的規(guī)則配置記錄。 您可以通過設(shè)置 DefenseType 參數(shù)值指定防護(hù)功能模塊配置。具體參數(shù)值的含義,請參見請求參數(shù) DefenseType 的描述。 請注意,為了確保系統(tǒng)的文檔性,對單用戶 QPS 限制為 50 次/秒。超過限制,API 調(diào)用將會被限流,這可能影響您的業(yè)務(wù),請合理調(diào)用。
調(diào)試
您可以在OpenAPI Explorer中直接運行該接口,免去您計算簽名的困擾。運行成功后,OpenAPI Explorer可以自動生成SDK代碼示例。
授權(quán)信息
下表是API對應(yīng)的授權(quán)信息,可以在RAM權(quán)限策略語句的Action
元素中使用,用來給RAM用戶或RAM角色授予調(diào)用此API的權(quán)限。具體說明如下:
- 操作:是指具體的權(quán)限點。
- 訪問級別:是指每個操作的訪問級別,取值為寫入(Write)、讀取(Read)或列出(List)。
- 資源類型:是指操作中支持授權(quán)的資源類型。具體說明如下:
- 對于必選的資源類型,用背景高亮的方式表示。
- 對于不支持資源級授權(quán)的操作,用
全部資源
表示。
- 條件關(guān)鍵字:是指云產(chǎn)品自身定義的條件關(guān)鍵字。
- 關(guān)聯(lián)操作:是指成功執(zhí)行操作所需要的其他權(quán)限。操作者必須同時具備關(guān)聯(lián)操作的權(quán)限,操作才能成功。
操作 | 訪問級別 | 資源類型 | 條件關(guān)鍵字 | 關(guān)聯(lián)操作 |
---|---|---|---|---|
yundun-waf:DescribeProtectionModuleRules | Read |
|
| 無 |
請求參數(shù)
名稱 | 類型 | 必填 | 描述 | 示例值 |
---|---|---|---|---|
PageSize | integer | 否 | 分頁查詢時,設(shè)置每頁返回規(guī)則的數(shù)量。默認(rèn)值為 10。 | 10 |
PageNumber | integer | 否 | 分頁查詢時,設(shè)置當(dāng)前頁面的頁面。默認(rèn)值為 1。 | 1 |
Domain | string | 否 | 要查詢的域名。具體說明如下:
| www.aliyundoc.com |
DefenseType | string | 是 | 要查詢的防護(hù)功能配置的類型。取值:
| ac_highfreq |
Query | string | 否 | 設(shè)置規(guī)則的過濾和排序,以 JSON 格式字符串表達(dá),具體包含以下參數(shù): 說明
該參數(shù)必須使用 Base64 編碼格式,請按照以下參數(shù)說明構(gòu)造 JSON 格式字符串后將其轉(zhuǎn)換為 Base64 編碼格式。
| e2ZpbHRlcjp7InJ1bGVJZCI6NDI3NTV9LG9yZGVyQnk6ImdtdF9tb2RpZmllZCIsZGVzYzp0cnVlfQ== |
Lang | string | 否 | 設(shè)置規(guī)則名稱的語言屬性,取值:
| zh |
InstanceId | string | 是 | WAF 實例的 ID。 說明
您可以調(diào)用 DescribeInstanceInfo 查詢當(dāng)前 WAF 實例的 ID。
| waf_elasticity-cn-0xldbqt**** |
ResourceGroupId | string | 否 | WAF 實例在資源管理服務(wù)中所屬的資源組 ID。 不設(shè)置該參數(shù)表示默認(rèn)資源組。 | rg-acfm2pz25js**** |
RegionId | string | 否 | WAF 實例所屬地域。取值:
| cn-hangzhou |
調(diào)用 API 時,除了本文中該 API 的請求參數(shù),還需加入阿里云 API 公共請求參數(shù)。公共請求參數(shù)的詳細(xì)介紹,請參見公共參數(shù)。
調(diào)用 API 的請求格式,請參見本文示例中的請求示例。
返回參數(shù)
Content 參數(shù)具體說明
-
規(guī)則防護(hù)引擎解碼設(shè)置(waf-codec)對應(yīng)的 JSON 字符串中包含以下參數(shù):
-
codecList:String 類型 | 必選 | 啟用的解碼配置項。
-
示例
{ "codecList":["url","base64"] }
-
-
網(wǎng)站防篡改規(guī)則配置(tamperproof)對應(yīng)的 JSON 字符串中包含以下參數(shù):
-
uri:String 類型 | 必選 | 所需防護(hù)的具體 URL。
-
name:String 類型 | 必選 | 規(guī)則名稱。
-
status:Integer 類型 | 可選 | 規(guī)則的防護(hù)狀態(tài):
- 0(默認(rèn)):表示不生效。
- 1:表示生效。
-
示例
{ "name":"example", "uri":"http://www.example.com/example", "status":1 }
-
-
防敏感信息泄露規(guī)則配置(dlp)對應(yīng)的 JSON 字符串中包含以下參數(shù):
-
name:String 類型 | 必選 | 規(guī)則名稱。
-
conditions:Array 類型 | 必選 | 以 JSON 字符串格式描述匹配條件,支持設(shè)置最多兩條匹配條件且條件間的關(guān)系為并且。其中包含以下具體參數(shù):
- key:匹配項。
- 0:表示防護(hù)的 URL。
- 10:表示敏感信息。
- 11:表示響應(yīng)碼。
- operation:匹配邏輯,取值固定為 1,表示包含。
- value:以 JSON 字符串描述匹配條件值,支持設(shè)置多個條件值。其中包含以下具體參數(shù):
- v:僅適用于匹配項(key)為 URL(0)或響應(yīng)碼(11)的場景。
- URL:當(dāng)
"key":0
時,參數(shù)值為 URL 地址。 - 響應(yīng)碼:當(dāng)
"key":11
,參數(shù)取值包括 400、401、402、403、404、405-499、500、501、502、503、504、505-599。
- URL:當(dāng)
- k:僅適用于匹配項(key)為敏感信息(10)的場景,取值:
- 100:表示身份證。
- 101:表示信用卡。
- 102:表示電話號碼。
- 103:表示默認(rèn)敏感詞。
- v:僅適用于匹配項(key)為 URL(0)或響應(yīng)碼(11)的場景。
- key:匹配項。
-
action:匹配動作。
- 3:表示告警。
- 10:表示敏感信息過濾,該動作僅適用于包含敏感信息(
"key":10
)的匹配條件場景。 - 11:表示返回系統(tǒng)內(nèi)置攔截頁面,該動作僅適用于包含響應(yīng)碼(
"key":11
)的匹配條件場景。
-
示例
{ "name":"example", "conditions":[{"key":11,"operation":1,"value":[{"v":401}]},{"key":"0","operation":1,"value":[{"v":"www.example.com"}]}], "action":3 }
-
-
賬戶安全規(guī)則配置(ng_account)對應(yīng)的 JSON 字符串中包含以下參數(shù):
-
domain:String 類型 | 必選 | 防護(hù)的域名。
-
method:String 類型 | 必選 | 檢測的請求方式,包括 POST、GET、PUT、DELETE。支持設(shè)定多個請求方式,以英文逗號“,”分隔。
-
url_path:String 類型 | 必選 | 檢測接口,以 URL 路徑表示,必須以正斜杠(/)開頭。
-
account_left:String 類型 | 必選 | 賬號參數(shù)名。
-
password_left:String 類型 | 可選 | 密碼參數(shù)名。
-
action:String 類型 | 必選 | 防護(hù)動作,取值:
- monitor:表示預(yù)警。
- block:表示攔截。
-
示例
{ "domain":"www.example.com", "method":"GET,POST", "url_path":"/example", "account_left":"aaa", "action":"monitor" }
-
-
合法爬蟲規(guī)則配置(bot_crawler)對應(yīng)的 JSON 字符串中包含以下參數(shù):
-
Status:Integer 類型 | 必選 | 是否啟用,取值:
- 0:表示禁用。
- 1:表示啟用。
-
Version:Integer 類型 | 必選 | 規(guī)則版本號。
-
Content:String 類型 | 必選 | 規(guī)則詳細(xì)信息,以 JSON 字符串格式進(jìn)行描述,具體包含以下參數(shù):
- name:String 類型 | 必選 | 規(guī)則名稱。
- conditions:Array 類型 | 可選 | 防護(hù)路徑條件。在合法爬蟲規(guī)則配置中固定為空,表示全路徑。
- expressions:Array 類型 | 必選 | 規(guī)則條件表達(dá)式,以更易讀的方式表示所有規(guī)則條件信息。
- bypassTags:String 類型 | 必選 | 不檢測的模塊。在合法爬蟲規(guī)則配置中固定為 antibot,表示 Bot 管理模塊。
- tags:Array 類型 | 必選 | 規(guī)則所屬防護(hù)功能模塊。在合法爬蟲規(guī)則配置中固定為
["antibot"]
,表示 Bot 管理模塊。
-
RuleId:Integer 類型 | 必選 | 規(guī)則 ID。
-
Time:String 類型 | 必選 | 規(guī)則最新修改時間,以秒級時間戳格式表示。
-
示例
{ "Status":0, "Version":1, "Content":{ "name":"百度蜘蛛白名單", "conditions":[], "expressions":["remote_addr inl 'ioc.210d077a-cf34-49ad-a9b3-0aa48095c595' && uri =^ '/'"], "bypassTags":"antibot", "tags":["antibot"] }, "RuleId":20384, "Time":1585818161 }
-
-
爬蟲威脅情報規(guī)則配置(bot_intelligence)對應(yīng)的 JSON 字符串中包含以下參數(shù):
-
Status:Integer 類型 | 必選 | 是否啟用,取值:
- 0:表示禁用。
- 1:表示啟用。
-
Version:Integer 類型 | 必選 | 規(guī)則版本號。
-
Content:String 類型 | 必選 | 規(guī)則詳細(xì)信息,以 JSON 字符串格式進(jìn)行描述,具體包含以下參數(shù):
- name:String 類型 | 必選 | 規(guī)則名稱。
- action:String 類型 | 必選 | 處置動作,取值:
- monitor:表示觀察。
- captcha:表示滑塊。
- captcha_strict:表示嚴(yán)格滑塊。
- js:表示 JavaScript 校驗。
- block:表示阻斷。
- urlList:Array 類型 | 必選 | 防護(hù)路徑,最多指定十個防護(hù)路徑。以 JSON 字符串方式表示,具體包含以下參數(shù):
- mode:String 類型 | 必選 | 匹配方式,與路徑關(guān)鍵字(url)參數(shù)結(jié)合指定防護(hù)路徑。可選值:eq(精準(zhǔn)匹配)、prefix-match(前綴匹配)、regex(正則匹配)。
- url:String 類型 | 必選 | 路徑關(guān)鍵字,必須以正斜杠(/)開頭。
- keyType:String 類型 | 必選 | 情報庫類型,包含 IP 庫(ip)、指紋庫(ua)兩種類型。
-
RuleId:Integer 類型 | 必選 | 規(guī)則 ID。
-
Time:String 類型 | 必選 | 規(guī)則最新修改時間,以秒級時間戳格式表示。
-
示例
{ "Status":1, "Version":1, "Content":{ "name":"IDC IP 庫-騰訊云", "action":"captcha_strict", "urlList":[{"mode":"prefix-match","url":"/indexa"}, {"mode":"regex","url":"/"},{"mode":"eq","url":"/"}], "keyType":"ip" }, "RuleId":922777, "Time":1585907112 }
-
-
數(shù)據(jù)風(fēng)控防護(hù)請求規(guī)則配置(antifraud)對應(yīng)的 JSON 字符串中包含以下參數(shù):
-
uri:String 類型 | 必選 | 具體的防護(hù)請求 URL。
-
示例
{ "uri": "http://1.example.com/example" }
-
-
數(shù)據(jù)風(fēng)控 JS 插入頁面配置(antifraud_js)對應(yīng)的 JSON 字符串中包含以下參數(shù):
-
uri:String 類型 | 必選 | 需要插入數(shù)據(jù)風(fēng)控 JS 頁面的 URL,系統(tǒng)將為所指定的 URL 路徑下的所有頁面插入數(shù)據(jù)風(fēng)控 JS。
-
示例
{ "uri": "/example/example" }
-
-
智能算法規(guī)則配置(bot_algorithm)對應(yīng)的 JSON 字符串中包含以下參數(shù):
-
Status:Integer 類型 | 必選 | 是否啟用,取值:
- 0:表示禁用。
- 1:表示啟用。
-
Version:Integer 類型 | 必選 | 規(guī)則版本號。
-
Content:String 類型 | 必選 | 規(guī)則詳細(xì)信息,以 JSON 字符串格式進(jìn)行描述,具體包含以下參數(shù):
- name:String 類型 | 必選 | 規(guī)則名稱。
- timeInterval:Integer 類型 | 必選 | 檢測周期,可選值:30、60、120、300、600,單位秒。
- action:String 類型 | 必選 | 處置動作,取值:
- monitor:表示觀察。
- captcha:表示滑塊。
- js:表示 JavaScript 校驗。
- block:表示阻斷。選擇阻斷作為處置動作時,必須設(shè)置阻斷時長(blocktime)參數(shù)。
- blocktime:Integer 類型 | 可選 | 阻斷時長,單位分鐘,取值范圍:1~600。
- algorithmName:String 類型 | 必選 | 算法名稱,取值:
- RR:表示專項資源爬蟲識別算法。
- PR:表示定向路徑爬蟲識別算法。
- DPR: 表示參數(shù)輪詢爬蟲識別算法。
- SR:表示動態(tài) IP 爬蟲識別算法。
- IND:表示代理設(shè)備爬蟲識別算法。
- Periodicity:表示周期性爬蟲識別算法。
- config:String 類型 | 必選 | 算法配置信息,以 JSON 字符串格式表示。算法配置信息中的具體子參數(shù)與所選擇的算法名稱(algorithmName)相關(guān)。
- 專項資源爬蟲識別算法(RR)對應(yīng)的配置信息應(yīng)包含以下子參數(shù):
- resourceType:Integer 類型 | 可選 | 請求的資源類型,取值:
- 1:表示動態(tài)資源類型。
- 2:表示靜態(tài)資源類型。
- -1:表示自定義資源類型。選擇自定義資源組時,需要再設(shè)置 extensions 參數(shù),以字符串格式指定具體的資源后綴名,多個后綴名間以英文逗號“,”分隔,例如
css,jpg,xls
。
- minRequestCountPerIp:Integer 類型 | 必選 | 檢測周期中檢測 IP 的范圍,大于等于一定訪問請求數(shù)量的 IP 才會被檢測。通過該參數(shù)指定訪問請求數(shù)量的最小值,取值范圍:5~10000。
- minRatio:Float 類型 | 必選 | 風(fēng)險判定條件,即 IP 訪問請求中訪問指定資源類型的占比閾值,超過閾值后判定為風(fēng)險,取值范圍:0.01~1。
- resourceType:Integer 類型 | 可選 | 請求的資源類型,取值:
- 定向路徑爬蟲識別算法(PR)對應(yīng)的配置信息應(yīng)包含以下子參數(shù):
- keyPathConfiguration:Array 類型 | 可選 | 請求的路徑信息,支持指定最多 10 條路徑,只在使用定向路徑爬蟲識別算法時需設(shè)置該子參數(shù)。以 JSON 字符串格式表示,具體包含以下參數(shù):
- method:String 類型 | 必選 | 請求方法,可選值:POST、GET、PUT、DELETE、HEAD、OPTIONS。
- url:String 類型 | 必選 | 請求路徑關(guān)鍵字,必須以正斜杠(/)開頭。
- matchType:String 類型 | 必選 | 匹配方式,與請求路徑關(guān)鍵字(url)參數(shù)結(jié)合指定請求路徑。可選值:all(精準(zhǔn)匹配)、prefix(前綴匹配)、regex(正則匹配)。
- minRequestCountPerIp:Integer 類型 | 必選 | 檢測周期中檢測 IP 的范圍,大于等于一定訪問請求數(shù)量的 IP 才會被檢測。通過該參數(shù)指定訪問請求數(shù)量的最小值,取值范圍:5~10000。
- minRatio:Float 類型 | 必選 | 風(fēng)險判定條件,即 IP 訪問請求中訪問指定路徑的占比閾值(對應(yīng)定向路徑爬蟲識別算法),超過閾值后判定為風(fēng)險,取值范圍:0.01~1。
- keyPathConfiguration:Array 類型 | 可選 | 請求的路徑信息,支持指定最多 10 條路徑,只在使用定向路徑爬蟲識別算法時需設(shè)置該子參數(shù)。以 JSON 字符串格式表示,具體包含以下參數(shù):
- 參數(shù)輪詢爬蟲識別算法(DPR)對應(yīng)的配置信息應(yīng)包含以下子參數(shù):
- method:String 類型 | 必選 | 請求方法,可選值:POST、GET、PUT、DELETE、HEAD、OPTIONS。
- urlPattern:String 類型 | 必選 | 關(guān)鍵參數(shù)路徑,必須以正斜杠(/)開頭。用{}表示關(guān)鍵參數(shù),配置多個{}時將拼接這些參數(shù)作為關(guān)鍵參數(shù)。例如,
/company/{}/{}/{}/user.php?uid={}
。 - minRequestCountPerIp:Integer 類型 | 必選 | 檢測周期中檢測 IP 的范圍,大于等于一定訪問請求數(shù)量的 IP 才會被檢測。通過該參數(shù)指定訪問請求數(shù)量的最小值,取值范圍:5~10000。
- minRatio:Float 類型 | 必選 | 風(fēng)險判定條件,即 IP 訪問請求中不同關(guān)鍵參數(shù)值的計數(shù)占比閾值,超過閾值后判定為風(fēng)險,取值范圍:0.01~1。
- 動態(tài) IP 爬蟲識別算法(SR)對應(yīng)的配置信息應(yīng)包含以下子參數(shù):
- maxRequestCountPerSrSession:Integer 類型 | 必選 | 通過設(shè)定每個會話中存在的最小請求次數(shù)定義異常會話,即單個會話中的請求次數(shù)小于該值即判定為異常會話。取值范圍:1~8。
- minSrSessionCountPerIp:Integer 類型 | 必選 | 風(fēng)險判定條件,即 IP 訪問請求中存在的異常會話數(shù)量閾值,單個 IP 訪問請求中的異常會話次數(shù)超過該值后判定為風(fēng)險。取值范圍:5~300。
- 代理設(shè)備爬蟲識別算法(IND)對應(yīng)的配置信息應(yīng)包含以下子參數(shù):
- minIpCount:Integer 類型 | 必選 | 惡意設(shè)備判定條件,即設(shè)備使用 WIFI 關(guān)聯(lián)的 IP 變換個數(shù)閾值,超過該閾值后判定為風(fēng)險,取值范圍:5~500。
- keyPathConfiguration:Array 類型 | 可選 | 檢測路徑信息,支持指定最多 10 條路徑。以 JSON 字符串格式表示,具體包含以下參數(shù):
- method:String 類型 | 必選 | 請求方法,可選值:POST、GET、PUT、DELETE、HEAD、OPTIONS。
- url:String 類型 | 必選 | 檢測路徑關(guān)鍵字,必須以正斜杠(/)開頭。
- matchType:String 類型 | 必選 | 匹配方式,與檢測路徑關(guān)鍵字(url)參數(shù)結(jié)合指定請求路徑。可選值:all(精準(zhǔn)匹配)、prefix(前綴匹配)、regex(正則匹配)。
- 周期性爬蟲識別算法(Periodicity)對應(yīng)的配置信息應(yīng)包含以下子參數(shù):
- minRequestCountPerIp:Integer 類型 | 必選 | 檢測周期中檢測 IP 的范圍,大于等于一定訪問請求數(shù)量的 IP 才會被檢測。通過該參數(shù)指定訪問請求數(shù)量的最小值,取值范圍:5~10000。
- level:Integer 類型 | 必選 | 風(fēng)險判定等級,即訪問 IP 的周期性特征的明顯程度,取值:
- 0:表示明顯。
- 1:表示中等。
- 2:表示較弱。
- 專項資源爬蟲識別算法(RR)對應(yīng)的配置信息應(yīng)包含以下子參數(shù):
-
RuleId:Integer 類型 | 必選 | 規(guī)則 ID。
-
Time:String 類型 | 必選 | 規(guī)則最新修改時間,以秒級時間戳格式表示。
-
示例
{ "Status":1, "Version":1, "Content":{ "name":"動態(tài) IP", "timeInterval":60, "action":"warn", "algorithmName":"IND", "config":{"minIpCount":5,"keyPathConfiguration":[{"method":"GET","matchType":"prefix","url":"/index"}]} }, "RuleId":940180, "Time":1585832957 }
-
-
App 防護(hù)的版本防護(hù)規(guī)則配置(bot_wxbb_pkg)對應(yīng)的 JSON 字符串中包含以下參數(shù):
-
Version:Integer 類型 | 必選 | 規(guī)則版本號。
-
Content:String 類型 | 必選 | 規(guī)則詳細(xì)信息,以 JSON 字符串格式進(jìn)行描述,具體包含以下參數(shù):
- name:String 類型 | 必選 | 規(guī)則名稱。
- action:String 類型 | 必選 | 處置動作,取值:
- test:表示觀察。
- close:表示阻斷。
- nameList:Array 類型 | 必選 | 合法版本信息,最多指定五條規(guī)則。以 JSON 字符串方式表示,具體包含以下參數(shù):
- name:String 類型 | 必選 | 合法包名稱。
- signList:Array 類型 | 必選 | 對應(yīng)的包簽名,最多包含 15 個,以半角逗號(,)分隔。
-
RuleId:Integer 類型 | 必選 | 規(guī)則 ID。
-
Time:String 類型 | 必選 | 規(guī)則最新修改時間,以秒級時間戳格式表示。
-
示例
{ "Version":0, "Content":{ "nameList":[{"signList":["xxxxxx","xxxxx","xxxx","xx"],"name":"apk-xxxx"}], "name":"test", "action":"close" }, "RuleId":271, "Time":1585836143 }
-
-
App 防護(hù)的路徑防護(hù)規(guī)則配置(bot_wxbb)對應(yīng)的 JSON 字符串中包含以下參數(shù):
-
Version:Integer 類型 | 必選 | 規(guī)則版本號。
-
Content:String 類型 | 必選 | 規(guī)則詳細(xì)信息,以 JSON 字符串格式進(jìn)行描述,具體包含以下參數(shù):
- name:String 類型 | 必選 | 規(guī)則名稱。
- uri:String 類型 | 必選 | 防護(hù)路徑,必須以正斜杠(/)開頭。
- matchType:String 類型 | 必選 | 匹配方式。可選值:all(精準(zhǔn)匹配)、prefix(前綴匹配)、regex(正則匹配)。
- arg:String 類型 | 必選 | 參數(shù)包含,與匹配方式(matchType)參數(shù)結(jié)合指定防護(hù)路徑配置。
- action:String 類型 | 必選 | 處置動作,取值:
- test:表示觀察。
- close:表示阻斷。
- wxbbVmpFieldType:Integer 類型 | 可選 | 自定義加簽字段類型。如果規(guī)則中未設(shè)置自定義加簽字段,則不返回該參數(shù)。取值:
- 0:表示 header。
- 1:表示參數(shù)。
- 2:表示 cookie。
- wxbbVmpFieldValue:String 類型 | 可選 | 自定義加簽字段值。如果規(guī)則中未設(shè)置自定義加簽字段,則不返回該參數(shù)。
- blockInvalidSign:Boolean 類型 | 必選 | 是否對非法簽名執(zhí)行處置動作。
- blockProxy:Boolean 類型 | 必選 | 是否對代理執(zhí)行處置動作。
- blockSimulator:Boolean 類型 | 必選 | 是否對模擬器執(zhí)行處置動作。
-
RuleId:Integer 類型 | 必選 | 規(guī)則 ID。
-
Time:String 類型 | 必選 | 規(guī)則最新修改時間,以秒級時間戳格式表示。
-
示例
{ "Version":6, "Content":{ "blockInvalidSign":true, "wxbbVmpFieldValue":"test", "blockSimulator":true, "matchType":"all", "arg":"test", "name":"test", "action":"close", "blockProxy":true, "uri":"/index", "wxbbVmpFieldType":1 }, "RuleId":2585, "Time":1586241849 }
-
-
IP 黑名單規(guī)則配置(ac_blacklist)對應(yīng)的 JSON 字符串中包含以下參數(shù):
-
empty:Boolean 類型 | 必選 | 黑名單是否為空。
-
remoteAddr:Array 類型 | 必選 | 黑名單中的 IP。
-
area:String 類型 | 必選 | 以 JSON 格式字符串表示區(qū)域封禁規(guī)則,包含國家編碼(countryCodes)、區(qū)域編碼(regionCodes)、是否放行(not)具體參數(shù)。由于 API 接口中以編碼形式返回封禁國家和區(qū)域,建議您在控制臺中查看具體的封禁國家和區(qū)域。
-
示例
{ "empty":false, "remoteAddr":["1.XX.XX.1","12.XX.XX.2"] }
-
-
高頻 Web 攻擊 IP 自動封禁規(guī)則配置(ac_highfreq)對應(yīng)的 JSON 字符串中包含以下參數(shù):
-
interval:Integer 類型 | 必選 | 檢測時間范圍,單位秒,取值范圍:5~1800。
-
ttl:Integer 類型 | 必選 | 封禁 IP 時長,單位秒,取值范圍:60~86400。
-
count:Integer 類型 | 必選 | Web 攻擊次數(shù)閾值,檢測時間范圍內(nèi)攻擊次數(shù)超過該值,觸發(fā)封禁。取值范圍:2~50000。
-
示例
{ "interval":60, "ttl":300, "count":60 }
-
-
目錄掃描防護(hù)規(guī)則配置(ac_dirscan)對應(yīng)的 JSON 字符串中包含以下參數(shù):
-
interval:Integer 類型 | 必選 | 檢測時間范圍,單位秒,取值范圍:5~1800。
-
ttl:Integer 類型 | 必選 | 封禁 IP 時長,單位秒。
-
count:Integer 類型 | 必選 | 訪問次數(shù)閾值,取值范圍:2~50000。
-
weight:Float 類型 | 必選 | 404 響應(yīng)碼占比閾值(百分比),取值范圍:
(0,1]
。 -
uriNum:Integer 類型 | 必選 | 掃描目錄數(shù)量閾值,取值范圍:2~50000。
-
示例
{ "interval":10, "ttl":1800, "count":50, "weight":0.7, "uriNum":20 }
-
-
自定義防護(hù)策略規(guī)則配置(ac_custom),通過其對應(yīng) JSON 字符串中的 scene 參數(shù)來設(shè)置 ACL 訪問控制規(guī)則和 CC 攻擊防護(hù)規(guī)則。
-
自定義 ACL 訪問控制規(guī)則(scene 參數(shù)值為custom_acl)對應(yīng)的 JSON 字符串中包含以下參數(shù):
-
name:String 類型 | 必選 | 規(guī)則名稱。
-
scene:String 類型 | 必選 | 防護(hù)類型。設(shè)置 ACL 訪問控制規(guī)則時,取值固定為custom_acl。
-
action:String 類型 | 必選 | 處置動作,取值:
- monitor:表示觀察。
- captcha:表示滑塊。
- captcha_strict:表示嚴(yán)格滑塊。
- js:表示 JS 驗證。
- block:表示阻斷。
-
conditions:Array 類型 | 必選 | 匹配條件,以 JSON 字符串格式進(jìn)行描述,具體包含以下參數(shù):
-
key:匹配字段,取值:URL、IP、Referer、User-Agent、Params、Cookie、Content-Type、Content-Length、X-Forwarded-For、Post-Body、Http-Method、Header、URLPath。
-
opCode:邏輯符,取值:
- 11:表示等于。
- 10:表示不等于。
- 41:表示等于多值之一。
- 50:表示不等于任一值。
- 1:表示包含。
- 0:表示不包含。
- 51:表示包含多值之一。
- 52:表示不包含任一值。
- 82:表示存在。
- 2:表示不存在。
- 21:表示長度等于。
- 22:表示長度大于。
- 20:表示長度小于。
- 60:表示正則不匹配。
- 61:表示正則匹配。
- 72:表示前綴匹配。
- 81:表示后綴匹配。
- 80:表示內(nèi)容為空。
-
values:匹配內(nèi)容。根據(jù)需要設(shè)置相應(yīng)的內(nèi)容,以 String 類型表示。
-
contain:同樣表示規(guī)則條件的邏輯符,取值與 opCode 參數(shù)相同。
-
opValue:邏輯符的簡寫含義,您可以參考 opCode 參數(shù)取值說明了解詳細(xì)信息。
-
pattern:同樣表示邏輯符的簡寫含義,取值與 opValue 參數(shù)相同。
-
-
expressions:Array 類型 | 必選 | 規(guī)則條件表達(dá)式,以更易讀的方式表示所有規(guī)則條件信息。
-
示例
{ "name":"test2", "action":"monitor", "conditions":[{"contain":1,"values":"login","pattern":"contain","opCode":1,"opValue":"contain","key":"URL"}], "expressions":["request_uri contains 'login' "], "scene":"custom_acl" }
-
-
自定義 CC 攻擊防護(hù)規(guī)則(scene 參數(shù)值為custom_cc)對應(yīng)的 JSON 字符串中包含以下參數(shù):
-
name:String 類型 | 必選 | 規(guī)則名稱。
-
scene:String 類型 | 必選 | 防護(hù)類型。設(shè)置 CC 攻擊防護(hù)規(guī)則時,取值固定為custom_cc。
-
conditions:Array 類型 | 必選 | 匹配條件,以 JSON 字符串格式進(jìn)行描述,具體包含以下參數(shù):
- key:匹配字段,取值:URL、IP、Referer、User-Agent、Params、Cookie、Content-Type、Content-Length、X-Forwarded-For、Post-Body、Http-Method、Header、URLPath。
- opCode:邏輯符,取值:
- 11:表示等于。
- 10:表示不等于。
- 41:表示等于多值之一。
- 50:表示不等于任一值。
- 1:表示包含。
- 0:表示不包含。
- 51:表示包含多值之一。
- 52:表示不包含任一值。
- 82:表示存在。
- 2:表示不存在。
- 21:表示長度等于。
- 22:表示長度大于。
- 20:表示長度小于。
- 60:表示正則不匹配。
- 61:表示正則匹配。
- 72:表示前綴匹配。
- 81:表示后綴匹配。
- 80:表示內(nèi)容為空。
- values:匹配內(nèi)容。根據(jù)需要設(shè)置相應(yīng)的內(nèi)容,以 String 類型表示。
- contain:同樣表示規(guī)則條件的邏輯符,取值與 opCode 參數(shù)相同。
- opValue:邏輯符的簡寫含義,您可以參考 opCode 參數(shù)取值說明了解詳細(xì)信息。
- pattern:同樣表示邏輯符的簡寫含義,取值與 opValue 參數(shù)相同。
-
expressions:Array 類型 | 必選 | 規(guī)則條件表達(dá)式,以更易讀的方式表示所有規(guī)則條件信息。
-
action:String 類型 | 必選 | 處置動作,取值:
- monitor:表示觀察。
- captcha:表示滑塊。
- captcha_strict:表示嚴(yán)格滑塊。
- js:表示 JS 驗證。
- block:表示阻斷。
-
ratelimit:JSON 格式 | 必選 | 頻率設(shè)置。以 JSON 字符串格式進(jìn)行描述,具體包含以下參數(shù):
- target:String 類型 | 必選 | 統(tǒng)計對象類型,取值:
- remote_addr:表示 IP。
- cookie.acw_tc:表示 Session。
- queryarg:表示自定義參數(shù)。選擇自定義參數(shù)時,必須在 subkey 參數(shù)中設(shè)置需要統(tǒng)計的自定義參數(shù)名稱。
- cookie:表示自定義 cookie。選擇自定義 cookie 時,您必須在 subkey 參數(shù)中設(shè)置需要統(tǒng)計的 cookie 內(nèi)容。
- header:表示自定義 header。選擇自定義 header 時,您必須在 subkey 參數(shù)中設(shè)置需要統(tǒng)計的 header 內(nèi)容。
- subkey:String 類型 | 可選 | 當(dāng) target 參數(shù)值為 cookie、header 或 queryarg 時,您必須在 subkey 參數(shù)中設(shè)置對應(yīng)的信息。
- interval: Integer 類型 | 必選 | 統(tǒng)計時長(單位:秒),即訪問次數(shù)的統(tǒng)計周期,與閾值(threshold)參數(shù)配合。
- threshold:Integer 類型 | 必選 | 在檢測時長內(nèi),允許單個統(tǒng)計對象訪問被防護(hù)地址的次數(shù)閾值。
- status:JSON 格式 | 可選 | 響應(yīng)碼頻率設(shè)置。以 JSON 字符串格式進(jìn)行描述,具體包含以下參數(shù):
- code:Integer 類型 | 必選 | 指定響應(yīng)碼。
- count:Integer 類型 | 可選 | 出現(xiàn)次數(shù)閾值,即表示當(dāng)指定的響應(yīng)碼出現(xiàn)次數(shù)超過該閾值時命中防護(hù)規(guī)則,取值范圍:1~999999999。count 參數(shù)與 ratio 參數(shù)兩者選其一,不可同時配置。
- ratio:Integer 類型 | 可選 | 出現(xiàn)比例閾值(百分比),即表示當(dāng)指定的響應(yīng)碼出現(xiàn)比例超過該閾值時命中防護(hù)規(guī)則,取值范圍:1~100。count 參數(shù)與 ratio 參數(shù)兩者選其一,不可同時配置。
- scope:String 類型 | 必選 | 生效范圍,取值:
- rule:表示當(dāng)前特征匹配范圍內(nèi)。
- domain:表示當(dāng)前規(guī)則作用的域名范圍內(nèi)。
- ttl:Integer 類型 | 必選 | 處置動作的生效時長,單位:秒,取值范圍:60~86400。
- target:String 類型 | 必選 | 統(tǒng)計對象類型,取值:
-
示例
{ "name":"CC 防護(hù)", "conditions":[{"contain":1,"values":"login","pattern":"contain","opCode":1,"opValue":"contain","key":"URL"}], "expressions":["request_uri contains 'login' "], "action":"block", "scene":"custom_cc", "ratelimit":{ "target": "remote_addr", "interval": 300, "threshold": 2000, "status": { "code": 404, "count": 200 }, "scope": "rule", "ttl": 1800 } }
-
-
-
白名單規(guī)則配置(whitelist)對應(yīng)的 JSON 字符串中包含以下參數(shù):
-
name:String 類型 | 必選 | 規(guī)則名稱。
-
tags:Array 類型 | 必選 | 不檢測模塊,可設(shè)置多個模塊,取值:
- waf:表示網(wǎng)站白名單。
- cc:表示系統(tǒng) CC 防護(hù)。
- customrule:表示自定義規(guī)則。
- blacklist:表示 IP 黑名單。
- antiscan:表示掃描防護(hù)。
- regular:表示規(guī)則防護(hù)引擎。
- deeplearning:表示深度學(xué)習(xí)引擎。
- antifraud:表示數(shù)據(jù)風(fēng)控。
- dlp:表示防敏感信息泄露。
- tamperproof:表示網(wǎng)站防篡改。
- bot_intelligence:表示爬蟲威脅情報。
- bot_algorithm:表示智能算法。
- bot_wxbb:表示 App 防護(hù)。
-
bypassTags:String 類型 | 必選 | 不檢測的模塊列表。
-
origin:String 類型 | 可選 | 白名單規(guī)則的來源。取值固定為 ai,表示白名單規(guī)則由 WAF 智能規(guī)則托管功能自動添加。不返回該參數(shù)表示白名單規(guī)則包括您手動添加的規(guī)則和智能規(guī)則托管功能自動添加的規(guī)則。
-
conditions:Array 類型 | 必選 | 匹配條件,以 JSON 字符串格式進(jìn)行描述,具體包含以下參數(shù):
-
key:匹配字段,取值:URL、IP、Referer、User-Agent、Params、Cookie、Content-Type、Content-Length、X-Forwarded-For、Post-Body、Http-Method、Header、URLPath。
-
opCode:邏輯符,取值:
- 11:表示等于。
- 10:表示不等于。
- 41:表示等于多值之一。
- 50:表示不等于任一值。
- 1:表示包含。
- 0:表示不包含。
- 51:表示包含多值之一。
- 52:表示不包含任一值。
- 82:表示存在。
- 2:表示不存在。
- 21:表示長度等于。
- 22:表示長度大于。
- 20:表示長度小于。
- 60:表示正則不匹配。
- 61:表示正則匹配。
- 72:表示前綴匹配。
- 81:表示后綴匹配。
- 80:表示內(nèi)容為空。
-
values:匹配內(nèi)容。根據(jù)需要設(shè)置相應(yīng)的內(nèi)容,以 String 類型表示。
-
contain:同樣表示規(guī)則條件的邏輯符,取值與 opCode 參數(shù)相同。
-
opValue:邏輯符的簡寫含義,您可以參考 opCode 參數(shù)取值說明了解詳細(xì)信息。
-
pattern:同樣表示邏輯符的簡寫含義,取值與 opValue 參數(shù)相同。
-
-
expressions:Array 類型 | 必選 | 規(guī)則條件表達(dá)式,以更易讀的方式表示所有規(guī)則條件信息。
-
示例
{ "name": "test", "tags": ["cc","customrule"], "bypassTags":"antifraud,dlp,tamperproof", "conditions":[{"contain":1,"values":"login","pattern":"contain","opCode":1,"opValue":"contain","key":"URL"}], "expressions":["request_uri contains 'login' "] }
-
示例
正常返回示例
JSON
格式
{
"TotalCount": 1,
"RequestId": "D7861F61-5B61-46CE-A47C-6B19160D5EB0",
"Rules": [
{
"Status": 1,
"Time": 1570700044,
"Content": {
"count": 60,
"interval": 60,
"ttl": 300
},
"Version": 2,
"RuleId": 42755
}
]
}
錯誤碼
訪問錯誤中心查看更多錯誤碼。