SOCKS 代理安全问题

信息安全 代理人 袜子5
2021-09-04 07:39:42

正如声称的那样,“socks 代理只是将数据从客户端传输到服务器,而不是渗透到这些数据内容中(因此它可以与 HTTP、FTP、SMTP、POP3、NNTP 等一起使用)”,我真的买不到SOCKS 代理不能记录数据、分析其内容、重定向流量、捕获提交的表单、拦截 SSL/TLS 通信、“收获”电子邮件,甚至不能通过受毒的 DNS 欺骗 IP 地址吗?

我了解 SOCKS 的运行级别低于 HTTP 代理,并且它支持 SOCKS5 版本的身份验证。

我发现使用代理是有风险的,但在区域限制和带宽分配方面,有时它作为隐私交换是最“可行的”。

有人可以澄清以上几点吗?

3个回答

SOCKS 代理的位置类似于路由器:它可以查看所有流量。因此,在您的数据上犯下各种重罪是非常理想的。您应该像考虑 Internet 上的任何路由器(包括您的 ISP)一样考虑它:它提供服务,但您不信任它。与使用无代理连接 (*) 相比,使用外部代理的风险不低,但风险也不大。简短的口头禅是:SSL 保护您,以及它通过 Internet 保护您。

错误是相信请求身份验证的代理以某种方式使您的数据“安全”。不要被愚弄了!身份验证是为了保护代理,而不是您的。

一个特殊情况是声称提供匿名的代理。没有什么可以保证;这是代理做出的承诺,您无法强制执行。对于Tor(Tor 只是增强代理),通过链接它们来减轻敌对代理的风险,因此只要至少有一个代理是可信赖的,您的匿名性就会被保留。

当然,如果代理是您的朋友并且非常值得信赖,那么它可以帮助击败攻击者。例如,通过 SSH 连接的 SOCKS 代理(ssh -N -D 5000 othermachine,并将您的浏览器设置为使用 'localhost:5000' 作为 SOCKS 代理)对于您的计算机和所在网络之间的基于 Web 的流量来说是一种廉价但有效的 VPN othermachine(当我在一家位于另一个大陆的公司工作时,我经常这样做)。


(*) 好的,这并不完全正确。与压迫性政府相反,低级攻击者可能会发现对您的数据进行中间人攻击并不容易;他们将不得不求助于粗暴的方法,例如 DNS 中毒。如果您接受通过攻击者的代理转发您的所有数据,那么您在实践中使他的任务更容易。但是你不应该假设使用代理可以让你对低级攻击者免疫。此外,这不会改变控制基础设施路由器的任何高级攻击者:通过使用他们的代理,您不会赋予他们任何他们尚未拥有的权力。

是的,恶意代理可能会做所有这些事情。你给了它中间人的特权。VPN 和 Tor 也是如此。解决方案很简单:不要使用您不信任的代理。

如果您绝对必须使用这样的代理,请仅通过 SSL进行通信,并且不要接受无效证书。这不是万能的,因为受损的 CA 证书仍然允许攻击者欺骗连接,但这是在这样的环境中您可以做的最好的事情。

一个诚实的 socks 代理的功能非常有限,而有很多代理产品可以记录、分析和过滤任何流量,包括 SSL 流量。没有办法绕过这样一个事实,即您必须信任代理才能按照它所说的去做。如果你没有理由相信它,那就不要。