功能简介
规则配置功能用于保护 API 接口安全,提供9类规则,覆盖安全事件检测、敏感检测、鉴权凭据识别、限流、API 入参检测、功能场景识别、API 资产发现、敏感数据加白、无效资产屏蔽等场景。
部分规则类型提供系统内置规则,默认启用,支持开启或关闭,但不支持编辑或删除;同时也支持添加自定义规则,自定义规则支持编辑或删除。
前提条件
1. 已购买 WAF 包年包月实例,并开通 API 安全。
3. 已在 接入管理页面 开启对应域名的 API 安全开关。开启后通常需等待一段时间(约 30 分钟)完成分析,之后将展示相关统计数据。

API 规则开关
规则配置页面顶部为每类规则提供独立的全局开关,支持一键开启或关闭该类所有规则。
1. 登录 Web 应用防火墙控制台,在左侧导航栏中选择 API 安全 > 规则配置。
2. 单击规则配置页面左上角域名下拉框,选择要查看的域名。

说明:
规则配置页面无全部域名选项,需选择具体域名。
3. 在规则配置页面顶部,找到对应规则类型的全局开关,单击即可开启或关闭该类别下所有规则。

安全事件检测规则
开启安全事件检测规则开关后,可以检测 API 资产是否存在各类安全事件告警。平台预置一组系统内置规则,同时也支持添加自定义规则。
说明:
单个域名最多可以手动添加20条自定义安全事件检测规则。
1. 在 API 安全 > 规则配置 > 安全事件检测规则页面,单击添加规则。
2. 在添加规则窗口中,配置以下参数,单击确定即可创建规则。
配置项说明:
事件名称:支持自定义输入,不允许重复,最长10个字符。
事件详情:事件详情将展示在命中后生成的事件中,便于区分事件用途和影响。
检测对象:
手动填写:选择手动填写时,支持配置检测路径范围,配置后将检测该路径下所有 API 资产。支持通过属于、包含、前缀匹配、后缀匹配四个逻辑符号匹配检测范围。
从现有的 API 资产中选择:从穿梭框中选择资产列表中已发现的 API 资产,支持按近30天调用量排序、按数据标签筛选。
当前域名下所有 API:选择域名时,下方无需选择 API 名称,针对该域名下所有 API 资产进行检测。
匹配方式:至少需要添加一条匹配方式,最多可以添加5条。
匹配字段 | 匹配参数说明 | 逻辑符号 | 匹配内容说明 |
请求方式 | - | 属于 不属于 | 请选择或者输入自定义内容 |
Header 参数名 | - | 存在参数 不存在参数 属于 不属于 前缀匹配 后缀匹配 | 回车分隔多个值,最多输入20个 |
Header 参数值 | 请输入参数名 | 包含 不包含 属于 不属于 前缀匹配 后缀匹配 | 回车分隔多个值,最多输入20个 |
| | 长度大于 长度等于 长度小于 | 请输入0-1000之间的整数 |
GET 参数名 | - | 存在参数 不存在参数 属于 不属于 前缀匹配 后缀匹配 | 回车分隔多个值,最多输入20个 |
GET 参数值 | 请输入参数名 | 包含 不包含 属于 不属于 前缀匹配 后缀匹配 | 回车分隔多个值,最多输入20个 |
| | 长度大于 长度等于 长度小于 | 请输入0-1000之间的整数 |
POST 参数名 | - | 存在参数 不存在参数 属于 不属于 前缀匹配 后缀匹配 | 回车分隔多个值,最多输入20个 |
POST 参数值 | 请输入参数名 | 包含 不包含 属于 不属于 前缀匹配 后缀匹配 | 回车分隔多个值,最多输入20个 |
| | 长度大于 长度等于 长度小于 | 请输入0-1000之间的整数 |
Cookie 参数名 | - | 存在参数 不存在参数 属于 不属于 前缀匹配 后缀匹配 | 回车分隔多个值,最多输入20个 |
Cookie 参数值 | 请输入参数名 | 包含 不包含 属于 不属于 前缀匹配 后缀匹配 | 回车分隔多个值,最多输入20个 |
| | 长度大于 长度等于 长度小于 | 请输入0-1000之间的整数 |
Response 参数名 | - | 存在参数 不存在参数 属于 不属于 前缀匹配 后缀匹配 | 回车分隔多个值,最多输入20个 |
Response 参数值 | 请输入参数名 | 包含 不包含 属于 不属于 前缀匹配 后缀匹配 | 回车分隔多个值,最多输入20个 |
| | 长度大于 长度等于 长度小于 | 请输入0-1000之间的整数 |
User-Agent | - | 包含 不包含 属于 不属于 | 回车分隔多个值,最多输入20个 |
响应状态码 | - | 属于 不属于 | 请选择或者输入自定义的内容 |
功能场景 | - | 属于 不属于 | 请选择功能场景标签 |
鉴权属性 | - | 等于 | 是/否 |
请求敏感数据类型 | - | 属于 不属于 | 属于/不属于:请选择敏感数据类型 |
响应敏感数据类型 | - | 属于 不属于 | 属于/不属于:请选择敏感数据类型 |
数据统计:可选,默认不选择任何条件,最多选择5个统计字段。
匹配字段 | 匹配参数 | 逻辑符号 | 匹配内容说明 |
响应状态码 | 请选择或者输入自定义的内容 | 大于 | 请输入0-100000之间的整数 |
Header 参数值 | 请输入参数名 | 大于 小于 | 请输入0-1000之间的整数 |
GET 参数值 | 请输入参数名 | 大于 小于 | 请输入0-1000之间的整数 |
POST 参数值 | 请输入参数名 | 大于 小于 | 请输入0-1000之间的整数 |
Cookie 参数值 | 请输入参数名 | 大于 小于 | 请输入0-1000之间的整数 |
请求敏感数据类型 | - | 大于 | 请输入0-100之间的整数 |
响应敏感数据类型 | - | 大于 | 请输入0-100之间的整数 |
请求敏感数据量 | - | 大于 | 请输入0-100000之间的整数 |
响应敏感数据量 | - | 大于 小于 去重大于 去重小于 | 请输入0-100000之间的整数 |
请求次数 | - | 大于 小于 | 请输入0-100000之间的整数 |
响应次数 | - | 大于 小于 | 请输入0-100000之间的整数 |
统计频次:支持输入1-100000次,支持输入1-20分钟。
风险等级:支持选择超高危、高危、中危、低危,标识对应安全事件的风险等级。
规则开关:控制本条规则的启用或停用状态,默认为启用。
敏感检测规则
开启敏感检测规则开关后,可以检测请求中是否涉及敏感信息。平台预置一组系统内置规则,同时也支持添加自定义规则。
说明:
单个域名最多可以手动添加20条自定义敏感检测规则。
1. 在 API 安全 > 规则配置 > 敏感检测规则页面,单击添加规则。
2. 在添加规则窗口中,配置以下参数,单击确定即可创建规则。
配置项说明:
规则名称:支持自定义输入,不允许重复,建议以域名或 API 路径为前缀命名,最长128个字符。
参数位置:支持多选 headers、body、query、cookie、response 位置进行检测。
匹配条件及匹配内容:
关键字匹配:识别是否包含关键字;选择关键字匹配时,支持选择匹配包含其一(OR)或包含全部(AND),回车输入多个关键字,最多输入20个。
字符匹配:识别内容长度范围及是否为特定字符类型组成;选择字符匹配时,支持选择大写字母、小写字母、数字三个字符类型,可以多选;选择后输入字符长度范围,最小6个字符,最大128个字符。
正则匹配:识别是否符合特定正则表达式;选择正则匹配时,支持回车输入多个正则表达式进行匹配,最多输入20个。
参数泛化:选择泛化后,对应的 API 资产参数样例中该参数值将展示泛化后数据。
风险等级:支持选择超高危、高危、中危、低危,标识对应安全事件的风险等级。
规则开关:控制本条规则的启用或停用状态,默认为启用。
鉴权凭据识别规则
开启鉴权凭据识别规则开关后,可以针对特定的 API 或域名配置用户鉴权的参数,以识别资产是否存在未授权或越权风险。平台预置一组系统内置规则,同时也支持添加自定义规则。
说明:
单个域名最多可以手动添加20条自定义鉴权凭据识别规则。
1. 在 API 安全 > 规则配置 > 鉴权凭据识别规则页面,单击添加规则。
2. 在添加规则窗口中,配置以下参数,单击确定即可创建规则。
配置项说明:
规则名称:支持自定义输入,不允许重复,最长10个字符。
应用范围:
API:选择应用于 API 时,填写需要自定义鉴权凭据的 API 资产路径,支持回车分隔多个 API 资产,最长128个字符。
当前域名:选择应用于当前域名时,配置对域名下所有 API 资产生效。
鉴权参数位置:指定识别特定位置(QUERY、BODY、COOKIE 或 HEADERS)的参数名作为会话标识,以判断请求中是否携带对应的鉴权凭据。
鉴权参数:取值标识,以.字符区隔各个层级的参数,示例如下:
test:识别 JSON 字符串中 test 参数为鉴权参数。
test1.test2:识别 JSON 字符串中 test1包含的 test2参数为鉴权参数。
规则开关:控制本条规则的启用或停用状态,默认为启用。
限流规则
开启限流规则开关后,可以针对 API 或域名配置访问频次阈值,防止因异常高频访问导致的资源耗尽或 API 被滥用。限流规则无系统内置规则,需自行添加自定义规则。
说明:
单个域名最多可以手动添加50条自定义限流规则。
1. 在 API 安全 > 规则配置 > 限流规则页面,单击添加规则。
2. 在添加规则窗口中,配置以下参数,单击确定即可创建规则。
配置项说明:
域名:展示当前域名。
规则名称:支持自定义输入规则名称。
限流范围:
API:选择应用于 API 时,在限流对象中填写需要进行限流的 API 资产路径,支持回车分隔多个 API 资产,最长128个字符。
当前域名:选择应用于当前域名时,对域名整站计算访问频次,超出规定频次触发限流。
限流对象:
手动填写:选择手动填写时,支持配置检测路径范围,配置后将检测该路径下所有 API 资产。支持通过属于规则或正则表达式匹配灵活定义检测范围。
从现有 API 资产中选择:支持从现有API资产中一键选择需要配置规则的多个API。支持按近30天调用量排序、按数据标签筛选。
匹配方式:至少需要添加一条匹配方式,最多可以添加5条。
匹配字段 | 匹配参数说明 | 逻辑符号 | 匹配内容说明 |
请求方式 | - | 属于 不属于 正则匹配 | 请选择或输入自定义内容 |
Header 参数名 | - | 每个参数值 属于 不属于 正则匹配 | 回车分隔多个值,最多输入20个 |
Header 参数值 | 请输入参数名 | 属于 不属于 正则匹配 | 回车分隔多个值,最多输入20个 |
GET 参数名 | - | 每个参数值 属于 不属于 正则匹配 | 回车分隔多个值,最多输入20个 |
GET 参数值 | 请输入参数名 | 属于 不属于 正则匹配 | 回车分隔多个值,最多输入20个 |
POST 参数名 | - | 每个参数值 属于 不属于 正则匹配 | 回车分隔多个值,最多输入20个 |
POST 参数值 | 请输入参数名 | 属于 不属于 正则匹配 | 回车分隔多个值,最多输入20个 |
IP 归属地 | - | 属于 不属于 | 地域列表多选,粒度到省市 |
访问频次:必填,超出规定频次触发限流。支持对每个 URL 和全部 URL 进行限流。当在限流范围中配置多个 API 资产时,支持对全部 URL 共同计算访问频次,超出规定频次触发限流。
执行动作:
观察:仅记录攻击日志,不进行拦截。
重定向:记录攻击日志,且请求将重定向到指定页面。符合匹配方式的会话请求将执行重定向操作,将请求重定向到指定URL,但仅支持重定向至当前域名下的URL。
拦截:记录攻击日志,且进行拦截。支持返回状态码429和自定义返回页面两种形式。
优先级:请输入1-100的整数,数字越小,代表这条规则的执行优先级越高;相同优先级下,创建时间越晚,优先级越高。
限流顺序:
API 限流优先:选择此方式,系统会先对进入 WAF 实例的请求进行限流,再对通过限流的请求进行安全防护过滤。这种方式适合对稳定性要求较高、需要优先保障服务器可用性的场景(例如电商大促、秒杀活动)。
安全防护优先:选择此方式,系统会先对进入 WAF 实例的请求进行安全防护过滤,再对通过安全检测的合法请求进行限流控制。这种方式适合对业务安全性要求较高,或者已知攻击特征需要精准防护的场景。
API 入参检测规则
开启 API 入参检测规则开关后,可以检查 API 请求参数是否符合预定义的规范,防止非法参数导致的业务逻辑漏洞或安全风险。API 入参检测规则无系统内置规则,需自行添加自定义规则,支持通过导入 API 文档或手动添加两种方式创建规则。
说明:
仅入参检测规则模块在未开启 API 安全开关时也可以启用。
导入 API(推荐)
1. 在 API 安全 > 规则配置 > API 入参检测规则页面,单击导入 API。
2. 在导入 API 接口窗口中,选择上传文件类型,单击点击上传,传入 API 文件即可。
说明:
目前 WAF 支持两种 Swagger 2.0 文件的解析,分别是:YML 文件和 JSON 文件。导入规则说明:
格式:导入 API 描述文件,文件后缀名必须为 .yml 或 .json,单次上传的 API 描述文件不超过100KB。
数量:每次最多可上传创建20条 API,导入已经存在的 API 会默认跳过。
导入创建成功的 API ,可进行编辑,请根据实际情况进行接口确认。
3. 上传文件后, API 安全模块会自动解析 Swagger 2.0 文件中的 API 策略,解析完成后,单击确认导入,即可添加成功。
4. 添加成功后,可在自定义入参检测规则页面查看新导入的 API 规则。
添加 API 入参检测规则
1. 在 API 安全 > 规则配置 > API 入参检测规则页面,单击添加规则。
2. 在添加规则窗口中,配置以下参数,单击确定即可创建规则。
配置项说明:
API 名称:输入 API 路径,以
/ 开头,接口名称+请求方式不能重复,如 /guanjia/waf/config。描述:选填项,API 策略的相关描述。
规则开关:控制本条规则的启用或停用状态,默认为启用。
请求方式:支持 GET、POST、PUT、DELETE 四种请求方式。
匹配方式:需分别配置参数名称、参数位置、参数类型、是否必填(勾选后,WAF 会检查请求中是否含有该参数,有则通过,无则拦截)以及备注(可填项);参数位置支持 body、query、path 三种类型。
执行动作:
观察:仅记录攻击日志,不进行拦截。
拦截:记录攻击日志,且进行拦截。支持返回状态码429和自定义返回页面两种形式。
功能场景识别规则
开启功能场景识别规则开关后,可以分析 API 资产所属的功能场景标签并在 API 资产列表中标注。平台预置一组系统内置规则,同时也支持添加自定义规则。
说明:
单个域名最多可以手动添加20条功能场景识别规则。
1. 在 API 安全 > 规则配置 > 功能场景识别规则页面,单击添加规则。
2. 在添加规则窗口中,配置以下参数,单击确定即可创建规则。
配置项说明:
场景名称:支持自定义输入,不允许重复,最长10个字符。
匹配方式:至少需要添加一条匹配方式,最多可以添加5条。
匹配字段 | 匹配参数说明 | 逻辑符号 | 匹配内容说明 |
API 名称 | - | 等于其一 包含其一 正则匹配 | 回车分隔多个值,最多输入20个 |
GET 参数名 | - | 等于其一 包含其一 正则匹配 | 回车分隔多个值,最多输入20个 |
GET 参数值 | 请输入参数名 | 等于其一 包含其一 正则匹配 | 回车分隔多个值,最多输入20个 |
POST 参数名 | - | 等于其一 包含其一 正则匹配 | 回车分隔多个值,最多输入20个 |
POST 参数值 | 请输入参数名 | 等于其一 包含其一 正则匹配 | 回车分隔多个值,最多输入20个 |
Cookie 参数名 | - | 等于其一 包含其一 正则匹配 | 回车分隔多个值,最多输入20个 |
Cookie 参数值 | 请输入参数名 | 等于其一 包含其一 正则匹配 | 回车分隔多个值,最多输入20个 |
Header 参数名 | - | 等于其一 包含其一 正则匹配 | 回车分隔多个值,最多输入20个 |
Header 参数值 | 请输入参数名 | 等于其一 包含其一 正则匹配 | 回车分隔多个值,最多输入20个 |
Response 参数名 | - | 等于其一 包含其一 正则匹配 | 回车分隔多个值,最多输入20个 |
Response 参数值 | 请输入参数名 | 等于其一 包含其一 正则匹配 | 回车分隔多个值,最多输入20个 |
规则开关:控制本条规则的启用或停用状态,默认为启用。
API 资产发现规则
开启 API 资产发现规则开关后,可以针对特定的 API 路径,按照输入的正则表达式进行匹配。API 资产发现规则无系统内置规则,需自行添加自定义规则。
说明:
默认不需设置,未自定义时按系统内置模型聚合 API。
若聚合结果不符合预期,可使用自定义聚合规则修正;命中自定义规则后,下次资产更新会淘汰历史数据并按最新结果展示。
单个域名最多可以手动添加20条 API 资产发现规则。
1. 在 API 安全 > 规则配置 > 功能场景识别规则页面,单击添加规则。
2. 在添加规则窗口中,配置以下参数,单击确定即可创建规则。
配置项说明:
规则名称:支持自定义输入,不允许重复,最长10个字符。
API 名称:填写需要自定义聚合的 API 资产路径。
请求方式:支持多选 GET、POST、PUT、DELETE 请求方式。
匹配内容:输入正则表达式进行匹配,最长200个字符。
规则开关:控制本条规则的启用或停用状态,默认为启用。
敏感数据加白规则
开启敏感数据加白规则开关后,可以配置敏感数据白名单,加入白名单的敏感数据将不再触发敏感检测规则。敏感数据加白规则无系统内置规则,需自行添加自定义规则。敏感数据加白规则的优先级高于所有敏感检测规则(包括系统内置和自定义规则),即先判断是否命中加白规则,若命中则忽略检测;未命中再执行正常的敏感检测流程。
说明:
单个域名最多可以手动添加20条敏感数据加白规则。
1. 在 API 安全 > 规则配置 > 敏感数据加白规则页面,单击添加规则。
2. 在添加规则窗口中,配置以下参数,单击确定即可创建规则。
配置项说明:
规则名称:支持自定义输入,不允许重复,最长128个字符。
规则描述:选填项,规则的相关描述。
加白对象:
手动填写:选择手动填写时,支持配置检测路径范围,配置后将检测该路径下所有 API 资产。支持通过属于、包含、前缀匹配、后缀匹配四个逻辑符号匹配检测范围。
从现有的 API 资产中选择:从穿梭框中选择资产列表中已发现的 API 资产,支持按近30天调用量排序、按数据标签筛选。
当前域名下所有 API:选择域名时,下方无需选择 API 名称,针对该域名下所有 API 资产进行检测。
加白模式:
整个 API 加白:开启后,该 API 的所有请求和返回数据均不再进行敏感数据检测。在资产列表中,该 API 的敏感数据类型将不再展示,且不会生成敏感数据相关的风险事件。
指定字段加白:仅对指定字段跳过指定敏感类型的检测,其余字段和敏感类型的检测不受影响。
加白字段:加白模式选择指定字段加白时需要配置,至少需要添加一个加白字段,最多可以添加20个。
字段类型:支持 GET、POST、Header、Cookie、Response。
字段名称:最长64个字符。
敏感数据类型:多选,从系统内置的敏感数据类型中选择。需分别配置字段名称( 参数名)及敏感数据类型()
规则开关:控制本条规则的启用或停用状态,默认为启用。
无效资产屏蔽规则
开启无效资产屏蔽规则开关后,可以配置屏蔽规则,屏蔽后的 API 资产将不再显示在资产列表中,也不会触发风险事件检测。限流规则无系统内置规则,需自行添加自定义规则。
1. 在 API 安全 > 规则配置 > 无效资产屏蔽规则页面,单击添加规则。
2. 在添加规则窗口中,配置以下参数,单击确定即可创建规则。
配置项说明:
规则名称:支持自定义输入,不允许重复。
匹配方式:
正则匹配:输入正则表达式进行匹配。
前缀匹配:输入路径前缀,如
/static可匹配/static/js/app.js。后缀匹配:输入路径后缀,如
.jpg可匹配/uploads/photo.jpg。包含匹配:输入路径中包含的字符串,如
version可匹配/api/v1/version/check。匹配内容:根据所选匹配方式输入对应内容。
规则开关:控制本条规则的启用或停用状态,默认为启用。
规则配置案例
1. 配置场景:针对 API 接口
/test/123,调用需要输入参数 user_id、api_key 、domain ,对输入参数不符合入参规范的请求配置拦截策略。
2. 配置效果:
请求中如果未传递必填的参数
user_id、api_key ,将被拦截。请求中如果参数
user_id、api_key 、domain 的参数类型与配置类型不符,将被拦截。场景一:对不同的调用方进行限流
根据
Header参数test标记不同的用户,对不同的用户进行分级限流,普通用户默认限流2000QPS,特殊用户单独定制规则限流10000QPS。
兜底规则:设置针对
test参数出现的每个参数值分别限流2000QPS,优先级低于定制规则。
定制规则:对
test参数出现的参数值test1和参数值test2分别限流10000QPS,优先级高于兜底规则。
场景二:对域名整站和关键接口进行限流
根据 API 或当前域名设置访问频次和相关访问特征,对符合匹配方式的请求进行统计,超出规定频次触发限流。
1. 配置场景:业务禁止携带敏感
user_id内容,对携带敏感内容的资产进行检测,推动内部整改。
2. 配置效果:如果请求中携带敏感信息,将对资产做敏感标签标记。如果发现存在相关数据泄露风险,将生成 API 风险事件。
1. 配置场景:针对 API 资产列表中资产聚合不符合预期的场景,可以通过规则配置进行修正。如配置符合匹配内容中输入的正则表达式
/test1/test2/page/[A-Za-z0-9]的 URL 统一聚合为 API 资产/test/test/page。
2. 配置效果:配置后,所有符合正则表达式的 URL 均聚合为配置的 API 资产
/test1/test2/page,且清除不符预期的历史数据。1. 配置场景:针对API接口
/test,使用 BODY 中的参数token作为判断是否鉴权的凭据,以识别资产是否存在未授权或越权风险。
2. 配置效果:配置规则后,将优先按照自定义的鉴权凭据进行识别。如相关 API 资产有越权风险,将生成 API 风险事件。