如果您的业务存在因自动化工具(例如脚本、模拟器等)造成网站数据被爬取、业务作弊或欺诈、撞库或垃圾注册、恶意秒杀或薅羊毛、短信接口滥刷等情况,您可以开通Web 应用防火墙 WAF(Web Application Firewall)Bot管理,根据机器流量分析数据,制定有针对性的Bot防护策略,缓解核心数据资产泄露和业务营销活动风险,降低服务器带宽费用和负载。本文介绍如何开通和配置Bot管理防护策略。
功能介绍
Bot管理为您提供如下功能,尽可能的帮助您快速识别机器流量,防御爬虫风险,避免您的业务数据被爬取。
机器流量分析(无需开通Bot管理)
无需开通Bot管理,即可查看机器流量分析的风险接口数据,包括指定时间范围内的机器流量走势、存在风险的Top20客户端和Top20 IP、防护对象的机器流量分析数据,帮助您快速识别和定位当前可能存在风险接口。具体操作,请参见查看机器流量分析数据。
针对有风险的接口,您可以申请试用或立即购买Bot管理,为其配置场景化防护策略。关于如何申请试用、立即购买的具体操作,请参见开通Bot管理。
场景化防护(开通Bot管理后支持)
特定业务场景的精细化防控,通过集成SDK,配置针对网页和App的场景化防护策略,实现最佳防护效果。具体操作,请参见创建网页防爬场景化防护规则、创建App防爬场景化防护规则。
适用对象:对于机器流量敏感的用户。
基础防护(开通Bot管理后支持)
基于四层或七层流量指纹识别Bot流量,无需集成SDK,一键开启防护。具体操作,请参见创建基础防护规则。
适用对象:希望通过配置尽量简化的防护策略,拦截中低级爬虫的用户。
前提条件
已在接入管理页面完成Web业务接入。具体操作,请参见接入管理概述。
如果需要创建App防爬场景化防护模板,请确保要防护的App已集成SDK。具体操作,请参见Android应用集成SDK、iOS应用集成SDK。
查看机器流量分析数据
登录Web应用防火墙3.0控制台。在顶部菜单栏,选择WAF实例的资源组和地域(中国内地、非中国内地)。
在左侧导航栏,选择。
在机器流量分析页签,查看指定防护对象在某个时间段的机器流量走势、Top20客户端、Top20 IP、防护对象机器流量分析。
开通Bot管理
登录Web应用防火墙3.0控制台。在顶部菜单栏,选择WAF实例的资源组和地域(中国内地、非中国内地)。
在左侧导航栏,选择。
开通Bot管理。
申请试用
说明高级版、企业版、旗舰版可免费试用一次Bot管理。
试用时长为试用申请通过后的7天内。试用结束后,如果您未开通正式版本,试用期间生成的分析数据将被立即清除。如果您需要保留试用期间的数据,继续使用Bot管理,请在试用结束前,开通正式版Bot管理。
在机器流量分析页签,单击申请试用。按照WAF-Bot管理PoC调查问卷页面的提示,填写试用申请信息并单击提交。
阿里云工程师在收到试用申请的一周时间内,将通过提交的联系方式联系您,与您确认试用相关事宜。试用申请审核通过后,您的WAF实例会自动开通Bot管理功能。
开通正式版Bot管理
在机器流量分析页签,或单击场景化防护、基础防护页签后,单击立即购买。
在立即购买面板,开启Bot管理-Web防护或Bot管理-APP防护,并完成支付。
说明开启Bot管理-Web防护后,您可以配置Bot管理基础防护规则、网页防爬场景化规则。
开启Bot管理-APP防护后,您可以配置Bot管理基础防护规则、App防爬场景化规则。
如果您需要同时配置Bot管理基础防护规则、网页防爬场景化规则、App防爬场景化规则,您可以同时开启Bot管理-Web防护和Bot管理-APP防护。
开通Bot管理后,您可以单击机器流量分析页签,在防护对象机器流量分析区域,定位到机器流量较高的风险接口,单击操作列的添加防护,添加场景化防护策略。具体操作,请参见创建网页防爬场景化防护规则、创建App防爬场景化防护规则。
如果您配置简化的防护策略,拦截中低级爬虫,您可以在基础防护页签,配置Bot管理基础防护规则。具体操作,请参见创建基础防护规则。
创建网页防爬场景化防护规则
如果您的实际业务通过浏览器访问网页或H5页面(包括App中使用的H5页面)等,您可以创建网页防爬场景化防护模板,自定义防护规则,防御网页爬虫。
启用了JavaScript校验或滑块防护动作,当访问流量命中规则后,Web应用防火墙将对客户端发起JS校验或滑块验证,当客户端验证通过后将会在HTTP报文的Header中分别植入Cookie
acw_sc__v2
和acw_sc__v3
,用于标识客户端已经通过验证。配置Bot场景化模板,并开启了自动集成Web SDK,将会在HTTP报文的Header中植入
ssxmod_itna
、ssxmod_itna2
、ssxmod_itna3
Cookie用于获取客户端浏览器的指纹信息。收集的指纹信息包括HTTP报文的host字段、浏览器高度和宽度等。
登录Web应用防火墙3.0控制台。在顶部菜单栏,选择WAF实例的资源组和地域(中国内地、非中国内地)。
在左侧导航栏,选择。
在场景化防护页签,单击新建模板。
在防护场景定义配置向导页面,完成如下配置后,单击下一步。
配置项
说明
模板名称
为该模板设置一个名称。
长度为1~255个字符,支持中文和大小写英文字母,可包含数字、半角句号(.)、下划线(_)和短划线(-)。
模板介绍
为该模板填写相关介绍信息。
防护目标类型
选择网页/浏览器,表示防护通过浏览器访问的网页或H5页面(包括App中使用的H5页面)等。
Web SDK集成
更多信息,请参见Web应用集成SDK。
防护目标特征
添加目标流量的HTTP请求字段及其规则,即访问该防护目标时,HTTP请求报文中生成的有关该防护业务场景的字段内容。最多可以添加5个条件特征,且各条件之间为与关系。有关字段的详细内容,请参见匹配条件说明。
在防护规则推荐向导页面,完成如下配置后,单击下一步。
配置项
说明
风险识别
勾选业务安全策略后,请填写相关信息。更多详情,请参见风险识别。
启用规则后,与风险识别产品融合,配置后可实现针对黄牛等异常手机号的访问阻断,根据规则命中情况进行后付费。
合法Bot管理
勾选搜索引擎蜘蛛白名单后,选择合法搜索引擎白名单。
启用规则后,来自相关搜索引擎的合法爬虫IP将被直接放行,不经过Bot管理模块的防护检测。
Bot特征识别
Bot行为识别
Bot威胁情报
在生效范围向导页面,完成如下配置后,单击下一步。
配置项
说明
生效对象
选中需要应用的防护对象或防护对象组,单击图标,将该防护对象或防护对象组移入已选择对象区域内。
生效时间及规则灰度
您需要为已选择的防护规则设置规则灰度和生效时间。如果不设置,则规则默认关闭规则灰度,且永久生效。
定位到目标规则,单击操作列的编辑。
配置规则灰度和生效时间。
规则灰度:配置规则针对不同维度的对象的生效比例。
开启规则灰度后,您还需要设置灰度维度和灰度比例。灰度维度包括:IP、自定义header、自定义参数、自定义Cookie、Session。
生效时间模式
永久生效(默认):防护模板开启时,规则永久生效。
按时间段生效:您可以将具体某一时区的一段时间设置为防护规则的生效时间。
按周期生效:您可以将具体某一时区的每一天的一段时间设置为防护规则的生效时间。
您也可以选中多个规则,批量修改规则灰度和生效时间模式。
在防护效果验证向导页面,测试防爬防护规则。
建议您先完成防护动作验证,再发布策略,避免出现因规则配置错误、兼容性等问题引发误拦截。如果您确认规则配置无误,也可以单击左下角跳过,直接创建。
验证步骤如下:
新建的规则模板默认开启。您可以在场景化防护页签的规则模板卡片区域执行如下操作:
单击规则模板卡片,查看该模板包含的规则信息。
复制、编辑或删除规则模板。
通过模板开关,开启或关闭模板。
查看模板的规则动作和关联的防护对象/组数量。
创建App防爬场景化防护规则
如果您的实际业务是基于iOS或Android原生开发的App(不包括App中使用的H5页面)等,您可以创建App防爬场景化防护模板,自定义防护规则,防御App爬虫。
启用了JavaScript校验或滑块防护动作,当访问流量命中规则后,Web应用防火墙将对客户端发起JS校验或滑块验证,当客户端验证通过后将会在HTTP报文的Header中分别植入Cookieacw_sc__v2
和acw_sc__v3
,用于标识客户端已经通过验证。
登录Web应用防火墙3.0控制台。在顶部菜单栏,选择WAF实例的资源组和地域(中国内地、非中国内地)。
在左侧导航栏,选择。
在场景化防护页签,单击新建模板。
在防护场景定义配置向导页面,完成如下配置后,单击下一步。
配置项
说明
模板名称
为该模板设置一个名称。
长度为1~255个字符,支持中文和大小写英文字母,可包含数字、半角句号(.)、下划线(_)和短划线(-)。
模板介绍
为该模板填写相关介绍信息。
防护目标类型
选择APP,表示对使用基于iOS或Android原生开发的App(不包括App中使用的H5页面)进行防护。
APP SDK集成
WAF提供基于Native App(Android/iOS)的SDK用以提升该场景下的防护效果。SDK集成后将会采集客户端的风险特征并生成安全签名附带在请求中,WAF会根据签名特征进行请求风险的识别和拦截。
您可以通过如下方式,集成App SDK:
请提交工单联系我们,获取iOS应用对应的SDK。
单击获取并复制appkey,用于发起SDK初始化请求。
集成App SDK。具体操作,请参见iOS应用集成SDK。
防护目标特征
添加目标流量的HTTP请求字段及其规则,即访问该防护目标时,HTTP请求报文中生成的有关该防护业务场景的字段内容。最多可以添加5个条件特征,且各条件之间为与关系。有关字段的详细内容,请参见匹配条件说明。
在防护规则推荐向导页面,完成如下配置后,单击下一步。
配置项
说明
风险识别
勾选业务安全策略后,请填写相关信息。更多详情,请参见风险识别。
启用规则后,与风险识别产品融合,配置后可实现针对黄牛等异常手机号的访问阻断,根据规则命中情况进行后付费。
Bot特征识别
识别规则
防护动作
您可根据需要为配置的Bot特征识别规则,设置处置动作为观察、拦截或严格滑块。
高级防护
单击高级防护,进行如下设置:
Bot行为识别
勾选AI智能防护后,需要为被识别的Bot行为配置规则动作为观察、滑块、严格滑块或回源标记。如果设置为回源标记,您还需要设置回源时标记的Header名称、Header内容。
开启此开关后,防爬规则会通过AI智能防护引擎对访问流量进行分析和自动学习,生成有针对性的防护规则或黑名单。
Bot限速
开启此开关后,可自定义访问频率限制条件,有针对性地对访问频率过高的爬虫请求进行过滤,有效缓解CC攻击。
Bot威胁情报
在生效范围向导页面,完成如下配置后,单击下一步。
配置项
说明
生效对象
选中需要应用的防护对象或防护对象组,单击图标,将该防护对象或防护对象组移入已选择对象区域内。
生效时间及规则灰度
您需要为已选择的防护规则设置规则灰度和生效时间。如果不设置,则规则默认关闭规则灰度,且永久生效。
定位到目标规则,单击操作列的编辑。
配置规则灰度和生效时间。
规则灰度:配置规则针对不同维度的对象的生效比例。
开启规则灰度后,您还需要设置灰度维度和灰度比例。灰度维度包括:IP、自定义header、自定义参数、自定义Cookie、Session。
生效时间模式
永久生效(默认):防护模板开启时,规则永久生效。
按时间段生效:您可以将具体某一时区的一段时间设置为防护规则的生效时间。
按周期生效:您可以将具体某一时区的每一天的一段时间设置为防护规则的生效时间。
您也可以选中多个规则,批量修改规则灰度和生效时间模式。
在防护效果验证向导页面,测试防爬防护规则。
建议您先完成防护动作验证,再发布策略,避免出现因规则配置错误、兼容性等问题引发误拦截。如果您确认规则配置无误,也可以单击左下角跳过,直接创建。
验证步骤如下:
新建的规则模板默认开启。您可以在场景化防护页签的规则模板卡片区域执行如下操作:
单击规则模板卡片,查看该模板包含的规则信息。
复制、编辑或删除规则模板。
通过模板开关,开启或关闭模板。
查看模板的规则动作和关联的防护对象/组数量。
创建基础防护规则
如果您的业务遭遇中低级爬虫,您可以配置较简单的基础防护规则。基础防护不提供默认规则模板。如果您需要启用该功能,必须新建一个规则模板。
登录Web应用防火墙3.0控制台。在顶部菜单栏,选择WAF实例的资源组和地域(中国内地、非中国内地)。
在左侧导航栏,选择。
在基础防护页签,单击新建模板。
在新建模板 - Bot管理面板,完成如下配置后,单击确定。
配置项
说明
模板名称
为该模板设置一个名称。
长度为1~255个字符,支持中文和大小写英文字母,可包含数字、半角句号(.)、下划线(_)和短划线(-)。
模板介绍
为该模板填写相关介绍信息。
规则动作
为该防护规则配置处置动作为拦截或观察。
高级设置
规则灰度:配置规则针对不同维度的对象的生效比例。
开启规则灰度后,您还需要设置灰度维度和灰度比例。灰度维度包括:IP、自定义header、自定义参数、自定义Cookie、Session。
生效时间模式
永久生效(默认):防护模板开启时,规则永久生效。
按时间段生效:您可以将具体某一时区的一段时间设置为防护规则的生效时间。
按周期生效:您可以将具体某一时区的每一天的一段时间设置为防护规则的生效时间。
生效对象
从已添加的防护对象及对象组中,选择要应用该模板的防护对象和防护对象组。
一个防护对象或对象组只能关联到当前防护模块下的一个模板。关于添加防护对象和对象组的具体操作,请参见配置防护对象和防护对象组。
新建的规则模板默认开启。您可以在基础防护页签的规则模板卡片区域执行如下操作:
查看模板包含的规则ID。
说明一个基础防护模板包含三个规则ID,包括两个白名单规则ID、一个ACL和CC防护规则组成的规则ID。您可以通过该规则ID,在安全报表查看防护效果。具体操作,请参见安全报表。
复制、编辑或删除规则模板。
通过模板开关,开启或关闭模板。
查看模板的规则动作和关联的防护对象/组数量。
防爬策略测试常见问题
若在防护效果验证时出现异常情况,可参考表格解决对应问题。
报错 | 原因 | 解决方法 |
未查询到任何有效测试请求,您可以查看帮助文档或咨询我们以分析可能的原因。 | 实际测试请求没有发送成功,或者没有发送到WAF。 | 确认测试请求已经成功发送到WAF解析的地址。 |
实际测试请求的字段内容与防爬规则中定义的防护目标特征不一致。 | 在防爬策略中修改防护目标特征的内容。 | |
实际测试请求的源IP与配置策略中填写的公网测试IP不一致。 | 请确保您使用的是正确的公网IP,建议直接使用诊断工具查询您的公网IP地址。 | |
请求未通过校验,您可以查看帮助文档或咨询我们以分析可能的原因。 | 没有模拟真实用户访问,例如使用了调试模式、自动化工具等。 | 测试时使用客户端真实模拟用户访问。 |
防护场景选择错误,例如实际需要配置App防爬场景规则,但错选为网页/浏览器。 | 在防爬场景化规则中修改防护场景类型。 | |
访问请求存在跨域的情况,但在防爬场景化规则中未正确配置。 | 修改防爬场景化规则,选中 防护目标有来自其它防护对象的跨域调用并从下拉列表中选择跨域访问的来源域名。 | |
前端兼容性问题。 | 请提交工单,联系我们。 | |
请求未触发校验,您可以查看帮助文档或咨询我们以分析可能的原因。 | 测试规则没有下发完毕。 | 建议您多测试几次,等待防爬测试规则下发完成。 |
未拦截且查询到任何有效测试请求,您可以查看帮助文档或咨询我们以分析可能的原因。 | 实际测试请求没有发送成功,或者没有发送到WAF。 | 确认测试请求已经成功发送到WAF解析的地址。 |
实际测试请求的字段内容与防爬规则中定义的防护目标特征不一致。 | 在防爬策略中修改防护目标特征的内容。 | |
实际测试请求的源IP与配置策略中填写的公网测试IP不一致。 | 请确保您使用的是正确的公网IP,建议直接使用诊断工具查询您的公网IP地址。 |
后续步骤
您可以在安全报表页面,查询防护规则的执行记录。更多信息,请参见安全报表。