查詢攻擊流量的詳情日誌列表,每條日誌中包含了一條請求命中的詳細資料。
介面說明
攻擊流量指的是命中規則並且被判定為有風險的請求。如下三種資料不包含:
命中“白名單規則”的請求。
命中 bot 規則,但是規則動作為“回源標記”的請求。
命中規則並且規則動作為“動態令牌”/“滑塊”/“嚴格滑塊”/“js 驗證”,但是使用者校正通過並允許存取的請求。
調試
您可以在OpenAPI Explorer中直接運行該介面,免去您計算簽名的困擾。運行成功後,OpenAPI Explorer可以自動產生SDK程式碼範例。
調試
授權資訊
|
操作 |
存取層級 |
資源類型 |
條件關鍵字 |
關聯操作 |
|
yundun-waf:DescribeSecurityEventLogs |
get |
*全部資源
|
|
無 |
請求參數
|
名稱 |
類型 |
必填 |
描述 |
樣本值 |
| InstanceId |
string |
是 |
WAF 執行個體的 ID。 說明
您可以調用 DescribeInstance 查詢當前 WAF 執行個體的 ID。 |
waf_cdnsdf3**** |
| Filter |
object |
是 |
查詢過濾條件,多個過濾條件之間是邏輯與的關係。 |
|
| 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 |
| PageSize |
integer |
是 |
分頁查詢時每頁的行數。最大值為 100。 |
10 |
| PageNumber |
integer |
是 |
分頁查詢時,返回第幾頁資料。預設值為 1,表示返回第 1 頁資料。 |
1 |
| 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-******4C7726 |
| SecurityEventLogs |
array |
返回的攻擊日誌詳情列表。 |
|
|
any |
每一個節點是一條攻擊日誌,對應了一條請求。具體資訊參見日誌欄位說明和返回資料樣本。 |
{ "remote_region_id": "11***0", "plugin_matched_detail_waf_group": "****", "plugin_matched_block_rule_detail": "****", "querystring": "-", "matched_host": "i-8vbaazr2tboqsq******-443-ecs", "remote_country_id": "CN", "remote_isp_id": "100**8", "request_method": "GET", "plugin_matched_test_rule_detail": "[]", "request_traceid": "0b6261221742197109309484******", "dst_port": "0", "host": "39.99.***.109", "real_client_ip": "47.92.***.14", "request_path": "/.git/HEAD", "server_protocol": "HTTP/1.1", "timestamp": "1742197109" } |
|
| SecurityEventMetaData |
object |
返回資料的元資訊。 |
|
| DateRange |
object |
查詢時使用的時間範圍。 |
|
| StartDate |
integer |
查詢資料時使用的開始時間,使用 UNIX 時間戳記表示,單位:秒。該值和入參數重的 StartDate 一致。 |
1713888000 |
| EndDate |
integer |
查詢資料時使用的結束時間,使用 UNIX 時間戳記表示,單位:秒。該值和入參數重的 EndDate 一致。 |
1713888600 |
| Units |
string |
返回的統計資料的單位。 |
requests |
| SecurityEventLogsTotalCount |
integer |
查詢到的攻擊日誌總條數。 |
1000 |
日誌欄位說明
| 欄位名稱 | 欄位含義 | 取值樣本 |
| dst_port | 被請求的目的連接埠。 | 443 |
| host | 用戶端要求標頭部的 Host 欄位,表示被訪問的網域名稱(基於您的業務設定,也可能是 IP 位址)。 | api.example.com |
| matched_host | 用戶端請求匹配到的 WAF 防護對象(雲產品執行個體、網域名稱)。 | .aliyun**.com |
| plugin_matched_detail_waf_group | 當前請求命中的 Web 核心防護詳細資料,記錄了資料命中規則的原因。 | |
| plugin_matched_block_rule_detail | 記錄請求命中的非觀察模式規則的詳細資料,包含了規則 id/動作/防護模組。 | |
| plugin_matched_test_rule_detail | 記錄請求命中的觀察模式規則的詳細資料,包含了規則 id/動作/防護模組。 | |
| querystring | 用戶端請求中的查詢字串,具體指被請求 URL 中問號(?)後面的部分。 | title=tm_content%3Darticle&pid=123 |
| remote_region_id | IP 位址歸屬的省 ID。 | 410000 |
| remote_country_id | 源 IP 所屬國家 ID。 | CN |
| remote_isp_id | 源 IP 所屬 IDC 機房。 | 100098 |
| request_method | 用戶端請求的方法。 | GET |
| request_traceid | WAF 為用戶端請求產生的唯一標識。 | 7837b11715410386943437009***** |
| real_client_ip | WAF 對用戶端請求進行分析後,判定發起該請求的真實用戶端 IP,便於您在業務中直接使用。 | 192.0.XX.XX |
| request_path | 被請求的相對路徑,具體指被請求 URL 中網域名稱後面且問號(?)前面的部分(不包含查詢字串)。 | /news/search.php |
| server_protocol | 用戶端和 WAF 之間的協議。 | HTTP/1.1 |
| timestamp | 請求被引擎處理的時間,使用 Unix 時間戳記。 | 1742197109 |
返回資料樣本
{
"SecurityEventLogsTotalCount": 1,
"SecurityEventLogs": [
{
"remote_region_id": "110000",
"plugin_matched_detail_waf_group": "{\"uri\":{\"hit\":[\"/.git/\"],\"raw\":\"/.git/\"}}",
"plugin_matched_block_rule_detail": "[{\"RuleId\":\"12***5\",\"Action\":\"block\",\"DefenseScene\":\"waf_base\",\"RuleType\":\"other\"}]",
"querystring": "-",
"matched_host": "i-8vbaazr2tboqsq******-443-ecs",
"remote_country_id": "CN",
"remote_isp_id": "100098",
"request_method": "GET",
"plugin_matched_test_rule_detail": "[]",
"request_traceid": "0b6261221742197109309484******",
"dst_port": "0",
"host": "39.99.***.109",
"real_client_ip": "47.92.***.14",
"request_path": "/.git/HEAD",
"server_protocol": "HTTP/1.1",
"timestamp": "1742197109"
}
],
"SecurityEventMetaData": {
"DateRange": {
"StartDate": 1742196600,
"EndDate": 1742197500
}
}
}
樣本
正常返回樣本
JSON格式
{
"RequestId": "D827FCFE-90A7-4330-9326-******4C7726\n",
"SecurityEventLogs": [
"{\n\t\"remote_region_id\": \"11***0\",\n\t\"plugin_matched_detail_waf_group\": \"****\",\n\t\"plugin_matched_block_rule_detail\": \"****\",\n\t\"querystring\": \"-\",\n\t\"matched_host\": \"i-8vbaazr2tboqsq******-443-ecs\",\n\t\"remote_country_id\": \"CN\",\n\t\"remote_isp_id\": \"100**8\",\n\t\"request_method\": \"GET\",\n\t\"plugin_matched_test_rule_detail\": \"[]\",\n\t\"request_traceid\": \"0b6261221742197109309484******\",\n\t\"dst_port\": \"0\",\n\t\"host\": \"39.99.***.109\",\n\t\"real_client_ip\": \"47.92.***.14\",\n\t\"request_path\": \"/.git/HEAD\",\n\t\"server_protocol\": \"HTTP/1.1\",\n\t\"timestamp\": \"1742197109\"\n}"
],
"SecurityEventMetaData": {
"DateRange": {
"StartDate": 1713888000,
"EndDate": 1713888600
},
"Units": "requests"
},
"SecurityEventLogsTotalCount": 1000
}
錯誤碼
|
HTTP status code |
錯誤碼 |
錯誤資訊 |
描述 |
|---|---|---|---|
| 400 | Waf.Report.%s | Invalid parameter:%s. | 無效的參數:%s |
| 400 | Waf.Report.InternalError | Server error occurred in report service. | 報表格服務內部錯誤 |
訪問錯誤中心查看更多錯誤碼。
變更歷史
更多資訊,參考變更詳情。