网站指纹识别工具的核心作用, 是把检查和分析的工作放在网站上, 去看出那个在_HTTP_或者_TLS_协议那一层里面露出来的特征信息。这么做的目的, 主要是用来做安全方面的审计, 或者是想办法把反爬虫的策略给优化一下, 还有就是为了看看符不符合规定要求。
现在市面上大家都用的那些主流办法, 大概能分成两拨人, 一拨是开源的工具, 另一拨是商业用途的平台。你在选哪个的时候,关键就看你心里真正想要搞的场景到底是做什么的龙南市就业服务平台,是需要去做那个安全测试网站指纹识别工具, 还是说需要去弄那个运营方面的监控工作?
5款主流工具对比
1. Amass(开源): 这个工具主要专注于被动指纹采集, 它会利用公开数据库, 还有证书透明度日志来提取域名、IP地址以及TLS证书的指纹, 它非常适合用于大规模的资产排查工作, 而且不需要对目标进行主动探测。
2. 这个httpx(开源)工具属于轻量级批量HTTP探测工具, 它具备一种能力, 这种能力是用户可以一键来输出目标站的HTTP协议指纹、响应头特征, 还有TLS握手信息, 在使用的时候, 用户只需要使用httpx -fingerprint 这个参数, 就可以生成标准化的指纹报告了, 它也适配K8s容器化部署。
3. OWASPZAP(开源): 除了在Web漏洞扫描方面有用以外, 它还内置了协议指纹识别模块, 可以自动记录HTTP/2指纹和SSL加密套件组合, 适合安全团队做深度审计与等保测评。
4. 这个叫做CloudflareRadar(商业)的东西, 它能够提供关于全球范围的 TLS 和 HTTP 指纹的数据看板, 并且还能进行趋势分析。它的重点在于提供威胁情报, 所以它比较适合用在那些需要对运营状况进行监控, 以及需要检测流量中出现的异常情况的场景里。
5. 自建指纹引擎, 这个方案是基于Go或者是Python语言, 然后去封装JA3以及JA4的哈希算法, 可以定制SNI、TLS ClientHello、HTTP2 SETTINGS等采集逻辑, 适合拥有研发能力的安全团队做深度定制。
按场景选型
针对安全审计/等保测评, 应该优先选用ZAP加上httpx这样的组合方式。这种组合能够覆盖协议层的指纹识别操作, 也能完成对漏洞的关联分析工作。最终的结果是输出一份符合标准规范的安全检测报告。
反爬与WAF策略调优这一块, 我们要把JA3和JA4哈希当成最核心的指标来对待。我们的做法是先用httpx进行批量采集工作, 然后把采集到的信息写入到指纹库里面去。接着再做实时比对处理。一旦发现客户端的情况不正常, 就直接予以拦截。
资产测绘与供应链安全: 主要是以Amass被动采集方式为主要手段, 然后再结合上CT Log回溯的历史证书指纹情况, 以此方式来发现影子资产。
实操要点
应当先针对内部资产去执行一遍由httpx这个工具进行的全量指纹扫描操作, 以此来建立起一个作为基准的指纹库。在有了这个基线之后, 就应当按照每周一次的频率去定期地比对和检查变化情况。
有关所使用的工具所涉及的协议规范的相关内容, 大家可以去参照一下由IETF(互联网工程任务组)发布的RFC 8446这份文档, 因为这份文档里讲的是TLS 1.3的技术标准;同时也可以参照一下该组织的另一份标准文档RFC 9113, 这份文档里描述的是HTTP/2协议的具体规范细节。
如果用户想要获取行业里的指纹样本库, 以及工具的配置模板和实测的数据内容的话, 可以直接通过访问gz88.cn这个网站来进行搜索, 从而找到所需要的各种资源信息, 因为在该平台上已经收录有多款用于指纹识别的工具所具备的实际操作案例资料, 同时也提供了相关的参数方面的详细指南说明。
注意事项
在进行扫描操作以前, 必须先把目标网站是不是已经拿到了使用授权这件事给确认清楚, 这样做的目的是为了避开让对方那边的WAF系统触发封禁机制, 同时也就是为了不去违反《网络安全法》里第二十七条所规定的那些内容。
因为JA3哈希会受到客户端产生的影响, 所以采集的样本必须要把Windows、macOS、Linux和主流浏览器的组合都覆盖住。这样做是为了避免出现偏倚的现象。
指纹库需要每个季度更新一次,TLS套件协商的结果会随着服务器端的升级而动态地发生变化网站指纹识别工具, 如果使用了过期的指纹数据进行判断的话, 很有可能会导致出现误判的情况。


