爬虫威胁情报功能基于云平台强大的计算能力,提供拨号池IP、IDC机房IP、恶意扫描工具IP以及云端实时模型生成的恶意爬虫库等多种维度的爬虫威胁情报规则,方便您在全域名或指定路径下设置阻断恶意爬虫的访问请求。

注意 本文介绍的爬虫威胁情报功能对应2020年1月发布的新版控制台界面。如果您使用在此日期前开通的Web应用防火墙实例,则不支持设置爬虫威胁情报规则。

前提条件

  • 已开通Web应用防火墙实例,且开启了高级配置下的Bot管理模块。高级配置-Bot管理
  • 已完成网站接入。更多信息,请参见添加域名

背景信息

爬虫威胁情报规则依据阿里云爬虫情报库,帮助您设置阻断来自威胁情报库的爬虫请求。阿里云爬虫情报库基于阿里云全网流量计算得出并可实时更新,涵盖威胁情报访问请求来源的特征信息。威胁情报库包括基于阿里云全网威胁情报实时计算得出的恶意爬虫IP情报库,以及动态更新的各大公有云和IDC IP库。
说明 涵盖公有云和IDC IP库是因为许多爬虫程序选择部署在云服务器上,而正常用户很少通过公有云和IDC的源IP访问您的业务。

您可以设置威胁情报规则,针对不同类型的威胁情报库选择不同的处置动作(例如直接拦截、进行JavaScript校验、弹出滑块验证或观察),也可以为某些关键接口配置针对特定类型威胁情报库的防护,以避免其他业务逻辑受到影响。

操作步骤

  1. 登录Web应用防火墙控制台
  2. 在顶部菜单栏,选择Web应用防火墙实例的资源组和地域(中国内地海外地区)。
  3. 在左侧导航栏,单击防护配置 > 网站防护
  4. 网站防护页面上方,切换到要设置的域名。切换域名
  5. 单击Bot管理页签,定位到Bot管理模块下的爬虫威胁情报,开启状态开关,并单击前去配置爬虫威胁情报
  6. 爬虫威胁情报规则列表中,根据情报名称选择要设防的威胁情报库,开启对应的启用状态开关。爬虫威胁情报规则
    下表描述了支持的爬虫威胁情报库。
    情报库 描述
    扫描器恶意指纹库 常见扫描器的特征库。
    恶意扫描IP情报库 基于阿里云全网实时检测到的恶意扫描行为攻击源IP进行分析,得到的动态IP情报库。
    撞库IP情报库 基于阿里云全网实时检测到的撞库、暴力破解行为攻击源IP进行分析,得到的动态IP情报库。
    伪造蜘蛛情报库 识别爬虫程序伪造合法搜索引擎的user-agent(如BaiduSpider)来逃避检测的行为。
    注意 开启该名单之前,请确保已经放行合法爬虫白名单,否则可能导致误拦截。更多信息,请参见设置合法爬虫规则
    恶意爬虫情报库 基于阿里云全网实时检测到的爬虫行为攻击源IP进行分析,得出的动态IP情报库。该名单库有低级、中级、高级三个等级。级别越高,对应的情报库内IP数量越多,相应的误判概率更大。
    说明 建议您对高级情报库规则设置二次校验(使用滑块验证、JS校验等处置动作)。对不适用于二次校验的场景(例如API等)配置低级别的情报库规则。
    IDC情报库 相关公有云和IDC机房的IP库,包括:阿里云、腾讯云、美团云、世纪互联、其他。这些IP段经常被爬虫用于部署爬虫程序或用作代理,而不会被正常用户使用。
    开启默认规则后,当目标情报库内的来源IP向域名下任意路径发起访问请求时,一律触发观察处置,即放行请求同时进行记录。

    如果您希望进一步调整默认规则(例如指定要防护的关键路径或者修改处置动作),请参照后续步骤自定义威胁情报规则。

  7. 可选:自定义威胁情报规则。
    1. 定位到要调整的默认规则,单击其操作列下的编辑
    2. 编辑规则对话框,完成以下规则配置。编辑规则-爬虫威胁情报
      配置项 描述
      防护路径 填写要防护的具体URL(例如“/abc”、“/login/abc”,“/”表示所有路径),并选择与该防护路径的匹配方式
      • 精确匹配:被访问地址与防护路径完全匹配时,记作命中。
      • 前缀匹配:被访问地址与防护路径的前缀相同时,记作命中。
      • 正则匹配:被访问地址满足防护路径的正则表达时,记作命中。

      单击新增防护路径可以添加最多10个路径。

      处置动作 指定命中规则后的操作:
      • 观察:放行请求并进行记录。
      • 阻断:直接阻断访问请求。
      • JS验证:通过JavaScript校验请求数据,验证通过后放行请求。
      • 滑块:在客户端跳出滑块验证页面,客户端完成验证后放行请求。
        说明 滑块验证仅支持同步请求,如有异步请求(如AJAX)防护需求请联系阿里云安全团队。如果不确定您防护的接口能否正常使用滑块验证,建议您先在自定义防护策略(ACL访问控制)中配置针对测试IP和URL的规则来验证和调试。
      • 严格滑块:在客户端跳出滑块验证页面,客户端完成验证后放行请求。滑块验证的通过标准更严格。
    3. 单击确定