怎样禁止 chrome 浏览器在 wss 握手时的服务器验证行为

2018-05-16 09:20:10 +08:00
 mz02005

chrome 浏览器在采用 wss 通信时,默认不能跳过服务器验证环节,而是需要通过配置 chrome 参数来禁用这个验证。然而这会禁用 chrome 对所有 ssl 通信时的验证操作。 我想问的是,有什么办法在 javascript 中 new WebSocket 时,能通过编程方式或其它不需要认为干涉的方式来禁用当前 wss 链接在 ssl 握手过程中的服务器验证环节?

5871 次点击
所在节点    SSL
12 条回复
mz02005
2018-05-16 09:25:44 +08:00
而且设置中只能禁用 localhost 访问下 ssl 验证。
noe132
2018-05-16 09:27:13 +08:00
这明显不行。要是 js 能禁用,浏览器的安全性还能保障?
你不想用 ssl 可以用 ws
就像你不想用 https 可以用 http
momocraft
2018-05-16 09:30:43 +08:00
我比浏览器聪明系列?
flowfire
2018-05-16 09:50:36 +08:00
黑人问号脸。。。
不想要验证就换 ws 不就行了。。
强行用 wss 还不让浏览器验证。。。
或者你自己签发一个跟证书丢到 Chrome 信任的跟证书里
yyfearth
2018-05-16 09:56:58 +08:00
解决办法很简单啊 为什么要跳过验证 直接安装证书就好了
不想验证用 ws 就好了啊 为啥还要用 wss
mz02005
2018-05-16 10:59:35 +08:00
@flowfire 主要是想保证链路不被窃听。谁都可以上来和我对话,但是对话内容不能被其它人看见。另外,关于签发证书丢到 chrome 里这种操作,这边客户是不想增加额外更多的操作,他们是大爷。
另外公司也不想出钱搞认证。那种便宜不靠谱的认证随时可能被浏览器毙了,也不想去折腾了。
遇到这种让跑不给草的情况,我也很为难。
还有服务器同时面对局域网用户,无法认证,但是又要求加密通道。哎……
chinvo
2018-05-16 11:01:55 +08:00
不验证证书的 tls 和明文有什么区别?

老老实实买证书,或者 LE 签一个
flowfire
2018-05-16 11:07:07 +08:00
@mz02005 #6 证书是很重要的一环啊。。。。
没有证书那你这个 tls 不是摆设么。。。
你不想花钱的话 let's encrypt 了解一下,我上一家公司就用的这个
woodensail
2018-05-16 11:56:58 +08:00
老老实实签发证书是最稳妥的防窃听方式。
没有证书体系支持的 ssl 只是空中楼阁,根本防不住中间人。
具体而言,你可以自己实现一个仿 ssl 同时把公钥写死在页面里,但是攻击者可以通过替换该公钥的方式实现中间人攻击。当然,你可以考虑用 https 信道来传递 ssl 公钥,略微安全一些,但是受到 xss 联合攻击的时候还是很危险。
0x338
2018-05-16 12:27:56 +08:00
@mz02005 let's encrypt 了解一下
zhjits
2018-05-17 09:18:39 +08:00
不认证怎么实现防窃听?
msg7086
2018-05-26 00:30:10 +08:00
> 保证客户在看数据时不被其它人看到它正在看的就行了。

这恰好就是为什么 wss 需要验证。不验证证书的话直接中间人攻击不就能被其他人看到了?

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

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

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

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

© 2021 V2EX