Bot 管理帮助您策略监控或限制常见自动化工具的流量,例如搜索引擎、测速工具、内容聚合、扫描工具等,支持使用托管 Bot 管理规则或自定义 Bot 管理规则。您还可以配置频率限制和统计防护规则,以防止满足统计特征的恶意访问行为。此外,WAF 还能基于已经发现和确认的 API 请求,智能生成行为地图,帮助您分析和管理风险 API。
注意事项
频率限制规则、统计防护规则和行为地图目前处于限时免费阶段。
前提条件
您已将需要防护的网站接入 WAF 实例。接入相关操作,请参见接入方式概述。
开启动态令牌
动态令牌作为一种强化安全性的措施,确保只有经过验证的用户才能访问受保护的应用程序或信息。开启动态令牌后,客户端在请求访问时,需要提供动态令牌生成的临时性代码,以完成身份验证。如果某次请求未携带动态令牌,该请求将会按设定动作被处置为“观察”或“拦截”。
注意
动态令牌仅支持基于 HTML 和 JavaScript 构建的网站应用,不适用于原生 App、小程序平台和服务器间API通信。请确保您的网站应用在使用范畴内。
登录Web应用防火墙控制台。
在顶部菜单栏选择实例所属地域。
在左侧导航选择防护策略>Bot管理。
单击动态令牌,并开启动态令牌功能。
配置动态令牌参数。
参数 | 说明 | 配置示例 |
---|
有效期 | 指动态令牌的生效时间,超出时间后令牌信息失效,将无法通过验证。 | 60 |
检测路径 | 填写需要启用动态令牌的网站路径,可以是具体的某个页面 URL,也可以针对整个网站。 - 某个具体的 URL 地址,例如需要检测
test.com/test.html ,则填写 /test.html 。 - 支持填写通配符
* ,仅可出现一次,例如/test/* 。 - 检测整个网站,则填写
/* 即可。
| /test.html |
执行动作 | - 观察:放行请求流量,但会将请求行为上报至攻击日志。
- 拦截:拦截请求流量,将请求行为上报至攻击日志。如果配置了自定义拦截响应页面,WAF 会将配置的拦截响应页面信息返回给客户端。
| 观察 |
选择托管 Bot 分类规则
托管 Bot 分类即按照系统默认的 Bot 类型设置执行动作和规则开关,实现对不同 Bot 的流量管控。
- 登录Web应用防火墙控制台。
- 在顶部菜单栏选择实例所属地域。
- 在左侧导航选择防护策略>Bot管理。
- 开启待防护域名的托管 Bot 分类规则功能。
- 选择需要添加策略的域名。
- (可选)确认当前域名的防护模式为“启用防护”,否则需要单击更改防护模式修改。
- 开启策略启用开关。
- 在托管 Bot 列表中设置 Bot 托管配置。
- 设置执行动作。
- 观察:放行请求流量,但会将请求行为上报至攻击日志。
- 拦截:拦截请求流量,将请求行为上报至攻击日志。如果配置了自定义拦截响应页面,WAF 会将配置的拦截响应页面信息返回给客户端。
- 开启或关闭单条规则开关。
- 开启:该类型 Bot 流量将被执行对应动作。
- 关闭:该类型 Bot 流量将被放行。
配置自定义 Bot 分类规则
按照请求中的协议特征,如请求方法和请求路径等,对自定义 Bot 进行管理。
登录Web应用防火墙控制台。
在顶部菜单栏选择实例所属地域。
在左侧导航选择防护策略>Bot管理。
开启待防护域名的自定义分类规则功能。
- 选择需要添加策略的域名。
- (可选)确认当前域名的防护模式为“启用防护”,否则需要单击更改防护模式修改。
- 开启策略启用开关。
单击添加规则,配置自定义 Bot 管理规则参数。
参数 | 说明 | 配置示例 |
---|
规则名称 | 防护规则名称。 说明 - 以中文、字母、数字开头。
- 允许字母、数字、中文、点“.”、下划线“_”和短横线“-”。
- 长度为 1-128 个字符。
| Bot_1 |
规则描述 | 填写相关备注信息,例如该 Bot 用于实现何种功能。 | 拦截来自公网 IP 客户端的 POST 请求 |
执行动作 | - 观察:放行请求流量,但会将请求行为上报至攻击日志。
- 拦截:拦截请求流量,将请求行为上报至攻击日志。如果配置了自定义拦截响应页面,WAF 会将配置的拦截响应页面信息返回给客户端。
| 拦截 |
规则开关 | 开启或关闭当前规则。 | 开启 |
自定义 Bot 特征 | - 条件关系:指添加的多条高级条件关系,当前支持 AND 和 OR。
- 匹配字段:选择匹配字段,目前支持请求协议、请求 uri、请求方法、请求路径、请求参数、请求头等字段。
- 逻辑符:选择逻辑符,目前支持大于、大于等于、等于、小于、小于等于、不等于等逻辑关系。
- 匹配内容:填写该条规则需要匹配的具体内容。
- 操作:支持删除单条高级条件规则。
| 请求方法 等于 POST 客户端 IP 判断为公网 IP 请求体长度 大于 1000
|
单击确定,完成规则配置。
配置完成后,可在自定义 Bot 分类规则列表查看规则信息,并进行规则关闭/开启、编辑和删除操作。
配置频率限制规则
Bot 频率限制规则用于限制特定条件下的流量访问频率。在统计时间内,每个统计对象的访问次数和总访问次数达到设定阈值后,对满足请求特征的请求执行流量限速、拦截或其他动作。
登录Web应用防火墙控制台。
在顶部菜单栏选择实例所属地域。
在左侧导航选择防护策略>Bot管理。
开启待防护域名的频率限制规则功能。
- 选择需要添加策略的域名。
- (可选)确认当前域名的防护模式为“启用防护”,否则需要单击更改防护模式修改。
- 开启策略启用开关。
单击添加规则,配置频率限制规则参数。
参数 | 说明 | 配置示例 |
---|
规则名称 | 防护规则名称。 说明 - 以中文、字母、数字开头。
- 允许字母、数字、中文、点“.”、下划线“_”和短横线“-”。
- 长度为 1-128 个字符。
| Bot 防护_1 |
请求特征 |
请求路径 | 填写需要匹配 CC 规则的网站路径,可以是具体的某个页面 URL,也可以针对整个网站。 - 某个具体的 URL 地址,例如需要对
test.com/test.html 设置规则,则填写 /test.html 。 - 支持填写通配符
* ,仅可出现一次,例如/test/* 。 - 针对整个网站,则填写
/* 即可。
| /test.html |
高级条件 | - 条件关系:指添加的多条高级条件关系,当前支持 AND 和 OR。
- 匹配字段:选择匹配字段,目前支持请求协议、请求 uri、请求方法、请求路径、请求参数、请求头等字段。
- 逻辑符:选择逻辑符,目前支持大于、大于等于、等于、小于、小于等于、不等于等逻辑关系。
- 匹配内容:填写该条规则需要匹配的具体内容。
- 操作:支持删除单条高级条件规则。
| 请求协议 等于 HTTP
|
统计条件 |
统计对象 | 选择需要进行规则匹配的统计对象并填写配置信息。支持自定义 header、自定义 cookie、自定义参数及源 IP 四种类型。 说明 如需将 cookie 中的字段作为统计对象,需要选择自定义 cookie 并配置字段信息。暂不支持将 cookie 整段作为统计对象。 - 自定义 header:填写 header,每个单词的首字母都需要大写,如
User-Agent ,Cookie ,X-Forwarded-For 。 - 自定义 cookie:支持填写英文、数字、下划线“_”和短横线“-”。
- 自定义参数:支持填写英文、数字、下划线“_”和短横线“-”。
- 源 IP:以单个访问 IP 为统计对象。
| 自定义 Header:User- Agent |
统计内容 | 访问频率:每对象在统计时长内发起请求的次数,及对每个请求路径发起请求的次数。统计对象发起请求的次数和请求路径访问总次数超过设定阈值时,系统会根据预设的执行动作处理该统计对象的请求。 | 60 秒内,每对象访问超100 次,且请求路径访问超1000 次
|
执行动作 |
执行动作 | - 观察:放行请求流量,但会将请求行为上报至攻击日志。
- 限速:对该请求进行访问速率限制。
说明 - 例如设定在统计时长 60 秒内,每源 IP 访问次数上限为 1000 次,且访问总次数为 10000 次时执行限速动作。则在 60 秒内,某个源 IP 访问达到 1000 次且该路径总访问次数达到 10000 次后,后续所有请求将被拦截。
- 为避免影响您的业务,请谨慎设置限速条件。
- 拦截:拦截请求流量,将请求行为上报至攻击日志。如果配置了自定义拦截响应页面,WAF 会将配置的拦截响应页面信息返回给客户端。
- JS 挑战:通过 JS-SDK 验证客户端 JavaScript 执行能力,如果验证通过则在指定时间内放行。
- 人机验证:通过验证码进行人机验证,如果验证通过则放行,防止误封。
- 工作量证明:通过 JS-SDK 要求客户端计算并提交结果,如果验证通过则在指定时间内放行。
注意 人机验证、JS 挑战和工作量证明动作配置,仅支持基于 HTML 和 JavaScript 构建的网站应用,不适用于原生 App、小程序平台和服务器间API通信。请确保您的网站应用在使用范畴内。 - 丢弃:丢弃请求流量,将请求行为上报至攻击日志。
| 人机验证 成功后60 秒内不再命中该动作
|
限制时长 | 执行动作的生效时长。 | 180 |
生效配置 |
优先级 | 规则匹配的优先级,P0 优先级最高,P9 优先级最低。同一请求特征下的规则优先级不可重复。 | P0 |
规则开关 | 开启或关闭当前规则,默认为开启状态。 | 开启 |
单击确定,完成规则配置。
配置完成后,可在频率限制规则列表查看规则信息,并进行规则关闭/开启、编辑和删除操作。
配置统计防护规则
Bot 统计防护规则用于统计满足请求特征的统计对象在特定时间内的 IP 重复次数或 IP 重复占比,当统计内容达到设定阈值后,对满足请求特征的请求执行观察、拦截、人机验证或其他动作。
登录Web应用防火墙控制台。
在顶部菜单栏选择实例所属地域。
在左侧导航选择防护策略>Bot管理。
开启待防护域名的统计防护规则功能。
- 选择需要添加策略的域名。
- (可选)确认当前域名的防护模式为“启用防护”,否则需要单击更改防护模式修改。
- 开启策略启用开关。
单击添加规则,配置统计防护规则参数。
参数 | 说明 | 配置示例 |
---|
规则名称 | 防护规则名称。 说明 - 以中文、字母、数字开头。
- 允许字母、数字、中文、点“.”、下划线“_”和短横线“-”。
- 长度为 1-128 个字符。
| Bot 防护_1 |
请求特征 |
请求路径 | 填写需要匹配 CC 规则的网站路径,可以是具体的某个页面 URL,也可以针对整个网站。 - 某个具体的 URL 地址,例如需要对
test.com/test.html 设置规则,则填写 /test.html 。 - 支持填写通配符
* ,仅可出现一次,例如/test/* 。 - 针对整个网站,则填写
/* 即可。
| /test.html |
高级条件 | - 条件关系:指添加的多条高级条件关系,当前支持 AND 和 OR。
- 匹配字段:选择匹配字段,目前支持请求协议、请求 uri、请求方法、请求路径、请求参数、请求头等字段。
- 逻辑符:选择逻辑符,目前支持大于、大于等于、等于、小于、小于等于、不等于等逻辑关系。
- 匹配内容:填写该条规则需要匹配的具体内容。
- 操作:支持删除单条高级条件规则。
| 请求协议 等于 HTTP
|
统计条件 |
统计对象 | 选择需要进行规则匹配的统计对象并填写配置信息。支持自定义 header、自定义 cookie、自定义参数及源 IP 四种类型。 说明 如需将 cookie 中的字段作为统计对象,需要选择自定义 cookie 并配置字段信息。暂不支持将 cookie 整段作为统计对象。 - 自定义 header:填写 header,每个单词的首字母都需要大写,如
User-Agent ,Cookie ,X-Forwarded-For 。 - 自定义 cookie:支持填写英文、数字、下划线“_”和短横线“-”。
- 自定义参数:支持填写英文、数字、下划线“_”和短横线“-”。
- 源 IP:以单个访问 IP 为统计对象。
| 自定义 Header:User- Agent |
统计内容 | - 重复次数:在统计时长内发起的请求中,存在相同统计对象的 IP 数量个数,例如 User-Agent 相同的来源 IP 数量。
- 重复占比:在统计时长内发起的请求中,存在相同统计对象的 IP 数量个数占所有来源 IP 个数的百分比,且数量大于指定值。
| 重复占比:60 秒内,每对象中值相同的 IP 占比超过50% ,且数量大于20 个 |
执行动作 |
执行动作 | - 观察:放行请求流量,但会将请求行为上报至攻击日志。
- 拦截:拦截请求流量,将请求行为上报至攻击日志。如果配置了自定义拦截响应页面,WAF 会将配置的拦截响应页面信息返回给客户端。
- 人机验证:通过验证码进行人机验证,如果验证通过则放行,防止误封。
- JS 挑战:通过 JS-SDK 验证客户端 JavaScript 执行能力,如果验证通过则在指定时间内放行。
- 工作量证明:通过 JS-SDK 要求客户端计算并提交结果,如果验证通过则在指定时间内放行。
注意 人机验证、JS 挑战和工作量证明动作配置,仅支持基于 HTML 和 JavaScript 构建的网站应用,不适用于原生 App、小程序平台和服务器间API通信。请确保您的网站应用在使用范畴内。 - 丢弃:丢弃请求流量,将请求行为上报至攻击日志。
| 人机验证 成功后60 秒内不再命中该动作
|
限制时长 | 执行动作的生效时长。 | 180 |
生效配置 |
优先级 | 规则匹配的优先级,P0 优先级最高,P9 优先级最低。同一请求特征下的规则优先级不可重复。 | P0 |
规则开关 | 开启或关闭当前规则,默认为开启状态。 | 开启 |
单击确定,完成规则配置。
配置完成后,可在统计防护规则列表查看规则信息,并进行规则关闭/开启、编辑和删除操作。
开启行为地图
Bot 行为地图是指 WAF 基于域名维度,对已发现和已确认的 API 访问行为及对应流量进行智能跟踪和分析,并提供可视化队列图。您可以设置队列的默认处置动作,即为队列中的 API 请求行为执行观察、拦截、JS 挑战或人机验证动作。
操作步骤
- 登录Web应用防火墙控制台。
- 在顶部菜单栏选择实例所属地域。
- 在左侧导航选择防护策略>Bot管理。
- 开启待防护域名的行为地图策略。
- 选择需要添加策略的域名。
- (可选)确认当前域名的防护模式为“启用防护”,否则需要单击更改防护模式修改。
- 开启策略启用开关。
- 为行为地图策略设置动作。
- 观察:放行请求流量,但会将请求行为上报至攻击日志。
- 拦截:拦截请求流量,将请求行为上报至攻击日志。如果配置了自定义拦截响应页面,WAF 会将配置的拦截响应页面信息返回给客户端。
- 人机验证:通过验证码进行人机验证,如果验证通过则放行,防止误封。
- JS 挑战:通过 JS-SDK 验证客户端 JavaScript 执行能力,如果验证通过则放行。
行为地图使用说明
WAF 基于智能发现功能进行流量分析和学习,生成对应域名下的 API 访问队列中,并按访问顺序绘制出链路图。
- ①:单击行为地图左侧列表中的行为队列名称,可查看该行为队列的 ID、命中次数、异常行为数量、API 请求路径信息等。支持基于行为队列设置处置动作和限制时长。例如,当用户活动序列满足图中所示队列时,设置人机验证动作,生效时间为 60 秒,限制时长为 120 秒。即验证通过后 60 秒内允许继续访问,超过 60 秒继续接受检测;未通过则 120 秒后才可访问。
- ②:单击行为地图左侧列表中的行为队列名称时,右侧会显示对应的队列图,包括被访问的域名及 API 对应节点。
- ③:单击队列图中的节点可查看 API 请求路径和该节点关联的队列。