-
Notifications
You must be signed in to change notification settings - Fork 4.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
服务端 TLS 指纹 #1823
Comments
update: 该帖楼主似乎已把扫描方法贴出。 抱歉,本帖要求阅读权限高于 50 才能浏览 |
如果caddy指纹也有问题,那么套一个caddy怎么解决呢? |
我印象中v2ray不是有很多nginx反代websocket的推荐配置吗?是不是已经解决了问题 |
已经有现成的应用前置方案。不过按照上面的方法统计,直接用 ws tls / trojan tls 的人还有很多。 在 v2ray 的 issue 区内,我没看到有人关注过「服务器有指纹」这个问题,于是发帖讨论一下。 |
直接用v2ray解tls的好处是支持回落,否则用nginx卸载ssl,后端传输层基本上就只能走ws/grpc协议了,而grpc协议在网络差的情况下偶发卡死现象较多。 就原理理解sni模式实际暴露的指纹应该也是后端的v2ray等。 |
这个帖子说明的原理:什么程序处理 TLS 就会显示什么程序的特征。 |
看了下某个网站的结果 不考虑独立ip,caddy大概还算安全;v2ray不知道是否混有其它go语言服务器端的结果。 单纯从服务端指纹看,极端安全的还是 nginx 后套ws/grpc(但是最好别用一键脚本的ssl配置,自己用nginx缺省配置或者CF公开的配置 此处感谢 klzgrad); |
我不理解“回落”这个功能的意义在哪里,如果是伪装,按照上面的描述,回落也起不到伪装的作用 |
应该就是方便单域名下支持多个协议(或者更简单的单个软件支持多个协议) |
这个应该普遍性不强吧。 |
你这个是nginx解ssl的?如果是ws/grpc应该没啥漏洞,如果是sni分流,应该拿分流的域名测试。 |
我的结论:
|
TL;DR
v2ray TLS 服务器 存在独特的指纹。
解决方案:请考虑应用前置(套个 Nginx HAProxy Caddy 什么的)
抱歉,有点像“弄个大新闻”,实际影响多大还需项目组人士评估。
起因
最近网络上流传一份 IP 列表,很多是 v2ray TLS,也有部分误报。
TLS 协议实现复杂,参数多, 考虑到 v2ray 之前在 客户端 方面出现了独特的指纹,服务器出现这种问题也不奇怪。但是 issue 搜了一圈,居然没人提到。
过去的讨论: v2ray/discussion#704 v2ray/v2ray-core#2098 v2ray/v2ray-core#2542
复现
网络资产搜索引擎常用 jarm 表示一个 TLS 服务的指纹。
影响 jarm 的因素有 证书类型(如RSA/ECDSA)、 Go 版本、代码中的 TLS 设置等。
jarm 需要连接服务器进行测试,应该属于主动探测。
简单测试得到一些结果
如何判断这个指纹 “普遍都是v2ray” 呢?
前往某资产搜索网站搜索 jarm
这是
40d40d40d00000000043d40d40d43da936ab0256fab25eca082941d14e3ece
caddy 的分布这是
40d1db40d0000001dc43d1db1db43d2f70423af611c314ea6b67982756f7de
v2ray 的分布从机房分布大概可以看出这是什么人在用。
https://beta.shodan.io/search/facet?query=http&facet=ssl.jarm
也可以知道这个指纹是比较小众的。
题外话
如果我是 hostloc 该帖楼主,我可以下载很多一键脚本,包括带nginx前置的,然后收集指纹拿去搜索,看上去分布比较像的都可以拉清单。或许这个 IP 列表就是这样来的。
复现的过程中还搜到了 gost 和 x-ui 的指纹(小声)
The text was updated successfully, but these errors were encountered: