使用Bot管理防护App业务

更新时间:
复制 MD 格式

当基于iOS、AndroidHarmony原生开发的App(不含App内嵌H5页面)面临恶意爬虫、自动化脚本攻击、接口滥用等威胁时,可以创建Bot-App防护模板,自定义防护规则,防御App爬虫,确保业务安全。

操作步骤

登录Web应用防火墙3.0控制台。在顶部菜单栏,选择WAF实例的资源组和地域(中国内地非中国内地。在左侧导航栏,选择防护配置 > BOT管理 > Bot防护模板,在App防护页签,单击新建模板

步骤一:防护场景定义

  1. 填写一个便于识别的模板名称模板介绍

  2. 选择防护目标特征,支持全局生效定制匹配条件两种类型。

    • 全局生效:适用于域名下的所有流量,包括网页、App及小程序等。

    • 定制匹配条件:支持根据请求特征区分流量类型,适用于网页与App共用同一接口,但仅需对网页或H5流量进行防护,或针对秒杀、登录等特定业务接口实施专项防护策略的场景。

      全局生效

      配置防护目标为全局生效,无需输入流量特征。

      定制匹配条件

      配置防护目标为定制匹配条件,依据输入特征进行匹配。通过单击新增条件添加一个条件。每个条件由匹配字段逻辑符匹配内容组成。配置示例如下:

      说明

      若规则包含多个条件,则请求必须满足所有条件(逻辑与关系),才能命中该规则。关于匹配字段和逻辑符的详细说明,请参见匹配条件说明

      匹配字段

      逻辑符

      匹配内容

      说明

      URI Path

      包含

      /login.php

      当请求的路径包含/login.php时,则请求命中该规则。

      IP

      属于

      192.1.XX.XX

      当客户端IP192.1.XX.XX时,则请求命中该规则。

  3. 勾选是否排除静态文件,静态文件请求通常不涉及业务逻辑,且其内容本身不易被用于注入攻击,排除静态文件可减少检测负载,使WAF专注于保护动态接口。建议选择默认的静态文件类型,也可自定义添加类型。

步骤二:编辑模板规则

  1. 二次打包区域,可单击新建配置规则。旨在防止攻击者对您的 App 进行反编译,植入恶意代码、广告,并重新签名打包为盗版 App 向您的服务器发起请求。

    • 指定合法包名包签名区域进行填写,作为App 的唯一标识。可单击新增合法版本配置多个版本,最多添加5个条件;条件之间为“或”关系。

    • 规则分类:支持设置为恶意BOT疑似BOT

    • 处置动作

      配置项

      说明

      观察

      不拦截命中规则的请求,仅通过日志记录请求命中的情况。在试运行规则时,可以先通过观察模式分析WAF日志,以确认未产生误拦截,再将其调整为其他规则动作。

      滑块

      WAF向客户端返回滑动验证页面。若客户端成功完成滑动验证,则WAF在一段时间(默认30分钟)内放行该客户端的所有请求,否则拦截请求。

      严格滑块

      WAF向客户端返回滑动验证页面。若客户端成功完成滑动验证,则放行该请求;否则拦截请求。在此模式下,客户端每次命中该规则的请求均需进行滑动验证。

      拦截

      拦截命中规则的请求,并向发起请求的客户端返回拦截响应页面。

      说明

      WAF默认使用统一的拦截响应页面,也可以通过自定义响应功能,自定义拦截响应页面。

      回源标记

      表示客户可以自定义Header名称及内容(规则类型、规则ID、App 端UMID),WAF不会直接处理,而是会通过新增Header的方式将命中信息返回给源站,客户可以与后端风控系统结合做业务侧处理。

    • 规则灰度区域,配置规则针对不同维度的对象的生效比例。开启规则灰度后,还需要设置维度灰度比例维度包括:IP自定义Header自定义参数自定义CookieSessionAPPUMID

      说明

      规则灰度根据配置的维度生效,而非对请求按比例随机生效规则。例如,当维度IP灰度比例10%时,WAF将选择约10%的IP地址;被选中的IP地址,其所有请求均应用该规则,而非对所有请求按10%的比例随机应用。

    • 生效模式区域,选择规则的生效时间。

      • 永久生效(默认):防护模板开启时,规则永久生效。

      • 按时间段生效:防护规则仅在指定的一段时间内生效。

      • 按周期生效:防护规则仅在指定的时间周期内生效。

  2. 风险识别区域,可以单击新建,创建风险识别规则。基于WAF内建的手机号信誉数据库,实现针对黄牛等异常手机号的访问阻断,适用于手机号登录注册类场景。

    重要

    风险识别属于收费功能。具体计费规则如下:

    • 计费条件:仅在完成规则配置且实际流量命中时产生费用,其他情况不计费。

    • 计费单价0.05元/次

    • 结算方式:采用后付费模式,按天生成账单。

    • 账号提取:单击新增账号配置账号类型账号位置。最多添加五个条件,条件之间为关系。

      配置示例:若登录请求采用 GET 方法,且请求参数格式为 username=158***&password=***,请按以下方式进行配置:

      • 账号位置:选择 Query参数

      • 参数名称:填写 username。

      配置完成后,WAF 即可准确提取该请求中的手机号信息,用于后续的安全匹配与检测。

    • 风险标签:单击新增标签进行配置,最多添加五个条件,条件之间为关系。

      • 疑似小号:疑似第三方平台提供手机号,非个人用户。

      • 诈骗风险:疑似历史上存在欺诈行为。

      • 垃圾注册:疑似使用非法工具进行用户注册,用于后续的营销活动等。

      • 营销作弊:疑似使用非法工具参与营销活动,如批量注册领取优惠券等。

      • 黄牛账号:疑似使用非法工具参与抢票或其他秒杀类活动。

      风险等级默认均为高风险,支持配置高风险、中高风险、中风险,可根据业务需求自由选择。

    • 处置动作

      配置项

      说明

      观察

      不拦截命中规则的请求,仅通过日志记录请求命中的情况。在试运行规则时,可以先通过观察模式分析WAF日志,以确认未产生误拦截,再将其调整为其他规则动作。

      滑块

      WAF向客户端返回滑动验证页面。若客户端成功完成滑动验证,则WAF在一段时间(默认30分钟)内放行该客户端的所有请求,否则拦截请求。

      严格滑块

      WAF向客户端返回滑动验证页面。若客户端成功完成滑动验证,则放行该请求;否则拦截请求。在此模式下,客户端每次命中该规则的请求均需进行滑动验证。

      拦截

      拦截命中规则的请求,并向发起请求的客户端返回拦截响应页面。

      说明

      WAF默认使用统一的拦截响应页面,也可以通过自定义响应功能,自定义拦截响应页面。

      回源标记

      表示客户可以自定义Header名称及内容(规则类型、规则ID、App 端UMID),WAF不会直接处理,而是会通过新增Header的方式将命中信息返回给源站,客户可以与后端风控系统结合做业务侧处理。

    • 规则灰度生效模式:具体逻辑,请参见规则灰度生效模式

  3. 策略配置区域,系统基于阿里云经验沉淀的常见 Bot 特征库,将规则划分为恶意BOT疑似BOT友好BOT三类。针对目标规则,您可以执行以下操作:

    • 启用/禁用:单击状态列的image图标,开启或关闭规则。

    • 修改规则:单击编辑按钮,对规则进行自定义调整。

    • 修改分类:对于恶意BOT疑似BOT规则,若实际分类不符合业务需求,可以在Bot类型列中对其分类进行修改。

    • 编辑规则处置动作

      配置项

      说明

      观察

      不拦截命中规则的请求,仅通过日志记录请求命中的情况。在试运行规则时,可以先通过观察模式分析WAF日志,以确认未产生误拦截,再将其调整为其他规则动作。

      滑块

      WAF向客户端返回滑动验证页面。若客户端成功完成滑动验证,则WAF在一段时间(默认30分钟)内放行该客户端的所有请求,否则拦截请求。

      严格滑块

      WAF向客户端返回滑动验证页面。若客户端成功完成滑动验证,则放行该请求;否则拦截请求。在此模式下,客户端每次命中该规则的请求均需进行滑动验证。

      拦截

      拦截命中规则的请求,并向发起请求的客户端返回拦截响应页面。

      说明

      WAF默认使用统一的拦截响应页面,也可以通过自定义响应功能,自定义拦截响应页面。

      回源标记

      表示客户可以自定义Header名称及内容(规则类型、规则ID、App 端UMID),WAF不会直接处理,而是会通过新增Header的方式将命中信息返回给源站,客户可以与后端风控系统结合做业务侧处理。

      说明

      启用JS验证滑块后,客户端通过验证时,WAF将在响应头中通过Set-Cookie 设置名为acw_sc__v2(JS验证)或 acw_sc__v3(滑块验证)的 Cookie。客户端在后续请求中会在 Cookie 头中携带该标识。

    • 编辑规则灰度生效模式

步骤三:选择生效范围

生效对象区域,选中需要应用的防护对象或防护对象组,单击image图标,将该防护对象或防护对象组移入已选择区域内,单击确定

步骤四:App SDK集成

Bot 防护能力高度依赖 SDK 采集的数据,若未集成 SDK,将无法获得完整的防护效果。针对 Native App 场景,WAF 提供专属的 App 防护 SDK 以提升安全防护能力。

集成该 SDK 后,系统将自动采集客户端的风险特征并生成安全签名,将其附加至业务请求中。WAF 随后会根据该签名特征,对请求风险进行精准识别与拦截。

请根据移动操作系统,参考SDK集成指南,集成App SDK。

日常运维

  • 编辑模板

    单击目标模板操作列的编辑,在编辑模板面板中对模板进行编辑。

  • 删除模板

    单击目标模板操作列的删除,在删除对话框中确认删除信息后单击确认

  • 复制模板

    单击目标模板操作列的复制,在复制对话框中确认复制信息后单击确认

  • 开启或关闭模板

    新建的模板默认开启,单击目标模板模板开关列的image开关,可开启或关闭该模板。

  • 查看规则

    单击目标模板的image图标,查看该模板的规则信息,单击目标规则状态列的image开关,可开启或关闭对应规则。针对已启用的规则,可查看其命中趋势。若规则动作类型为JS验证滑块严格滑块,还可查看人机校验通过率。