查詢攻擊流量 top 統計資料,攻擊流量按照一定維度聚合統計並排序後返回 topN 資料。
介面說明
攻擊流量指的是命中規則並且被判定為有風險的請求。如下三種資料不包含:
命中「白名單規則」的請求。
命中 bot 規則,但是規則動作為「回源標記」的請求。
命中規則並且規則動作為「動態令牌」/「滑塊」/「嚴格滑塊」/「js 驗證」,但是使用者校驗通過並放行的請求。
調試
您可以在OpenAPI Explorer中直接運行該介面,免去您計算簽名的困擾。運行成功後,OpenAPI Explorer可以自動產生SDK程式碼範例。
調試
授權資訊
|
操作 |
存取層級 |
資源類型 |
條件關鍵字 |
關聯操作 |
|
yundun-waf:DescribeSecurityEventTopNMetric |
get |
*All Resource
|
|
無 |
請求參數
|
名稱 |
類型 |
必填 |
描述 |
樣本值 |
| InstanceId |
string |
是 |
WAF 執行個體的 ID。 說明
您可以呼叫 DescribeInstance 查詢目前 WAF 執行個體的 ID。 |
waf_cdnsdf3**** |
| Filter |
object |
是 |
查詢過濾條件,多個過濾條件之間是邏輯 AND 的關係。 |
|
| DateRange |
object |
是 |
查詢時間範圍。 |
|
| StartDate |
integer |
是 |
查詢的資料範圍不超過過去 30 天。查詢資料時使用的開始時間,使用 UNIX 時間戳記表示,單位:秒。 說明
開始時間必須晚於目前時間減去 30 天。 |
1713888000 |
| EndDate |
integer |
是 |
查詢資料時使用的結束時間,使用 UNIX 時間戳記表示,單位:秒。 |
1713888600 |
| Conditions |
array<object> |
否 |
過濾條件清單,每一個節點描述一個過濾條件。 |
|
|
object |
否 |
單個查詢條件設定,查詢條件由欄位名稱、運算子和過濾內容組成。關於查詢條件中支援的欄位名稱以及運算子請參見請求參數補充說明。 |
||
| Key |
string |
否 |
執行過濾操作的欄位名稱,該介面支援所有欄位。 |
matched_host |
| OpValue |
string |
否 |
運算子。 |
eq |
| Values |
any |
否 |
過濾值。 |
test.waf-top |
| Limit |
integer |
是 |
控制統計資料按照降序排序後返回資料筆數,最大值為 10。 |
10 |
| Metric |
string |
是 |
用於區分返回的資料內容,不同的 Metric 對應不同的資料內容,該介面支援的 Metric 如下: 說明
「攻擊請求」的定義參見 API 介面描述,下面的描述中引用該概念
|
real_client_ip |
| RegionId |
string |
否 |
WAF 執行個體所屬地域。取值:
|
cn-hangzhou |
| ResourceManagerResourceGroupId |
string |
否 |
阿里雲資源群組 ID。 |
rg-acfm***q |
運算子說明
| 運算子 | 含義 | 說明 |
| all-not-match | 不等於任一值 | 欄位值和資料集合中的任意資料都不相等,例如過濾 real_client_ip 不等於集合中任一值:{"Key":"real_client_ip","OpValue":"all-not-match","Values":["1.1.1.1","2.2.2.2","3.3.3.3"]} |
| contain | 包含 | 欄位值包含某個字串,例如過濾 URL 包含 "test" 的資料:{"Key":"request_path","OpValue":"contain","Values":"test"} |
| eq | 等於 | 欄位值等於某個字串,例如過濾 URL 等於 "/testcase" 的資料:{"Key":"request_path","OpValue":"eq","Values":"/testcase"} |
| match-one | 等於多值之一 | 欄位值和資料集合中的任意一資料相等,例如過濾 real_client_ip 等於集合中任一值:{"Key":"real_client_ip","OpValue":"match-one","Values":["1.1.1.1","2.2.2.2","3.3.3.3"]} |
| ne | 不等於 | 欄位值不等於某個字串,例如過濾 URL 不等於 "/testcase" 的統計資料:{"Key":"request_path","OpValue":"ne","Values":"/testcase"} |
| not-contain | 不包含 | 欄位值不包含某個字串,例如過濾 URL 不包含 "test" 的資料:{"Key":"request_path","OpValue":"not-contain","Values":"test"} |
| prefix-match | 前綴匹配 | 欄位值以某個字串作為前綴,例如過濾 URL 前綴是 "/testcase" 的資料:{"Key":"request_path","OpValue":"prefix-match","Values":"/testcase"} |
| suffix-match | 後綴匹配 | 欄位值以某個字串作為後綴,例如過濾 URL 後綴是 "/testcase" 的資料:{"Key":"request_path","OpValue":"suffix-match","Values":"/testcase"} |
過濾條件支援的 Key
| 欄位名稱 | 欄位含義 | 支援的運算子 |
| action | 防護動作,即該請求最終被處置的動作。 | ne、eq |
| cluster | 防護叢集。 | ne、eq、 match-one、 all-not-match |
| defense_scene | 防護模組,一條請求可能命中多個防護模組,使用該欄位過濾出的請求可能也會同時命中其它模組。 | ne、eq |
| host | http 標頭的 host。 | contain、 not-contain、ne、eq、match-one、all-not-match、prefix-match、suffix-match |
| http_cookie | http 標頭的 cookie。 | contain、 not-contain、ne、eq、match-one、 all-not-match、prefix-match、suffix-match |
| http_user_agent | http 標頭取得的 User-Agent。 | contain、 not-contain、ne、eq、match-one、 all-not-match、prefix-match、suffix-match |
| matched_host | 防護物件。 | ne、eq、 match-one、 all-not-match |
| real_client_ip | 請求來源 IP,運算子後跟隨的參數只能是 IP 地址字串或者 IP 地址字串清單,不支援網段查詢。 | ne、eq、 match-one、 all-not-match |
| remote_country_id | http 請求來源 IP 歸屬國家。 | ne、eq、 match-one、 all-not-match |
| remote_region_id | http 請求來源 IP 省市。 | ne、eq、 match-one、 all-not-match |
| request_method | http 請求方法。 | ne、eq、 match-one、 all-not-match |
| request_path | http 請求 URL,不包含 query。 | contain、 not-contain、ne、eq、match-one、 all-not-match、prefix-match、suffix-match |
| request_traceid | 標識請求的唯一 ID。 | ne、eq、 match-one、 all-not-match |
| rule_id | 規則 ID,一條請求可能命中多條規則,使用該欄位過濾出的請求可能也會同時命中其它規則。 | ne、eq |
返回參數
|
名稱 |
類型 |
描述 |
樣本值 |
|
object |
返回的資料結果,格式範例參見範例。 |
||
| RequestId |
string |
請求 ID。 |
D827FCFE-90A7-4330-9326-*****B4C7726 |
| SecurityEventTopNValues |
array<object> |
返回的 top 統計資料陣列。 |
|
|
object |
每一個點對應一筆 top 統計資料。 |
||
| Name |
string |
某個欄位的值,根據查詢的 Metric 不同,代表不同的含義。 |
10000 |
| Attribute |
string |
用於返回額外的資訊,例如返回規則 ID 所屬的防護模組。 |
waf_base |
| Value |
integer |
用於 top 排序的統計計數。 |
1111 |
| TopNMetaData |
object |
返回資料的中繼資料。 |
|
| DateRange |
object |
查詢時使用的時間範圍。 |
|
| StartDate |
integer |
查詢資料時使用的開始時間,使用 UNIX 時間戳記表示,單位:秒。該值和入參數重的 StartDate 一致。 |
1713888000 |
| EndDate |
integer |
查詢資料時使用的結束時間,使用 UNIX 時間戳記表示,單位:秒。該值和入參數重的 EndDate 一致。 |
1713888600 |
| Units |
string |
返回的統計資料的單位。 |
requests |
樣本
正常返回樣本
JSON格式
{
"RequestId": "D827FCFE-90A7-4330-9326-*****B4C7726\n",
"SecurityEventTopNValues": [
{
"Name": "10000",
"Attribute": "waf_base\n",
"Value": 1111
}
],
"TopNMetaData": {
"DateRange": {
"StartDate": 1713888000,
"EndDate": 1713888600
},
"Units": "requests\n"
}
}
錯誤碼
|
HTTP status code |
錯誤碼 |
錯誤資訊 |
描述 |
|---|---|---|---|
| 400 | Waf.Report.%s | Invalid parameter:%s. | 無效的參數:%s。 |
| 400 | Waf.Report.InternalError | Server error occurred in report service. | 報表服務內部錯誤。 |
訪問錯誤中心查看更多錯誤碼。
變更歷史
更多資訊,參考變更詳情。