zephyrchien / kaminari

Blazing-fast websocket tunnel built on top of lightws.
274 stars 43 forks source link

Security issue related to TLS or WSS Tunnel. #13

Open Zerorigin opened 7 hours ago

Zerorigin commented 7 hours ago

首先,WS Tunnel 的安全性不在本 issue 的讨论范围。 因为它是明文的(虽然可以用来传输加密后的内容),所以准入控制对它来说是个“伪命题”。

粗略的看了下关于 TLS 和 WSS 隧道建立连接的代码实现,似乎是建立连接后即可进行数据传输, 未再进行 “用户名/密码” 或 “预共享密钥” 认证,若此时使用的是公共权威证书做 TLS 层的加密, 且转发的是 HTTP/HTTPS 协议的数据,并且转发的接口若用的是默认根路由路径 “/”, 此时似乎会面临一个扫描嗅探的安全问题(如果未在防火墙限制来源 IP 时)。

所以是否应该在建立隧道连接时,并通过用户认证后(准入控制)再允许开始传输数据?

隔壁的 GOST 是有准入控制的,不过我目前仅用它来转发 MTProto 通过 TLS 隧道转发的 MTP 在大陆使用基本上不会被封禁(因为只是 MTP,流量比较小,而且省墙比较矮)

有这个 issue 是因为,仅使用 GOST 转发一个 MTP 过于浪费资源, 看了下 Realm 集成了 Kaminari 支持隧道中转,所以想用它一并替换掉 GOST。

zephyrchien commented 7 hours ago

This makes no sense. User should have some professional knowledges and be aware of the potential risks ( e.g.: the consequence of using a easy-to-guess path ).

BTW, adding a random "authentication" strategy makes the tool incompatible with the ecosystem. (it even worsen the TLS-in-TLS issue)