SSH隧道/代理和VPN在安全性方面的区别

信息安全 虚拟专用网 SSH 代理人 打开VPN
2021-08-22 02:53:10

与仅使用常规 SSH 隧道相比,VPN 有什么好处?

我正在考虑在服务器上设置 OpenVPN,但想知道与仅使用同一台服务器作为 SSH 隧道相比有什么好处,这很容易设置并允许通过已在任何地方都支持的 SOCKS5 进行连接。无论如何,两者都不会显示与源相同的IP地址,在这种情况下您不再是匿名的?

SSH 隧道似乎要容易得多,只需打开一个 SSH 隧道并设置计算机以通过 localhost 和 SOCKS5 代理连接到该端口。

ssh -D 1723 -f -C -q -N user@server.com

另一方面,VPN 似乎需要更多的设置工作,我无法看到它比简单的 SSH 隧道有什么好处。

4个回答

人们经常将 SSH 隧道称为穷人的 VPN。从功能和安全的角度来看,这完全一样:您在客户端和中继主机之间建立了一条安全隧道,并让通信通过中继不加密。建立和保护隧道的方式可能因 VPN 系统而异,但所有重要的系统都可以使用标准的最新协议,SSH 也可以(并且所有这些都可以同样配置一些工作以使用不安全的协议)。

主要区别在于可用性。SSH 的目标是在客户端和主机之间建立安全连接,并且它通过干净整洁的人机界面为它做得很好。它可以在它的隧道内传输额外的通信,但由于它不是它的主要目标,所以命令并不是很简单。而 VPN 的目标是提供各种协议的透明中继,因此更容易实现该目标

SSH

SSH 的核心是一个安全外壳。它最初被设计为 telnet 的加密继承者。但是,它可以做得更多!对于您的使用,您正在专门研究动态端口转发:

动态端口转发将您的 SSH 客户端变成 SOCKS 代理服务器。SOCKS 是一种鲜为人知但应用广泛的协议,程序通过代理服务器请求任何 Internet 连接。每个使用代理服务器的程序都需要专门配置,停止使用代理服务器时重新配置。

这类似于使用squid将本地端口转发到服务器...... cept SSH 现在负责为您运行 socks 代理(因为它是老板)。

正确设置 SSH 连接和浏览器后,您应该可以 googlewhat is my ip并让它显示远程服务器的 IP 地址。这意味着您访问的所有网站都会看到您在该远程服务器上打开了浏览器。

还可以应该)将您的浏览器设置为通过该代理使用 DNS,因此即使您的 DNS 查找也是安全的:

  • 在 Firefox 地址栏中输入 about:config
  • 找到名为“network.proxy.socks_remote_dns”的键并将其设置为true

VPN

VPN通过设置虚拟网卡并使用专用网络的 ip 和网关对其进行配置,从而将专用网络扩展公共网络。

这意味着您可以使用它来隧道化您的所有软件,以使其在一切都从您的远程服务器运行时显示出来(即使是不支持代理的程序)。同样,您应该能够谷歌什么是我的 ip 并让它显示远程服务器的 IP 地址。

VPN 也倾向于对UDP提供更多支持(种子/流媒体软件/游戏)


安全

OpenVPN运行基于SSL 和 TLS的自定义安全协议,而不是支持 IKE、IPsecL2TPPPTP

SSH不使用 TLS/SSL,而是使用自己的协议,参见RFC 4253


带走

有人说 SSH 是一个穷人的 VPN。我强烈不同意,而是说 SSH 是一种更为外科手术的方法,可以为了解自己在做什么的人提供特定流量的隧道。而 VPN 就像用炸药做隧道……你会得到一个隧道,但有时它是错误的工具。

例如,假设您正在远程工作并希望在家中通过 VPN 访问您的工作网络。现在假设您想浏览 reddit,但仍希望保持 VPN 连接,这样您就不会错过任何重要的电子邮件。好吧,您正在浏览的所有那些猫模因都是通过您的工作网络路由的……可能被工作代理/防火墙阻止。

或者,如果您可以通过 SSH 访问您的工作网络……您可以只使用您的电子邮件并设置一个 socks 代理。这意味着您仍然可以获取您的电子邮件,并使用一个浏览器来处理业务内容(例如 Chrome)和另一个浏览器来查看猫图片(例如 Firefox)。

这两种工具都很有用,只是取决于你想做什么。

我认为良好实施的 ssh 连接(例如仅密钥、强密码……)和 VPN 之间的安全性没有太大区别。您可以使两者都非常紧,使用 2FA,您有什么...

看到的好处是可用性。VPN 将为您提供神奇的路由,您无需坚持使用了解什么是 socks 代理的软件。

VPN 通常具有一个功能,即多个用户的流量将来自单个公共 IP 地址,这使得使用 VPN 跟踪用户变得困难,因为来自单个 IP 的流量可能是任意数量的客户之一。

VPN 通常提供多个位置,允许用户选择他们的流量似乎来自哪里。

连接到 SSH 服务器并运行 socks 代理可能很容易,但这仍然需要您完全锁定服务器、维护其补丁、监控入侵或任何其他需要手动干预的故障。

那你就得担心SSH隧道的安全性了。您将允许哪些 SSH 版本?哪些密码?

如果您的 SSH 代理因维护而停机,则该代理处于离线状态,而 VPN 服务通常具有多个冗余服务器。

编辑:我看到您的问题是关于运行您自己的服务器(SSH 或 VPN)。如果您要运行自己的服务器,那么我上面提到的内容将不相关。

设置您自己的 VPN 服务器的好处是您不必向用户(或您自己)提供完整的登录帐户凭据。假设您的设备遭到入侵,并且有人找到了您的 SSH 登录名。他们现在可以以用户身份访问您的 SSH 服务器。如果您使用的 VPN 不会提供以远程用户身份登录的凭据。

其次,SSH 会记录谁在何时登录,以及可能执行的命令。