如何以一种不会让我面临 VLAN 跳跃风险的方式设置 VLAN?

hob*_*ave 14 security virtualization vlan

我们计划将我们的生产网络从无 VLAN 配置迁移到标记 VLAN (802.1q) 配置。下图总结了规划的配置:

VLAN配置

一个重要的细节是,这些主机中的很大一部分实际上是单个裸机机器上的虚拟机。事实上,唯一的物理机器将是 DB01、DB02、防火墙和交换机。所有其他机器将在单个主机上进行虚拟化。

一直以来的一个担忧是,这种方法很复杂(暗示过于复杂),而且 VLAN 只是提供了一种安全错觉,因为“VLAN 跳跃很容易”。

考虑到由于虚拟化将多个 VLAN 用于单个物理交换机端口,这是一个有效的问题吗?我将如何适当地设置我的 VLAN 以防止这种风险?

另外,我听说 VMWare ESX 有一种叫做“虚拟交换机”的东西。这是 VMWare 管理程序独有的吗?如果没有,它是否可用于 KVM(我计划选择的虚拟机管理程序)?。这是如何发挥作用的?

vor*_*aq7 16

除了有关为什么人们告诉我不要将 VLAN 用于安全性的信息之外?以下是一些需要考虑的更具体和通用的位:


关于安全性
一般想法最安全的系统是每个子网的主机都连接到一个交换机,该交换机的端口数量与所连接的设备将使用的端口数量完全相同。在这样的配置中,您不能将随机机器插入您的安全网络,因为这样做需要拔掉某些东西(理论上您的监控系统会注意到这一点)。

VLAN 在安全性方面为您提供了类似的东西,将您的交换机分解为更小的虚拟交换机(虚拟 LAN:VLAN),这些交换机在逻辑上彼此隔离,并且通过适当的配置,可以在所有连接到它们的系统上看起来就像它们是物理上的一样隔离的。


关于相对安全的 VLAN 设置的一般想法
我对具有 VLAN 功能的交换机的做法是,所有流量都必须分配给一个 VLAN,具有以下基本配置:

将所有未使用的端口分配给“未使用”的 VLAN。

连接到特定计算机的所有端口都应该本地分配给该计算机应该所在的 VLAN。这些端口应该在一个且仅一个VLAN 中(除非我们现在将忽略某些例外)。
在这些端口上,所有传入数据包(到交换机)都使用本地 VLAN 标记,而传出数据包(来自交换机)将 (a) 仅源自分配的 vlan,并且 (b) 未标记并且看起来就像任何常规以太网包。

唯一应该是“VLAN 中继”(多个 VLAN 中的端口)的端口是中继端口——那些在交换机之间传输流量,或连接到防火墙的端口会自行拆分 VLAN 流量。
在中继端口上,进入交换机的 vlan 标记将受到尊重,并且不会从离开交换机的数据包中剥离vlan 标记。

上述配置意味着您可以轻松注入“VLAN 跳跃”流量的唯一位置是在中继端口上(除非交换机的 VLAN 实施中存在软件问题),并且与“最安全”场景非常相似,这意味着拔掉某些东西重要并引起监控报警。同样,如果您拔下主机以连接到位于您的监控系统中的 VLAN,它应该注意到该主机的神秘消失并提醒您。
在这两种情况下,我们都在讨论涉及对服务器进行物理访问的攻击——虽然打破 VLAN 隔离并非完全不可能,但在如上所述设置的环境中至少是非常困难的。


关于 VMWare 和 VLAN 安全的具体思考

VMWare 虚拟交换机可以分配给一个 VLAN——当这些虚拟交换机连接到 VMWare 主机上的物理接口时,任何发出的流量都将具有适当的 VLAN 标签。
您的 VMWare 机器的物理接口需要连接到 VLAN 中继端口(携带需要访问的 VLAN)。

在这种情况下,注意将管理 NIC 与虚拟机 NIC 分开的 VMWare 最佳实践尤为重要:您的管理 NIC 应连接到适当 VLAN 中的本机端口,并且您的虚拟机 NIC 应连接到具有虚拟机所需 VLAN 的中继(理想情况下不应携带 VMWare 管理 VLAN)。

在实践中,与我提到的项目以及我确信其他人会提出的内容相结合,强制执行这种分离将产生一个相当安全的环境。


Chr*_*s S 12

当且仅当允许流氓设备在没有 vlan 标记的中继上传输数据包时,VLAN跳跃很容易。

这在以下情况中最为常见。您的“正常”流量没有被标记;你有一个“安全的” VLAN标记。由于“正常”网络上的机器可以传输未经过标记检查的数据包(最常见的是它们由接入交换机检查),因此数据包可能具有错误的 vlan 标记,因此会在 vlan 上跳跃。

防止这种情况的简单方法:所有流量都被访问交换机标记(防火墙/路由器可能是一个例外,具体取决于您的网络配置方式)。如果接入交换机标记了“正常”流量,那么流氓客户端伪造的任何标签都将被接入交换机丢弃(因为该端口无法访问该标签)。

简而言之,如果您使用 vlan 标记,那么必须在中继中标记所有内容以确保其安全。

  • @chris,如果 VM 主机有中继线,那么是的,您必须信任该主机。然而,主机的管理程序软件应该自己进行标记,因此您不必信任虚拟机。我知道 ESXi 和 Hyper-V 会这样做,其他人可能也会这样做。 (3认同)
  • 只需添加来自特定端口的所有流量都可以在 vlan 中进行标记,从而确保来自主机的所有流量都包含在该 vlan 中,因此没有跳跃。 (2认同)