查询攻击流量时序数据,攻击请求指的是命中规则并且被判定为有风险的请求。
接口说明
攻击流量指的是命中规则并且被判定为有风险的请求。如下三种数据不包含:
- 命中“白名单规则”的请求。
- 命中 bot 规则,但是规则动作为“回源标记”的请求。
- 命中规则并且规则动作为“动态令牌”/“滑块”/“严格滑块”/“js 验证”,但是用户校验通过并放行的请求。
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。
授权信息
下表是API对应的授权信息,可以在RAM权限策略语句的Action
元素中使用,用来给RAM用户或RAM角色授予调用此API的权限。具体说明如下:
- 操作:是指具体的权限点。
- 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。
- 资源类型:是指操作中支持授权的资源类型。具体说明如下:
- 对于必选的资源类型,用前面加 * 表示。
- 对于不支持资源级授权的操作,用
全部资源
表示。
- 条件关键字:是指云产品自身定义的条件关键字。
- 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。
操作 | 访问级别 | 资源类型 | 条件关键字 | 关联操作 |
---|
操作 | 访问级别 | 资源类型 | 条件关键字 | 关联操作 |
---|---|---|---|---|
yundun-waf:DescribeSecurityEventTimeSeriesMetric | get | *全部资源 * |
| 无 |
请求参数
名称 | 类型 | 必填 | 描述 | 示例值 |
---|
名称 | 类型 | 必填 | 描述 | 示例值 |
---|---|---|---|---|
InstanceId | string | 是 | 要操作的 WAF 实例 ID。
您可以调用 DescribeInstanceInfo 查询 WAF 实例的 ID。
| waf-cn-tl32ast**** |
Filter | object | 是 | 查询过滤条件,多个过滤条件之间是逻辑与的关系。 | |
DateRange | object | 是 | 查询时间范围。 | |
StartDate | long | 是 | 查询数据时使用的开始时间,使用 UNIX 时间戳表示,单位:秒。 | 1713888000 |
EndDate | long | 是 | 查询数据时使用的结束时间,使用 UNIX 时间戳表示,单位:秒。 | 1713888600 |
Conditions | array<object> | 否 | 过滤条件列表,每一个节点描述一个过滤条件。 | |
object | 否 | 单个查询条件配置,查询条件由字段名称、操作符和过滤内容组成。关于查询条件中支持的字段名称以及操作符请参见请求参数补充说明。 | ||
Key | string | 否 | 执行过滤操作的字段名称,该接口支持所有字段。 | matched_host |
OpValue | string | 否 | 操作符。 | eq |
Values | any | 否 | 过滤值。 | test.waf-top |
Metric | string | 是 | 用于区分返回的数据内容,不同的 Metric 对应不同的数据内容,该接口支持的 Metric 如下:
| mitigated_requests |
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 |
返回参数
时间序列数据点时间粒度说明
查询数据时选择不同的时间范围,返回的数据的统计时间粒度不一样。
- 查询时间范围小于 3 小时,返回的数据点的统计时间粒度为 1m(1 分钟)。
- 查询时间范围大于等于 3 小时小于 6 小时,返回的数据点的统计时间粒度为 5m(5 分钟)。
- 查询时间范围大于等于 6 小时小于 24 小时,返回的数据点的统计时间粒度为 15m(15 分钟)。
- 查询时间范围大于等于 24 小时小于 7 天,返回的数据点的统计时间粒度为 1h(1 小时)。
- 查询时间范围大于等于 7 天小于 30 天,返回的数据点的统计时间粒度为 1d(1 天)。
示例
正常返回示例
JSON
格式
{
"RequestId": "D827FCFE-90A7-4330-9326-*****4C7726\n",
"SecurityEventTimeSeries": [
{
"Metric": "monitored_requests",
"Timestamps": [
"[]"
],
"Values": [
0
]
}
],
"TimeSeriesMetaData": {
"DateRange": {
"StartDate": 1713888000,
"EndDate": 1713888600
},
"AggregateInterval": "1m",
"Units": "requests\n"
}
}
错误码
HTTP status code | 错误码 | 错误信息 | 描述 |
---|
HTTP status code | 错误码 | 错误信息 | 描述 |
---|---|---|---|
400 | Waf.Report.%s | Invalid parameter:%s. | 无效的参数:%s |
400 | Waf.Report.InternalError | Server error occurred in report service. | 报表服务内部错误 |
访问错误中心查看更多错误码。