Web应用防火墙(Web Application Firewall,简称WAF)针对Bot管理模块升级,提供防爬场景化配置功能。您可以基于实际业务场景定制防爬规则,更有针对性地对业务进行爬虫风险防护。本文指导您针对App的场景配置防爬场景化规则。

背景信息

防爬场景化配置功能支持基于不同业务场景定制防爬规则,结合智能算法,精准识别爬虫流量,并对命中规则的爬虫行为自动处置。同时,在定制场景化防爬规则后,您可以在测试环境中对防爬规则进行应用前的验证,避免因规则配置不合理或防护兼容性问题,对您的网站或App业务产生误拦截或防护效果低等不利影响。

前提条件

  • 如果是包年包月实例:已开通高级版、企业版、旗舰版的Bot管理增值服务。
  • 如果是按量计费实例:已在账单与套餐中心,开启Bot管理模块下场景化配置功能。
    说明 使用按量计费WAF实例的防爬场景化配置功能时,阿里云将根据您已设置的场景个数来计费。相关内容,请参见计费说明
  • 已完成网站接入。具体操作,请参见使用教程
  • 需要防护的App已集成Web应用防火墙SDK。详细内容,请参见集成SDK

添加网页/浏览器场景

  1. 登录Web应用防火墙控制台
  2. 在顶部菜单栏,选择Web应用防火墙实例的资源组和地域(中国内地非中国内地)。
  3. 在左侧导航栏,选择防护配置 > 网站防护
  4. 网站防护页面上方,切换到要设置的域名。切换域名
  5. 如果您没有创建过防爬场景化规划,单击Bot管理页签,在场景化配置模块单击点我开始,创建您的第一条防爬场景化规则。如果您已创建过防爬场景化规则,在Bot管理页签右上角单击添加,创建更多的防爬场景化规则。
    说明 每个域名最多可添加50条场景化配置规则。
  6. 防护场景定义配置向导页面,设置防爬保护目标的基础信息,并单击下一步
    配置项说明
    防护业务场景填写该防爬规则防护的业务场景类型。常见场景例如:登录、注册、下单等。
    防护目标类型选择App,表示对使用iOS和Android系统开发的原生App进行防护。
    说明 App中使用的H5页面不属于此类防护目标。如果您需要对App中使用的H5页面进行防爬场景化防护,防护目标类型需要选择网页/浏览器
    防护目标特征添加目标流量的HTTP请求字段及其规则,即访问该防护目标时,HTTP请求报文中生成的有关该防护业务场景的字段内容。有关字段的详细内容,请参见匹配条件字段说明。最多可以添加5个条件。
    重要 输入IP地址后需要按回车。
  7. 防护规则推荐向导页面,设置防爬场景规则的详细内容,并单击下一步
    配置项说明
    App签名异常对使用未携带签名或签名非法的App访问防爬防护目标的请求进行检测和管控。此项不支持关闭,您可以在下方设置防护动作,对App签名异常的流量进行相应的处置。设置为观察模式,防爬规则会放行命中流量并将流量记录在安全报表和日志服务中;设置为拦截模式,防爬规则会对命中流量进行拦截。
    设备特征异常启用此项后,防爬规则会对具有异常特征的设备发起的请求进行检测和管控。
    设备的异常特征包括:
    • 使用模拟器:表示设备上使用了模拟器。
    • 使用代理:表示设备上使用了代理服务。
    • Root设备:表示设备开放了Root权限。
    • 调试模式:表示设备开启了调试模式。
    • App被hook:表示设备上存在hook程序。
    • App多开:表示设备上同时打开了多个被防护App的进程。

    您可根据需要将规则设置为观察拦截

    防护动作支持观察拦截两种处置动作。此项配置针对App签名异常设备特征异常同时生效。
    IP限速开启后即可设置访问频率限制条件,有针对性地过滤异常请求,有效缓解CC攻击。

    您可以自定义IP限速条件来规定在指定的统计时长内,来自同一IP地址的访问次数超过指定阈值时,对该访问请求执行阻断或观察的处置动作,并规定处置动作的生效时长。最多可以设置3个条件。相关内容,请参见设置自定义防护策略

    设备限速开启后即可设置访问频率限制条件,有针对性地过滤异常请求,有效缓解CC攻击。

    您可以自定义终端设备限速条件来规定在指定的统计时长内,来自同一终端设备的访问次数超过指定阈值时,对该访问请求执行阻断或观察的处置动作,并规定处置动作的生效时长。最多可以设置3个条件。

    自定义会话限速开启后即可自定义访问频率限制条件,有针对性地过滤异常请求,有效缓解CC攻击。

    您可以自定义会话限速条件来规定在指定的统计时长内,来自同一会话的访问次数超过指定阈值时,对该访问请求执行阻断或观察的处置动作,并规定处置动作的生效时长。最多可以设置3个条件。相关内容,请参见设置自定义防护策略

  8. 可选:防护动作校验页面,对防爬防护规则进行效果测试。
    本步骤为可选操作,您也可以单击左下角跳过。建议您先完成防护动作验证后,再发布策略。
    关键配置项说明:
    • 公网测试IP:填写您测试设备(手机)的公网IP。防爬规则将仅针对该公网IP生效,不会对您的业务产生影响。
      重要 如果不确定您设备的公网IP,可以通过本页面提示信息中的网络诊断工具或在线IP查询工具进行查询。
    • SDK签名验证:单击去测试,验证该App的SDK签名是否正常。
      说明 请务必使用已经集成好App防护SDK的真实设备进行测试,否则会导致验证签名失败,访问请求被拦截,无法正常完成测试。
    • 测试动作:针对命中规则的访问请求进行拦截验证。在测试动作模块上单击去测试后,WAF会将防护策略即刻下发到测试设备,同时为您展示测试效果演示图和说明,建议您仔细阅读。

      完成测试后,单击已完成测试进入下一步;如果测试结果异常,可以单击返回去再准备一下,优化防爬规则后重新测试。

      有关测试时出现的异常情况说明和对应的解决方法,请参见防爬策略测试常见问题

  9. 策略预览和发布页面,确认策略的内容,单击发布
    策略发布后即刻生效。
    说明 首次创建场景时不会展示规则ID,正式发布防爬场景化规则后,您可以在安全报表页面的Bot管理页签下方,查看规则ID信息。规则ID可用于日志服务中检索特定规则的命中情况。

