为什么要结合使用SSH和VPN?


24

我的雇主要求我先登录VPN,然后才能通过SSH进入服务器。但是,考虑到SSH的安全性,VPN是否会过时?

如果我已经在使用SSH,VPN在安全性方面有什么


2
该VPN将会有更广阔的范围内-没有它,你可能没有公司网络内部访问所有
user253751

2
我有点困惑,因为我并没有真正意识到使用SSH 的原因,除非出于某种疯狂的原因而无法使用SSH。
沙杜尔2015年

1
@Shadur:问题中考虑的选择是1)VPN + SSH,2)单独使用SSH,而不是3)单独使用VPN。OP面临的选择都涉及SSH。
RedGrittyBrick 2015年

如果他们的局域网使用IPSEC,那么我想您可以使用rsh
Neil McGuigan

Answers:


36

当前设置背后的原因可能是以下三个原因的某种组合。

VPN是公司网络外部的安全解决方案(请参阅下面的#1)。但是,SSH可能是公司网络外部的第二层安全性……但是其主要目的是保护公司网络内部的流量(请参阅下面的#2)。如果您要SSH进入的设备正在使用公司网络上的专用地址(请参阅下面的#3),则VPN也很有必要。

  1. VPN创建到您的公司网络的隧道,您可以通过该隧道来推送数据。因此,没有人看到您与公司网络之间的通信,实际上看不到您要发送的内容。他们所看到的只是隧道。这样可以防止公司网络外部的人员以有用的方式拦截您的流量。

  2. SSH是连接到网络上设备的一种加密方式(与Telnet(明文)相反)。为了安全起见,公司甚至在公司网络上也经常需要SSH连接。如果我已经在网络设备上安装了恶意软件,并且您通过telnet进入该设备(即使您通过VPN隧道-由于VPN隧道通常终止于公司网络的外围),则可以看到您的用户名和密码。如果您使用的是SSH,那么我不能。

  3. 如果您的公司对内部网络使用专用寻址,则您连接的设备可能无法通过Internet路由。通过VPN隧道进行连接就像您是直接连接到办公室一样,因此您将使用公司网络外部无法访问的公司网络内部路由。


6
如果恶意软件在目标设备上,则与telnet相比,SSH确实没有帮助。(如果恶意软件在网络中的其他设备上,这将有所帮助。)
PaŭloEbermann 2015年

21

SSH是蛮力尝试的极受欢迎的目标。如果您直接在Internet上拥有SSH服务器,则在几分钟之内,您将看到使用各种用户名(和密码)的登录尝试-即使在小型服务器上,每天也经常登录数千次。

现在可以加固SSH服务器了(主要的三种机制是:需要SSH密钥,拒绝对SSH的根访问,并尽可能限制甚至允许连接的IP地址)。尽管如此,强化SSH服务器的最佳方法是根本不在Internet上使用它。

为什么这有关系?毕竟,SSH从根本上是安全的,对吗?是的,但是,它的安全性仅与用户使用的安全性相同-您的雇主可能会担心密码太弱以及SSH密钥被盗。

添加VPN会增加一个额外的防御层,该层防御是在公司级别控制的,而不是像SSH那样在个人服务器级别控制的。

总而言之,我要赞扬您的雇主在此处实施一些良好的安全做法。当然,是以便利为代价的(安全通常是以便利为代价)。


4
机制#4称为fail2ban,我强烈建议使用它。
Shadur

优点。另一个类似的工具是denyhosts。附带说明一下,某些版本的fail2ban中存在一个漏洞,攻击者可以利用该漏洞阻止任意主机-基本上,这些版本可以用作拒绝服务攻击的媒介。
凯文·基恩

7

VPN使您可以连接到雇主的专用网络并获取该专用网络的IP地址。连接到VPN后,就好像您正在使用公司内部的一台计算机一样,即使您实际上位于世界的另一端。

很有可能,您的雇主要求您首先通过VPN连接,因为服务器无法从Internet访问(即它们没有公共IP地址),这是一个好主意。VPN增加了另一层安全性,就像服务器可以通过SSH公开访问一样,它们很容易受到一系列攻击。


4

SSH是一种用于多种用途的加密协议。在VPN隧道中加密流量就是其中之一。您的流量使用SSH加密,但是需要包装在有效的IP数据包(隧道)中,以遍历Internet之类的网络。该隧道是VPN。

基本上,您的雇主为了安全起见会阻止外部网络流量,除非该流量通过雇主控制的VPN来。VPN可能会也可能不会加密隧道的内容。使用SSH将加密VPN隧道中承载的流量。


4
简而言之:VPN保护网络,SSH保护单个服务器。
Ricky Beam

4

您需要VPN才能进入本地网络。

然后,您无需保护与各个服务器的连接,因为该连接已由VPN链接加密。

但是,您还如何连接它们?SSH是远程服务器的事实上的控制台访问协议。安装和配置不安全的设备将带来额外的管理开销,并降低本地网络的安全性(可能会或可能不会造成问题)。

别忘了,即使是公司内部的每个人也不能完全访问每台服务器,而且即使在本地网络中也可以使用基于密钥的加密功能,网络管理员可以轻松而安全地确保只有表面上知道他们的人才可以即使在公司内部,也可以触摸服务器。


4

您也可以通过VPN推动其他安全层。例如设备标准检查,2要素认证等。


2

典型的理由是您要尽可能减少暴露和可能的攻击媒介。

如果您从同时需要SSH和VPN(出于自己的目的)的前提出发,那么这两者都是面向外部的,这意味着攻击者有两条进入您环境的潜在路由。如果您将SSH设为仅本地,则它将在服务器的安全性上增加一层。请考虑以下情形:

  1. 外部使用SSH + VPN。攻击者只需破坏SSH即可破坏服务器。

  2. SSH外部。在功能上与以前的方案相同。

  3. 外部VPN(内部SSH)。安全性加倍。攻击者必须突破两者,然后才能对服务器执行任何操作。

考虑到VPN在其他功能上是必不可少的,并且可以更好地配置用于外部访问这一事实,这是显而易见的。


0

我可能会以为,答案很简单,就是涉及到NAT,并且(正如许多其他人所说的那样)将最终目标服务器暴露给世界会引起另一个攻击点。除非您要使用大密钥进行大量数据传输,否则SSH通常不会妨碍您。瓶颈几乎总是网络。(几乎!=总是)。

如果您足够“幸运”拥有IPv6,那么这不太可能成为问题,但是在IPv4和可用地址空间有限的情况下,NAT(IMO)最终是我认为该“政策”背后的因素,比其他任何因素都多“意外”或“有目的”的安全性。


0

根据我目前的理解,SSH-因为它仅使用tcp密钥交换来验证客户端用户是否具有访问服务器中用户ID的正确凭据,因此容易受到中间人攻击,而ISP或受感染的路由器可能拦截握手请求并充当发送身份验证的请求,实际上是劫持了连接。这允许将命令注入到流中,然后在输出到达初始真实客户端之前将其过滤掉,从而使该人处于向服务器ssh shell注入任意命令的中间。

但是,通过VPN隧道允许ssh不允许的行为。另一个预先约定的对称加密密钥。这意味着两台计算机之间的流量不容易受到中间人的攻击,因为如果为了控制ssl加密层而代表真实客户端拦截并转发该流量,则该流量将无法通过vpn加密密钥要求,因为第三方将无法以与他们能够控制中间人ssh tcp ssl连接转发相同的方式来欺骗vpn密钥。

因此,ssh不足以阻止需要客户端通过以连接到服务器的ISP或受损路由器的中间人员。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.