Bot管理提供页面、浏览器、App防爬功能。本文介绍如何配置防爬规则。
前提条件
- 已开通边缘WAF服务。具体操作,请参见开通边缘WAF。
- 已将域名添加为边缘WAF的防护对象。具体操作,请参见接入防护域名。
- 如果您使用的是基于iOS或Android原生开发的App(不包括App中使用的H5页面),设置App防爬规则前,需要在防护的App应用中集成SDK。详细操作,请参见Android应用集成SDK或iOS应用集成SDK。
设置网页防爬规则
如果您通过浏览器访问网页或H5页面(包括App中使用的H5页面)等,您可以通过设置浏览器访问网页的防爬规则,更有针对性地对业务进行爬虫风险防护。
- 登录DCDN控制台。
- 在左侧导航栏,单击 。
- 在防护策略页面,单击新建策略。
- 在创建防护策略页面,配置防护信息。
配置模块 配置项 说明 策略信息 策略类型 选择BOT管理。 策略名称 您自定义的策略名称,支持输入中文字符、英文字符(大小写)、数字(0~9)及下划线(_),最大输入64个字符。 全局配置 防护目标类型 选择网页/浏览器,表示防护通过浏览器访问的网页或H5页面(包括App中使用的H5页面)。 Web SDK集成 - 自动集成(推荐):
采用基于JavaScript的Web SDK,提升Web浏览器场景下的防护效果,避免部分不兼容问题。
开启自动集成后,WAF将自动在防护对象的HTML页面中引用SDK。SDK采集相关的浏览器信息、特定攻防探针、操作行为等(不涉及个人敏感信息)后,WAF将根据获取的信息请求风险识别和拦截。
- 手动集成:
若当前环境不适用自动集成,您可以采用手动集成。
防护目标特征 添加目标流量的HTTP请求字段及其规则,即访问该防护目标时,HTTP请求报文中生成的有关该防护业务场景的字段内容。有关字段的详细内容,请参见匹配条件说明。 合法Bot管理 搜索引擎蜘蛛白名单 开启此开关后,支持主流搜索引擎的爬虫IP信息,可动态更新,目前包含Google、百度、搜狗、Bing、360、Yandex。 启用规则后,来自相关搜索引擎的合法爬虫IP将被直接放行,不经过Bot管理模块的防护检测。
Bot特征识别 简单脚本过滤(JavaScript挑战) 开启此开关后,对访问防爬防护目标的客户端进行JS校验,对不支持JS校验的来自非浏览器类工具的流量过滤,阻断简单脚本类攻击。 高级Bot防御(动态令牌挑战) 开启此开关后,对每一次请求数据进行签名验证,不能通过验签的请求将被拦截。您可以选择签名验证异常(该项为必选,指未携带签名或者签名非法)、签名时间戳异常、WebDriver攻击。 Bot行为识别 AI智能防护 开启此开关后,防爬规则会通过AI智能防护引擎对访问流量进行分析和自动学习,生成有针对性的防护规则或黑名单。 - 观察:防爬规则会放行命中流量并将流量记录在安全报表中。
- 滑块校验:客户端需完成滑块校验后才能继续访问防护目标。
自定义限速 IP限速(默认) 规定在统计时长内,来自同一IP地址的访问次数超过指定阈值时,对来自该IP的访问请求执行滑块、拦截或观察的限速动作,并规定限速动作的限速时间。最多可以设置3个条件。相关内容,请参见自定义规则参数说明。
自定义会话限速 您可以设置会话类型,自定义会话限速条件来规定在统计时长内,来自同一会话的访问次数超过指定阈值时,对该会话滑块、拦截或观察的限速动作,并规定处置动作的限速时间。最多可以设置3个条件。相关内容,请参见自定义规则参数说明。
Bot威胁情报 爬虫威胁情报库 收录一段时间内在阿里云上对多个用户有多次恶意爬取行为的攻击源IP地址。 您可设置爬虫威胁情报库为观察或滑块校验。
IDC黑名单封禁 开启此开关后,会封禁选中IP库。如果您使用公有云或IDC机房的源IP来访问,请注意加白已知的合法调用,如支付宝或微信的支付回调、监控程序等。IDC黑名单封禁支持如下IP库:阿里云、世纪互联、美团云、腾讯云、其他。 您可设置IDC黑名单封禁为观察、滑块校验或拦截。
伪造蜘蛛拦截 开启后将拦截合法Bot管理中所有搜索引擎的User-Agent,已开启白名单的搜索引擎对应的合法客户端IP将被放行。 防护域名 防护域名 选择需要接入当前防护策略中的域名。 说明- 一个防护域名只能被关联在同一策略类型的单个防护策略中。
若域名上已有其它同类型策略,选择为域名配置当前策略后,则该域名的策略信息将被替换为当前策略。
- 目前不支持开启WebSocket协议的DCDN域名配置Bot防护(WebSocket内容加密,无法识别攻击特征)。
- 自动集成(推荐):
- 单击创建策略。
新建的防护策略默认开启。
设置App防爬规则
如果您使用的是基于iOS或Android原生开发的App(不包括App中使用的H5页面),您可以通过设置App防爬规则,更有针对性地对业务进行爬虫风险防护。本文介绍如何配置App的防爬规则。
- 登录DCDN控制台。
- 在左侧导航栏,单击 。
- 在防护策略页面,单击新建策略。
- 在创建防护策略页面,配置防护信息。
配置模块 配置项 说明 策略信息 策略类型 选择BOT管理。 策略名称 您自定义的策略名称,支持输入中文字符、英文字符(大小写)、数字(0~9)及下划线(_),最大输入64个字符。 全局配置 防护目标类型 选择APP,表示对使用基于iOS或Android原生开发的App(不包括App中使用的H5页面)进行防护。 Web SDK集成 采用Native App(Android或iOS)的SDK,提升App场景下的防护效果。SDK集成后,将会采集客户端的风险特征并生成安全签名附带在请求中,WAF会根据签名特征进行请求风险的识别和拦截。您需要单击获取并复制appkey,填写信息申请获取SDK包。更多信息,请参见Android应用集成SDK或iOS应用集成SDK。 防护目标特征 添加目标流量的HTTP请求字段及其规则,即访问该防护目标时,HTTP请求报文中生成的有关该防护业务场景的字段内容。有关字段的详细内容,请参见匹配条件说明。最多可以添加5个条件。 Bot特征识别 APP签名异常 默认勾选APP签名异常,且不可关闭。防爬规则将检测App集成SDK后未携带签名或签名非法的请求。 设备特征异常 启用此项后,防爬规则会对具有异常特征的设备发起的请求进行检测和管控。设备的异常特征包括: - 签名过期:默认打开,表示设备请求的时间戳过期。
- 使用模拟器:表示设备上使用了模拟器。
- 使用代理:表示设备上使用了代理服务。
- Root设备:表示设备开放了Root权限。
- 调试模式:表示设备开启了调试模式。
- APP被hook:表示设备上存在hook程序。
- App多开:表示设备上同时打开了多个被防护App的进程。
自定义加签字段 选择字段名,在header、cookie中自定义加签字段。 对于签名对象比较特殊的场景(如body超长、为空或特殊编码等场景),可将签名内容用hash等方式处理后放在自定义的加签字段中,WAF将按照此处的内容进行验签。
防护动作 您可根据需要将规则设置为观察或拦截: - 观察:触发告警,不阻断请求。
- 拦截:直接阻断攻击请求。
二次打包检测 启用此项后,如果有不在合法包名和包签名白名单中的App请求,将被视为二次打包请求。您可以设置合法版本信息: - 指定合法包名:指定合法的App包名称。例如,example.aliyundoc.com。
- 包签名:请联系阿里云相关安全技术人员获取。如果无需验证对应的App包签名,则包签名项为空即可,WAF将只验证所设定的合法App包名称。
说明 包签名不是App证书签名。新增合法版本支持iOS和Android包,最多可添加5条,且包名称不允许重复。
您可根据需要将规则设置为观察或拦截。
Bot限速 IP限速(默认) 规定在统计时长内,来自同一IP地址的访问次数超过指定阈值时,对来自该IP的访问请求执行拦截、观察的限速动作,并规定限速动作的限速时间。最多可以设置3个条件。相关内容,请参见自定义规则参数说明。
设备限速 您可以通过设置设备限速条件来规定在统计时长内,来自同一设备的访问次数超过指定阈值时,对来自该设备的访问请求执行拦截、观察的限速动作,并规定限速动作的限速时间。最多可以设置3个条件。相关内容,请参见自定义规则参数说明。
自定义会话限速 您可以设置会话类型,自定义会话限速条件来规定在统计时长内,来自同一会话的访问次数超过指定阈值时,对该会话、拦截、观察的限速动作,并规定处置动作的限速时间。最多可以设置3个条件。相关内容,请参见自定义规则参数说明。
防护域名 防护域名 选择需要接入当前防护策略中的域名。 说明 一个防护域名只能被关联在同一策略类型的单个防护策略中。若域名上已有其它同类型策略,选择为域名配置当前策略后,则该域名的策略信息将被替换为当前策略。
- 单击创建策略。
新建的防护策略默认开启。