更新时间:2026-07-03 GMT+08:00
配置JA3/JA4指纹标记
JA3、JA4是基于SSL/TLS握手报文生成的客户端唯一身份指纹,不依赖易伪造的IP、UA、Cookie,可精准识别客户端类型、爬虫工具、恶意程序、非法定制客户端、黑产访问端。
- JA3:传统TLS指纹,适配TLS1.2及以下主流协议,生态成熟。
- JA4:新一代优化指纹,适配TLS1.3,抗指纹随机化、抗伪装能力更强,识别精度更高。
如果WAF业务前端部署了七层反向代理(如ELB),且需要基于客户端TLS指纹对爬虫、恶意Bot、特定客户端进行拦截,可通过JA3、JA4指纹标识实现。WAF通过读取七层代理透传的请求头,获取客户端JA3、JA4指纹,结合精准访问防护规则,支持指纹放行、指纹拦截、指纹人机验证等精细化流量管控。
原理介绍
通过JA3、JA4指纹标识,实现精准访问控制,要满足以下条件:
- WAF前部署了七层反向代理,下文以七层弹性负载均衡 ELB为例。
- 七层ELB能获取TLS中的JA3指纹,并通过Header头透传给WAF。
- WAF解析JA3、JA4指纹标识后,进行安全检查。
- 云模式-CNAME接入:该模式使用共享集群,不支持自定义TLS指纹Header解析,即使七层ELB透传了JA3、JA4指纹标识到WAF,WAF也不会读取、匹配JA3/JA4指纹标识。
- 云模式-ELB接入:七层ELB直接将JA3、JA4指纹通过Header头透传给WAF,WAF根据透传过来的JA3、JA4指纹进行安全检查。
- 独享模式接入:将七层ELB提取的JA3、JA4指纹的相关字段,配置为WAF JA3、JA4指纹标识的自定义Header的value,以透传该信息给WAF。WAF根据透传过来的JA3、JA4指纹进行安全检查。
详细实现原理如图1所示。
约束条件
仅独享模式接入支持在WAF配置JA3、JA4指纹标识。
WAF前存在七层反向代理(如ELB)。
前提条件
- 已通过“独享模式接入”将网站接入WAF。
- 已在弹性负载均衡 ELB配置HTTP头字段:X-Forwarded-Tls-Ja3、X-Forwarded-Tls-Ja4。详细信息请参见添加HTTP头字段。
配置JA3、JA4指纹标识
- 登录Web应用防火墙控制台。
- 在控制台左上角,单击
图标,选择区域或项目。 - (可选) 如果您已开通企业项目,在左侧导航栏上方单击“按企业项目筛选”下拉框,选择您所在的企业项目。完成后,页面将为您展示该企业项目下的相关数据。
- 在左侧导航栏,单击“网站设置”。
- 在“网站设置”页面,单击目标网站域名。
- 在区域,单击“JA3指纹标记”或“JA4指纹标记”下
,填写对应的指纹标识。 - “JA3指纹标记”填写为“X-Forwarded-Tls-Ja3”
- “JA4指纹标记”填写为“X-Forwarded-Tls-Ja4”
图2 TLS指纹标识
后续操作
您可以添加精准访问防护规则,配置TLS指纹(JA3)、TLS指纹(JA4)条件规则,用于处置携带JA3、JA4指纹的请求。
- 返回管理控制台,在左侧导航栏,单击“防护策略”。
- 单击目标策略,开启“精准访问防护”。
- 单击“添加规则”,参考完成参数配置。 图3 添加“TLS指纹(JA3)”或“TLS指纹(JA4)”规则
- 条件:选择“字段”为“TLS指纹(JA3)”或“TLS指纹(JA4)”后,设置条件的“逻辑”和“内容”。
- 其他参数配置详情,请参见配置精准访问防护规则。
操作结果验证
- 清理浏览器缓存,访问防护网站,请求被拦截。
- 返回Web应用防火墙控制界面,在左侧导航树中,单击“防护事件”,进入“防护事件”页面,查看防护域名拦截日志。
