更新时间: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所示。

图1 JA3、JA4指纹实现原理

约束条件

独享模式接入支持在WAF配置JA3、JA4指纹标识。

WAF前存在七层反向代理(如ELB)。

前提条件

配置JA3、JA4指纹标识

  1. 登录Web应用防火墙控制台
  2. 在控制台左上角,单击图标,选择区域或项目。
  3. (可选) 如果您已开通企业项目,在左侧导航栏上方单击“按企业项目筛选”下拉框,选择您所在的企业项目。完成后,页面将为您展示该企业项目下的相关数据。
  4. 在左侧导航栏,单击“网站设置”
  5. “网站设置”页面,单击目标网站域名。
  6. 高级配置 > TLS指纹标识区域,单击“JA3指纹标记”“JA4指纹标记”,填写对应的指纹标识。

    • “JA3指纹标记”填写为“X-Forwarded-Tls-Ja3”
    • “JA4指纹标记”填写为“X-Forwarded-Tls-Ja4”
    图2 TLS指纹标识

后续操作

您可以添加精准访问防护规则,配置TLS指纹(JA3)、TLS指纹(JA4)条件规则,用于处置携带JA3、JA4指纹的请求。

  1. 返回管理控制台,在左侧导航栏,单击“防护策略”
  2. 单击目标策略,开启“精准访问防护”
  3. 单击“添加规则”,参考完成参数配置。

    图3 添加“TLS指纹(JA3)”“TLS指纹(JA4)”规则
    • 条件:选择“字段”“TLS指纹(JA3)”“TLS指纹(JA4)”后,设置条件的“逻辑”“内容”
    • 其他参数配置详情,请参见配置精准访问防护规则

操作结果验证

  1. 清理浏览器缓存,访问防护网站,请求被拦截。
  2. 返回Web应用防火墙控制界面,在左侧导航树中,单击“防护事件”,进入“防护事件”页面,查看防护域名拦截日志。

相关文档