有奖捉虫:办公协同&微信生态&物联网文档专题 HOT

功能简介

本文档将为您介绍腾讯云 Web 应用防火墙中 BOT 行为管理的前端对抗功能。该功能通过客户端动态安全验证技术,对业务请求的每个客户端生成唯一 ID,检测客户端对 Web 或 H5 页面访问中可能存在机器人和恶意爬虫行为,保护网站业务安全。

背景信息

  • 兼容性说明:前端对抗适用于网页或 H5 业务防护,通过前端对抗技术,动态生成客户端 ID 和 Token,通过检测客户端 ID 和动态 Token,完成恶意和爬虫请求识别。在特定情况下,对 POST 请求可能存在兼容性问题(响应体 content-type 内容不为:text/html,且响应体中未包含有< html >标签),导致前端动态检测异常,此时可以通过对请求路径或者响应请求进行加白处理。

  • 有感前端对抗:对符合条件的客户请求通过弹出滑块验证的方式进行验证识别,区别人和工具(BOT)的访问行为,对验证失败达到一定次数的请求进行拦截处理;适用于保护网站核心接口(如购物车、支付、短信接口等)。该能力已经在 WAF 的各个模块动作处理(观察、验证码、重定向和拦截等)中集成,您可以根据实际需要进行配置使用。

  • 无感前端对抗:在对用户体验无影响的情况完成客户端行为检测,适合对用户体验要求较高的场景。无感前端对抗通过动态安全技术,对请求客户端生成客户端唯一 ID,检测客户端对 Web 或 H5 页面访问中可能存在刷量和恶意爬虫行为,您可以根据实际需要对恶意访问行为进行动作处理。

说明:

前端对抗技术仅适用于 Web 或 H5 环境,移动端和小程序暂不支持。

前提条件

您已经购买 Web 应用防火墙套餐,完成防护域名添加,域名处于正常防护状态,并且完成域名 BOT 检测功能开通。

说明:

  • 对抗当前处于灰度阶段,如需试用请 联系我们 进行开通。在灰度期间您可以免费使用,正式发布后,将按官网公布刊例价正常收取费用。
  • 在 CLBWAF 实例添加的域名,暂时不支持开通前端对抗。
  • 在 SAASWAF 实例添加的泛域名,暂时不支持开通前端对抗。
  • 在SAASWAF 开启 HTTP2.0 协议的域名,暂不支持使用前端对抗。

操作步骤

步骤1:进入前端对抗设置页面

  1. 登录 Web 应用防火墙(WAF)控制台,在左侧导航栏中,选择【BOT 行为管理】>【BOT 防护设置】,单击【防护设置】进入防护设置页面。

  2. 在防护设置页面,选择【前端对抗】进入默认设置页面。

    • 防护开关:默认为关闭。开启后 WAF 将对域名指定的页面进行前端对抗安全防护,识别客户端请求中可能存在爬虫行为,可以对识别为爬虫行为的请求采取不同处置动作。APP 和小程序暂不适用该策略。

    • 防护模式:默认为观察,总开关关闭状态下模式设置不可编辑。开关开启下,您可以设置对前端对抗模块检出的爬虫行为进行动作处理,动作类型包括:观察、验证码、重定向和拦截。

步骤2:配置前端对抗策略防护

在前端对抗设置页面 ,单击开启【防护开关】,选择策略设置,单击右侧的【设置】进行防护配置。

说明:

  • 防护路径:默认为 /,表示全站生效,设置前端对抗生效的路径,支持目录和具体 URL,支持输入多个路径,请以英文逗号隔开,最多支持10个,至少需要输入1个路径。
  • 自动化工具识别:默认开启,自动化工具识别能力,开启后辅助进行动态威胁检测。
  • 页面防调试:默认开启,为了防⽌⽤户查看⻚⾯逻辑,⻚⾯防调试功能在⽤户调⽤浏览器的开发者工具页面时,阻⽌⽤户跟踪⻚⾯逻辑。

步骤3:查看前端对抗防护是否开启

  • 查看方式一:通过查看 Web 页面源代码,开启前端对抗防护页面,将会在 Web 返回代码中添加如下内容:

    查询到该内容,说明该页面已经支持前端对抗防护。
  • 查看方式二:通过 curl 访问域名,查看返回内容为不可读页面。
  • 查看方式三(针对已经开启页面防调试):通过试用浏览器的开发者根据查看页面,以下以 Chrome 浏览器为例,出现如下提示:

    说明页面防调试功能已经启用。

步骤4:查看前端对抗防护攻击日志

BOT 行为管理前端对抗攻击日志属于 BOT 拦截日志的一部分,可以通过查看 BOT 拦截日志进行查看。

  • 在左侧导航栏中,选择【日志服务】>【攻击日志】,进入“日志查询”页签,选择攻击类型为:Bot 拦截,单击【确定】。
  • 在右下角原始数据中,可查看attack_content 格式为:BOT 类型:xx;BOT 行为:xx 的日志为前端对抗防护产生的攻击日志。(例如:BOT 类型:WebDriver;BOT 行为:重放攻击)。
    说明:

    • BOT 类型包括:PhantomJS、WebDriver、AppScan、AWVS、LoadRunner、WebInspect、NetSparker、 RSAS、UFT_QTP、HeadlessChrome、NODEJS,HouYiCaiJi 等。
    • BOT 行为包括:非法客户端、令牌篡改、简单脚本攻击、重放攻击、无效请求头等。

步骤5:设置前端对抗白名单

指定请求白名单和响应白名单,对不需要进行前端对抗防护页面进行加白,或对可能有兼容性问题的页面进行加白处理。

说明:

  • 请求白名单,加白网站 URL 页面不需要进行动态安全检测;
  • 响应白名单,默认 WAF 会根据业务情况对响应页面插入 JS,可指定页面不插入 JS,提高网站兼容性。
  1. 在前端对抗页面,开启防护开关,选择【白名单】进行白名单设置,单击【添加规则】进入白名单规则添加页面。

  2. 在弹出的对话框,设置白名单规则,单击【确定】。

    说明:

    • 类型:默认为请求白名单,用户可选择设置响应白名单。
    • 匹配条件:支持路径后缀匹配、前缀匹配、相等和包含,默认为:路径后缀匹配
    • 匹配内容:当匹配条件为【路径后缀匹配】,默认给出需要加白的文件后缀名称,包括:ico、gif、bmp、htc、jpg、jpeg、png、tiff、swf、js、css、rm、rmvb、wmv、avi、mkv、mp3、mp4、ogg、wma、zip、exe、rar、eot、woff、woff2、ttf、svg。您可以根据实际情况进行修改。 输入其他匹配条件,请按照实际情况输入白名单路径。
      • 规则描述:输入规则描述信息。
      • 规则开关:默认开启,您可根据实际情况调整。

  3. 完成白名单规则添加后,您可以在白名单规则管理页面,进行启停、删除等操作。