WAF针对爬虫风险管理进行全面升级,提供防爬场景化配置功能。您可以基于实际业务场景对防爬规则进行定制,从而更有针对性地对业务进行爬虫风险防护。本文指导您针对App的场景如何配置防爬场景化规则。

前提条件

  • 包年包月高级版、企业版、旗舰版已开通了Bot防护模块和App防护模块。
  • 需要防护的App已集成Web应用防火墙SDK。详细内容,请参见集成SDK

背景信息

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

添加网页/浏览器场景

  1. 登录Web应用防火墙控制台
  2. 在顶部菜单栏,选择Web应用防火墙实例的资源组和地域(中国内地海外地区)。
  3. 在左侧导航栏,选择防护配置 > 网站防护
  4. 网站防护页面上方,切换到要设置的域名。切换域名
  5. 单击Bot管理页签,定位到场景化配置模块,单击点我开始,创建您的第一条防爬场景化规则。首次开启防爬场景化功能
    如果您已创建过防爬场景化规则,可以忽略本步骤,直接在本页面单击右上角添加,创建新的场景化规则。
  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限速条件来规定在指定的统计时长内,来自同一IP地址的访问次数超过指定阈值时,对该访问请求执行阻断或观察的处置动作,并规定处置动作的生效时长。最多可以设置3个条件。相关内容,请参见设置自定义防护策略
      • 设备限速:您可以自定义终端设备限速条件来规定在指定的统计时长内,来自同一终端设备的访问次数超过指定阈值时,对该访问请求执行阻断或观察的处置动作,并规定处置动作的生效时长。最多可以设置3个条件。
      • 自定义会话限速:您可以自定义会话限速条件来规定在指定的统计时长内,来自同一会话的访问次数超过指定阈值时,对该访问请求执行阻断或观察的处置动作,并规定处置动作的生效时长。最多可以设置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地址。
请求验签失败被拦截,您可以查看帮助文档或咨询我们以分析可能的原因。 集成SDK时部分代码逻辑有问题导致签名非法,例如签名的内容跟实际请求不一致,或签名缺失。 检查签名是否存在问题并进行修复。相关内容,请参见App防护
测试时未使用真实设备或开启了代理。 使用真实的设备重新进行测试。