通过 STunnel 后,sslh 能区分 OpenVPN 和 HTTPS 吗?

通过 STunnel 后,sslh 能区分 OpenVPN 和 HTTPS 吗?

安全组在 OpenVPN 流量和 HTTPS 流量都经过 STunnel 之后,您能分辨出它们之间的区别吗?像这样:

   .---------.     .------.HTTP/TCP.-------------.
-->| stunnel |---->| sslh |------->| HTTP server |
   '---------'     '------'|       '-------------'
                       |       .----------------.
                       '------>| OpenVPN server |
                    OpenVPN/TCP'----------------'

我只能认为,如果 STunnel 在传递之前将两者分开,这种方法才会奏效。或者这就是它的目的?它是否只在发出时加密流量(如果来自 STunnel 客户端,则解密)还是流量在通过后仍被包裹在额外的 TLS 层中?谢谢。

答案1

sslh工作原理是查看数据包内容以了解其流量类型,然后将流量路由到与其匹配的任何端点。因此,如果您使用 stunnel 连接,那么 stunnel 数据包数据在第一个数据包中的外观将决定 sslh 将其发送到何处。

我还没有测试过,但是我认为你想要实现的目标行不通,因为 sslh 将根据 stunnel 标头而不是里面的内容来路由 stunnel。

答案2

我设置了 stunnel 监听 publicip:80,并将所有内容从那里转发到 127.0.0.1:80。这就是 SSLH 监听的地方。从那里,数据被拆分到 Apache 和 OpenVPN 之间。似乎一旦数据经过了 stubble,它就会被剥离其 stunnel 加密,看起来像是常规流量。

相关内容