更新时间:2024-07-25 GMT+08:00

创建误报屏蔽规则

功能介绍

创建误报屏蔽规则

URI

POST /v1/{project_id}/waf/policy/{policy_id}/ignore

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

用户操作的项目id

policy_id

String

防护策略id,您可以通过调用查询防护策略列表(ListPolicy)获取策略id

表2 Query参数

参数

是否必选

参数类型

描述

enterprise_project_id

String

您可以通过调用企业项目管理服务(EPS)的查询企业项目列表接口(ListEnterpriseProject)查询企业项目id

请求参数

表3 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

auth token

Content-Type

String

内容类型

缺省值:application/json;charset=utf8

表4 请求Body参数

参数

是否必选

参数类型

描述

domain

Array of strings

防护域名或防护网站,数组长度为0时,代表规则对全部域名或防护网站生效

conditions

Array of CreateCondition objects

条件列表

mode

Integer

固定值为1,代表v2版本误报屏蔽规则,v1版本仅用于兼容旧版本,不支持创建

rule

String

屏蔽的内置规则id(内置规则id通常可以在Web应用防火墙控制台的防护策略->策略名称->Web基础防护->防护规则中查询,也可以在防护事件的事件详情中看到查询规则id)

description

String

屏蔽规则描述

表5 CreateCondition

参数

是否必选

参数类型

描述

category

String

字段类型,可选值有ip、url、params、cookie、header

contents

Array of strings

内容,数组长度限制为1,内容格式根据字段类型变化。例如,字段类型为ip时,contents内容格式需为ip地址或ip地址段;字段类型为url时,contents内容格式需为标准url格式;字段类型为params,cookie,header时,内容的格式不做限制

logic_operation

String

匹配逻辑,匹配逻辑根据字段类型变化,字段类型为ip时,匹配逻辑支持(equal:等于,not_equal:不等于),字段类型为url、header、params、cookie时,匹配逻辑支持(equal:等于,not_equal:不等于,contain:包含,not_contain:不包含,prefix:前缀为,not_prefix:前缀不为,suffix:后缀为,not_suffix:后缀不为,regular_match:正则匹配,regular_not_match:正则不匹配)

check_all_indexes_logic

Integer

使用自定义子字段、字段类型为url或ip时不需要传check_all_indexes_logic参数,其它情况下(1:检查所有子字段,2:检查任意子字段)

index

String

字段类型为ip且子字段为客户端ip时,不需要传index参数;子字段类型为X-Forwarded-For时,值为x-forwarded-for;字段类型为params、header、cookie并且子字段为自定义时,index的值为自定义子字段

响应参数

状态码: 200

表6 响应Body参数

参数

参数类型

描述

id

String

规则id

policyid

String

策略id

timestamp

Long

创建规则的时间戳

description

String

规则描述

status

Integer

规则状态,0:关闭,1:开启

rule

String

屏蔽的内置规则id(内置规则id通常可以在Web应用防火墙控制台的防护策略->策略名称->Web基础防护->防护规则中查询,也可以从防护事件的事件详情中查询内置规则id)

mode

Integer

版本号固定值为1,代表v2版本误报屏蔽规则,v1版本仅支持兼容旧版本,不支持创建

conditions

Array of Condition objects

条件列表

domain

Array of strings

防护域名或防护网站

表7 Condition

参数

参数类型

描述

category

String

字段类型,可选值有ip、url、params、cookie、header

contents

Array of strings

内容,数组长度限制为1,内容格式根据字段类型变化,例如,字段类型为ip时,contents内容格式需为ip地址或ip地址段;字段类型为url时,contents内容格式需为标准url格式;字段类型为params,cookie,header时,内容的格式不做限制

logic_operation

String

匹配逻辑,匹配逻辑根据字段类型变化,字段类型为ip时,匹配逻辑支持(equal:等于,not_equal:不等于);字段类型为url、header、params、cookie时,匹配逻辑支持(equal:等于,not_equal:不等于,contain:包含,not_contain:不包含,prefix:前缀为,not_prefix:前缀不为,suffix:后缀为,not_suffix:后缀不为,regular_match:正则匹配,regular_not_match:正则不匹配)

check_all_indexes_logic

Integer

字段类型为url或ip时不存在check_all_indexes_logic字段,其它情况下(1:检查所有子字段,2:检查任意子字段,null:使用自定义子字段)

index

String

字段类型为ip且子字段为客户端ip时,不存在index参数;子字段类型为X-Forwarded-For时,值为x-forwarded-for,字段类型为params、header、cookie并且子字段为自定义时,index的值为自定义子字段

状态码: 400

表8 响应Body参数

参数

参数类型

描述

error_code

String

错误码

error_msg

String

错误信息

状态码: 401

表9 响应Body参数

参数

参数类型

描述

error_code

String

错误码

error_msg

String

错误信息

状态码: 500

表10 响应Body参数

参数

参数类型

描述

error_code

String

错误码

error_msg

String

错误信息

请求示例

POST https://{Endpoint}/v1/{project_id}/waf/policy/{policy_id}/ignore?enterprise_project_id=0

{
  "domain" : [ "test3.th.com" ],
  "conditions" : [ {
    "category" : "url",
    "logic_operation" : "contain",
    "contents" : [ "attack" ],
    "index" : null
  } ],
  "mode" : 1,
  "description" : "",
  "rule" : "webshell"
}

响应示例

状态码: 200

OK

{
  "id" : "c20f67b3e1c040c0b0d8866e568ee8bf",
  "policyid" : "a75e96d8284c4c4f98ada7d391e8342c",
  "timestamp" : 1656507126528,
  "description" : "",
  "status" : 1,
  "rule" : "webshell",
  "mode" : 1,
  "conditions" : [ {
    "category" : "url",
    "contents" : [ "attack" ],
    "logic_operation" : "contain"
  } ],
  "domain" : [ "test3.th.com" ]
}

状态码

状态码

描述

200

OK

400

请求失败

401

token权限不足

500

服务器内部错误

错误码

请参见错误码