Bot管理(新版)

更新时间:
复制为 MD 格式

当业务面临自动化工具(如脚本、模拟器)引发的威胁时,包括数据爬取、业务欺诈、撞库攻击、垃圾注册、恶意抢购及短信接口滥用等,建议启用 Bot 管理功能。通过配置针对性的防护策略,该功能可有效缓解核心数据资产泄露及营销活动风险,同时降低服务器负载与带宽成本。

重要

新版Bot管理已逐步上线,新用户默认启用。本文仅适用于新版Bot管理;旧版说明请参见Bot管理(旧版)

版本识别方法:登录WAF控制台,在左侧导航栏选择防护配置 > BOT管理,根据页面样式判断当前版本。

  • 旧版Bot管理:image

  • 新版Bot管理:image

功能介绍

Bot管理提供以下核心功能,帮助识别机器流量、防御爬虫风险:

  • 流量分析:无需开通Bot管理即可查看流量分析的风险接口数据,包括流量走势、存在风险的客户端等信息,用于快速识别和定位可能存在风险的接口。开通正式版后,可以查看更详细的数据信息,帮助安全运维人员识别异常流量,从而配置更精细化的防护策略。

  • Web防护/App防护:面向WebApp业务场景,可使用Bot管理默认防护策略快速启用基础防护。为实现最佳防护效果,需要持续分析规则命中情况,并相应调整防护动作。

  • 高级自定义规则:支持自定义访问控制规则、频率控制规则和规则分类,拦截符合规则条件请求。高级自定义规则增加了更丰富的匹配条件,如Client ID、JA3/JA4指纹、Web/App SDK采集信息等,并支持基于条件的去重统计能力。

适用范围

  • 已在接入管理页面完成Web业务接入

  • 已开通WAF 3.0实例,且实例版本为按量付费版,包年包月高级版、企业版或旗舰版,基础版实例不支持Bot管理。

开通Bot管理

  1. 登录Web应用防火墙3.0控制台。在顶部菜单栏,选择WAF实例的资源组和地域(中国内地非中国内地

  2. 在左侧导航栏,选择防护配置 > BOT管理

申请试用

高级版、企业版、旗舰版WAF实例支持7天免费试用Bot管理功能。试用结束后,系统将清空策略配置,如需保留试用期间的数据,请在试用结束前开通正式版。

  1. 前往Web防护App防护高级自定义规则页面,单击申请7天免费POC

  2. 7天免费试用POC对话框中,单击确定

重要
  • 高级版、企业版、旗舰版实例可试用Bot管理功能,每个阿里云账号仅提供一次试用机会。

  • 试用期限为7天,试用结束后将自动清空Bot策略配置。如需保留试用期间的数据并继续使用Bot管理,请在试用结束前开通正式版。

开通正式版

包年包月版

  1. Web防护App防护高级自定义规则页面中,单击立即购买

  2. 立即购买面板,开启Bot 管理 - Web 防护Bot 管理 - APP 防护,并完成支付。

按量付费版

  1. 前往Web防护App防护高级自定义规则页面。

  2. 在弹出的对话框中,勾选需要防护的对象,然后单击立即启用

    说明

    单击立即启用后,系统将为已勾选的防护对象创建防护模板,并产生额外费用。具体单价请参见计费说明。若无需使用Bot管理功能,请删除所有Bot管理防护模板。

开始使用

  1. 流量分析:通过审查流量分析数据,识别业务环境中的风险资产及异常流量来源。

  2. Web防护/App防护:依据业务类型配置防护规则并启用防护:网页及H5页面请启用Web防护;iOSAndroid原生应用请启用App防护。

  3. 高级自定义规则:针对精细化防护需求,支持基于Client ID、JA3/JA4指纹等维度配置规则,以实现对Bot流量的精准识别与处置。

防护时序原理图

以下时序图展示了JS验证令牌挑战防护模式的工作原理和请求处理流程。

JS验证时序图

image
  1. 客户端发起请求,命中JS校验对应的规则。

  2. WAF返回携带JS挑战生成算法的HTML页面。

  3. 浏览器加载JS挑战页面,生成加密参数后,将其添加到Cookie中,并重新发送请求。

  4. WAF收到响应并验证参数是否正确:

    • 如果参数正确,则表明请求由正常用户发起,该请求将被正常转发至源站服务器,返回源站响应。

    • 如果客户端未携带JS挑战插入的CookieCookie值不正确,则表明请求可能由脚本工具发起,WAF将再次返回JS挑战页面。

令牌挑战时序图

image
  1. 客户端发起请求,命中了动态令牌处置对应的规则。

  2. WAF返回携带动态令牌的HTML页面到客户端。

  3. 浏览器加载动态令牌的HTML页面,生成加密参数后,将其添加到请求URL的参数中并重新发送请求。

  4. WAF收到响应并验证参数是否正确:

    • 如果参数正确,则表明请求是由正常用户发起,该请求将被正常转发至源站服务器,返回真实响应。

    • 如果客户端未携带参数或参数不正确,则表明请求可能是脚本工具发起,WAF将再次返回动态令牌页面。