防爬策略测试常见问题

若在防护动作验证时出现异常情况,可参考表格解决对应问题。

报错原因解决方法
未查询到任何有效测试请求,您可以查看帮助文档或咨询我们以分析可能的原因。实际测试请求没有发送成功,或者没有发送到WAF。确认测试请求已经成功发送到WAF解析的地址。
实际测试请求的字段内容与防爬规则中定义的防护目标特征不一致。在防爬策略中修改防护目标特征的内容。
实际测试请求的源IP与配置策略中填写的公网测试IP不一致。请确保您使用的是正确的公网IP,建议直接使用诊断工具查询您的公网IP地址。
请求未通过校验,您可以查看帮助文档或咨询我们以分析可能的原因。没有模拟真实用户访问,例如使用了调试模式、自动化工具等。测试时使用客户端真实模拟用户访问。
防护场景选择错误,例如实际需要配置App防爬场景规则,但错选为网页/浏览器在防爬场景化规则中修改防护场景类型。
访问请求存在跨域的情况,但在防爬场景化规则中未正确配置。修改防爬场景化规则,选中防护目标有来自其它域名的跨域调用并从下拉列表中选择跨域访问的来源域名。
前端兼容性问题。请提交工单,联系我们。
请求未触发校验,您可以查看帮助文档或咨询我们以分析可能的原因。测试规则没有下发完毕。建议您多测试几次,等待防爬测试规则下发完成。
未拦截且查询到任何有效测试请求,您可以查看帮助文档或咨询我们以分析可能的原因。实际测试请求没有发送成功,或者没有发送到WAF。确认测试请求已经成功发送到WAF解析的地址。
实际测试请求的字段内容与防爬规则中定义的防护目标特征不一致。在防爬策略中修改防护目标特征的内容。
实际测试请求的源IP与配置策略中填写的公网测试IP不一致。请确保您使用的是正确的公网IP,建议直接使用诊断工具查询您的公网IP地址。