阿里云竟然也能 RESET 掉 HTTPS 链接了..?

2014-06-30 11:19:47 +08:00
 Actrace
用阿里云搭了个NGINX跳板,本来想把静态资源通过国内节点发送给国内用户的.
页面内全部链接是HTTPS协议的,虽然域名没有备案,理论上应该检测不出来传输的内容啊没事.
不过打开主页发现HTML被正确载入,但是其余静态资源全部被RESET了.
这是神马原理?
6202 次点击
所在节点    程序员
17 条回复
allenm
2014-06-30 11:29:21 +08:00
HTTPS 只是检测不出来传输的内容,但是域名是可以检测的。
Actrace
2014-06-30 11:34:10 +08:00
@allenm 我看了一下net-internals,发现页面内的那些HTTPS静态资源链接触发的是HTTP的传输事件.真是奇怪啊.
wy315700
2014-06-30 12:31:32 +08:00
在建立连接的时候都是明文的 ,比如证书什么的
wanjun
2014-06-30 12:39:55 +08:00
http://www.badnotes.com/2013/09/25/nginx_499_code/

以前我就遇到过,他和你连接和内容都没关系,和没有备案的域名有关。
Actrace
2014-06-30 12:42:26 +08:00
我记得HTTPS的传输过程是在建立了SSL之后才开始发送HEADER的,包括HOST.
Shieffan
2014-06-30 12:50:30 +08:00
目前的tls协议给防火墙开了两个洞:证书明文传输;默认启用的tls sni extension会在tls握手阶段暴露域名。所以~
Actrace
2014-06-30 12:55:51 +08:00
@Shieffan 单独点开静态资源文件地址,是可以打开的,但是载入页面时,解析这些资源文件地址却没有走443端口.无解了么.令人感到奇怪的是谷歌统计的JS就一直载入正常,话说谷歌统计的JS也是HTTPS的,从network里看,确实是走了443端口,我看了一下,只要能正常请求到资源的都是走了443端口的.
lehui99
2014-06-30 13:12:23 +08:00
@Actrace 确实HEADER的包括HOST确实都是加密的,但证书不是加密的,通过证书可以判断你访问哪个域名。
主要问题还是在于你的页面中一部分资源用http方式加载了吧,测试下来阿里云并没有检测证书进行reset的能力。
Actrace
2014-06-30 14:41:31 +08:00
@lehui99 其实主要是这个环节令人费解.

1,chrome请求了页面,由于该链接是HTTPS链接,所以能正确获取内容.
2,chrome解析页面,请求相同域的其他资源,但是HTTPS链接全部走了HTTP管道.然后RESET.
3,chrome解析页面,请求不同域的其他资源,HTTPS正常开SSL管道走流量,没有问题.

一个比较特殊的情况是,如果单独打开页面内的其他HTTPS资源(新标签页,正在载入),再去刷新原来页面,会发现那个资源正确走了SSL管道,304.
orzfly
2014-06-30 15:03:37 +08:00
Server Name Indication (SNI) is an extension to the TLS protocol[1] that indicates what hostname the client is attempting to connect to at the start of the handshaking process.
Shieffan
2014-06-30 15:06:05 +08:00
@Actrace 我很好奇你怎么得出 “2,chrome解析页面,请求相同域的其他资源,但是HTTPS链接全部走了HTTP管道.然后RESET.” 这个结论的。 TCP reset跟应用层协议又没关系,何必要跳到http再reset
Actrace
2014-06-30 16:15:53 +08:00
@orzfly 能翻译一下吗,E文不太好...

@Shieffan 具体的不是很懂,不过可以确定一点.TCP reset操作是跟应用层的某些参数挂钩的,比如header里的host.只要走了SSL通道,它是没办法做出这个操作的.
Shieffan
2014-06-30 16:21:34 +08:00
@Actrace 之前我就回复你了tls sni extension会在tls握手阶段暴露域名,所以防火墙当然可以直接reset你呀,所以你所说的“HTTPS链接全部走了HTTP管道”实在让人不知所云。
Actrace
2014-06-30 16:34:58 +08:00
@Shieffan 如果会暴露域名,那么为页面请求没有被reset?而且那些资源文件也能在新tab页打开.
Shieffan
2014-06-30 16:38:40 +08:00
@Actrace 因为啥,因为阿里云的防火墙没那么灵敏,没那么高效,你对着你的首页多刷新几次看看。

至于会不会暴露域名,自己抓个包看看不就知道了。
eslizn
2014-07-01 10:08:33 +08:00
阿里云很渣,而且会扫描你机器上的文件,就因为我代码里用了eval,它说存在木马,ban掉,要求你删除再开通.
也就是说:
1.阿里云可以肆无忌惮的窥视你机器上的文件(我是用的vps)
2."木马查杀"很弱智,很低级
haikouwang
2022-09-19 06:14:49 +08:00
@Shieffan 所以 ESNI 有希望解决这个问题吗 ...

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/120181

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX