本文为您介绍客户端风险识别中的前端对抗功能。该功能通过客户端动态安全验证技术,对业务请求的每个客户端生成唯一 ID,检测客户端对 Web 或 HTML5 页面访问中可能存在机器人和恶意爬虫行为,降低网站核心接口和业务受 BOT 威胁的风险。
背景信息
兼容性说明:前端对抗适用于网页或 HTML5 业务防护,通过前端对抗技术,动态生成客户端 ID 和 Token,通过检测客户端 ID 和动态 Token,完成恶意和爬虫请求识别。在特定情况下,POST 请求可能存在兼容性问题(响应体 content-type 内容不为 text/html,且响应体中未包含有 <html> 标签),导致前端动态检测异常,此时可对请求路径或响应请求进行加白处理。
有感前端对抗:对符合条件的客户请求通过弹出验证码(滑块、拼图、字符比较等方式)的方式进行验证识别,区别人和工具(BOT)的访问行为,对验证失败达到一定次数的请求进行拦截处理;适用于保护网站核心接口(如购物车、支付、短信接口等)。该能力已在 WAF 的各个模块处置动作(观察、人机识别、重定向和拦截等)中集成,您可以根据实际需要进行配置使用。
无感前端对抗:在对用户体验无影响的情况下完成客户端行为检测,适合对用户体验要求较高的场景。无感前端对抗通过动态安全技术,对请求客户端生成客户端唯一 ID,检测客户端对 Web 或 HTML5 页面访问中可能存在刷量和恶意爬虫行为,您可以根据实际需要对恶意访问行为进行处置动作。
注意:
前端对抗技术仅适用于 Web 或 HTML5 环境,移动端和小程序暂不支持。
前端对抗优先于 CC 防护执行,被前端对抗拦截的请求(HTTP 403)不会再进入 CC 防护流程。因此,攻击日志中的 403 状态码可能来自前端对抗,而非 CC 防护。
前提条件
完成防护域名的添加及正常接入,当前域名处于正常防护,且开启 BOT 管理规则总开关,详情请参见 快速入门。 说明:
在云原生型 WAF 实例添加的域名,暂时不支持开通前端对抗。
在 SaaS-WAF 实例添加的泛域名,暂时不支持开通前端对抗。
基于对抗功能设计,开启前端对抗功能开关后会在 Response 中插入 JS ,可能导致 WAF 到源站带宽略有增加。
防护配置
2. 在 BOT 管理页面左上角,选择需要防护的域名。
3. 在 BOT 管理页面,开启 BOT 管理,
4. 在全局设置中,单击前端对抗模块的前往配置,进入前端对抗配置页。
5. 在前端对抗页面,可以配置页面防调试、自动化工具识别等功能开关,并添加白名单策略。
6. 在场景化管理中,选择目标场景,单击右侧的查看配置。
7. 在场景详情页面,单击前端对抗,配置该场景下前端对抗的功能开启/关闭,并选择防护模式。
字段说明
开关:默认关闭。开启后,WAF 将对域名下该场景的生效范围内的页面进行前端对抗安全防护,识别客户端请求中可能存在爬虫行为,您可以对识别为爬虫行为的请求采取不同处置动作。APP 和小程序暂不适用该策略。
防护模式:默认为监控状态,开启开关后,您可以设置对前端对抗模块检出的爬虫行为进行处置动作,动作类型包括:监控、人机识别、重定向和拦截。
配置白名单策略
1. 登录 Web 应用防火墙控制台,在左侧导航栏中,选择 BOT 管理。在 BOT 管理页面左上角,选择需要防护的域名。 2. 在全局设置中,单击前端对抗模块的前往配置。
3. 在前端对抗页面,单击添加规则,弹出添加白名单规则窗口。
4. 在添加白名单规则窗口中,配置相关参数,单击确定即可。
字段说明
类型
请求白名单:加白防护路径下不需要进行动态安全检测的请求路径或 URL。
响应白名单:默认对防护路径响应页面插入 JS,可指定页面不插入 JS,提高网站兼容性。
匹配条件:支持路径后缀匹配、相等、前缀匹配和包含,默认为:路径后缀匹配。
匹配内容:当匹配条件为路径后缀匹配,默认给出需要加白的文件后缀名称,包括: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。您可以根据实际情况进行修改。 输入其他匹配条件,请按照实际情况输入白名单路径。
规则描述(选填):输入规则描述信息。
规则开关:默认关闭,您可根据实际情况调整。
5. 已有白名单规则支持编辑或删除。