使用 VLAN 拆分交换机。它安全吗?

网络工程 转变 VLAN 以太网 安全
2021-07-19 01:33:38

我正在尝试了解标记、未标记和 PVID 的 VLAN 术语。

从我目前的理解来看:

  • 交换机上的每个端口都可以映射到特定的 VLAN。
  • 当数据包(分配给 VLAN)进入交换机时,它将离开所有其他端口,这些端口分配给与数据包相同的 VLAN。 (不正确,请参阅下面的答案)
  • 当数据包离开时,它可以不加标签,也可以不加标签,这取决于每个端口是配置为为该 VLAN标记还是为该 VLAN未标记
  • 如果未标记的数据包在端口上进入交换机,则它会自动使用与其进入的端口PVID相对应的 VLAN 进行标记
  • 如果标记的数据包通过端口进入交换机,它将继续进入带有标记为 VLAN 的交换机。 (不正确,请参阅下面的答案)

我的最后一点正确吗?


我想使用 VLAN 将我的 netgear FSM726 交换机拆分为 2 个隔离的交换机。

因此,我将拥有 2 个 ID 为 1 和 2 的 VLAN。

对于交换机的前半部分,PVID 将设置为 1,端口将在 VLAN1 上设置为未标记,其余端口将被省略。

对于交换机的后半部分,PVID 将设置为 2,端口将在 VLAN2 上设置为未标记,其余端口将被省略。

我认为这会起作用,但是插入交换机前半部分的人不能发送一个标记为 VLAN ID 2 的数据包,从而让它在交换机的后半部分退出吗?

2个回答

当一个标记的帧(我们正在谈论它是第 2 层,所以我们正在处理帧,而不是数据包)进入交换机时,它将根据端口的授权 VLAN 进行验证。

如果端口上未授权 VLAN2,则该帧将被丢弃。

所以是的,如果配置正确,它是安全的。

请注意,作为最佳实践,您不应使用 VLAN1,默认情况下 netgear 使用 VLAN2 作为语音 VLAN(您仍然可以使用它,但选择另一个可能更容易)

还有声明

“当一个数据包(分配给一个 VLAN)进入交换机时,它将离开所有其他端口,这些端口分配给与数据包相同的 VLAN。”

是不正确的。交换机首先确定目标端口(基于目标 mac),然后根据此 vlan 的端口配置,从该端口发送帧,标记或未标记。

(仅当这是广播或交换机不知道目标 mac 地址时,它才会泛洪到与此 vlan 相关的所有端口)

为完整起见,如果攻击者部署 VLAN 跳跃并且满足某些条件,则 VLAN 可能不安全(来自https://en.wikipedia.org/wiki/VLAN_hopping

交换机欺骗

在交换机欺骗攻击中,攻击主机通过说出用于维护 VLAN 的标记和中继协议(例如多 VLAN 注册协议、IEEE 802.1Q、动态中继协议)来模仿中继交换机。然后攻击主机可以访问多个 VLAN 的流量。

减轻

只有当接口设置为协商中继时,才能利用交换机欺骗。要防止这种对 Cisco IOS 的攻击,请使用以下方法之一:

  1. 通过禁用 DTP 确保端口未设置为自动协商中继:

Switch(config-if)# switchport nonegotiate

  1. 确保不打算作为中继的端口被明确配置为接入端口

Switch(config-if)# switchport mode access Double tagging

在双重标记攻击中,连接在 802.1q 接口上的攻击主机在其传输的数据包中添加两个 VLAN 标记。数据包(对应于攻击者真正所属的 VLAN)在没有第一个标签的情况下转发,因为它是本地 VLAN。然后,第二个 (false) 标记对数据包遇到的第二个交换机可见。这个错误的 VLAN 标记表明数据包的目的地是第二个交换机上的目标主机。然后将数据包发送到目标主机,就好像它起源于目标 VLAN 一样,绕过在逻辑上将 VLAN 彼此隔离的网络机制。然而,这种攻击允许向第二个交换机发送数据包,但可能的答案不会转发到攻击主机。

减轻

只有当交换机使用“本机 VLAN”时才能利用双重标记。 [2] 具有特定访问 VLAN(本地 VLAN)的端口在发送帧时不会应用 VLAN 标记,从而允许下一个交换机读取攻击者的虚假 VLAN 标记。

可以通过以下任一操作(包括 IOS 示例)来缓解双重标记:

只需不要将任何主机放在 VLAN 1(默认 VLAN)上。即为每个接入端口分配一个非VLAN 1的接入VLAN

Switch(config-if)# switchport access vlan 2

将所有中继端口上的本地 VLAN 更改为未使用的 VLAN ID。

Switch(config-if)# switchport trunk native vlan 999

在所有中继端口上显式标记本地 VLAN。必须在网络自治的所有交换机上进行配置。

Switch(config)# vlan dot1q tag native

例子

作为双重标记攻击的示例,请考虑名为 VLAN2 的 VLAN 上的安全 Web 服务器。允许 VLAN2 上的主机访问 Web 服务器;来自 VLAN2 外部的主机被第 3 层过滤器阻止。位于单独 VLAN(称为 VLAN1(本机))上的攻击主机会创建一个特殊格式的数据包来攻击 Web 服务器。它在将数据包标记为属于 VLAN1 的标头下放置一个标头,将数据包标记为属于 VLAN2。发送数据包时,交换机会看到默认的 VLAN1 标头并将其删除并转发数据包。下一个交换机看到 VLAN2 标头并将数据包放入 VLAN2。因此,数据包到达目标服务器时就好像它是从 VLAN2 上的另一台主机发送的一样,忽略了可能存在的任何第 3 层过滤。