在思科局域网交换机环境中,原生VLAN通常在802.1Q中继端口上没有标记。这可能导致您的网络环境存在安全漏洞。最好的做法是显式地标记本机VLAN,以防止精心制作的802.1Q双标记包穿过VLAN。
在许多企业网络中,VLAN用于将网络分离为逻辑分离的网络。有时,这些网络包含应包含在单独的信任域中的计算机,但它们只是由VLAN分隔,但仍然连接到相同的物理交换机。许多组织使用网络围场将其网络分开,以帮助防止在一个域中的威胁传播到另一个领域。在更安全的安全环境中,这些不同信任级别的网络彼此物理地分开。
现在,如果两个VLAN可路由,那么所有的投注都已关闭。通过在第2层/ 3交换机上配置的切换虚拟接口(SVIS),在两个VLAN之间的第3层中将路由数据包。标记我们正在谈论的天然VLAN的技术适用于应该逻辑上彼此分离的第2层VLAN,而没有层3连接,但是这些VLAN跨越相同的交换以太网LAN基础架构。
可以创建用两个802.1q标签封装的制作数据包。外标是攻击者的本地VLAN和未标记的本机VLAN。内部标签是攻击者所需受害者的目的地VLAN。当通过本地交换机接收到数据包时,外部标签被剥离,并且该开关很高兴地将剩余的单标记数据包转发到主干端口的目的地VLAN。有工具如yersinia.和Scapy.可以用来制作这些攻击。
此问题已被广泛记录。事实上,我的合著者IPv6安全书为思科媒体写了一本名为“LAN开关安全:黑客了解您的交换机“这涵盖了这些风险和禁止解决方案。第4章涵盖了使用VLAN的安全影响。即使这本书已有超过一年半,我遇到的90%的网络不使用本机VLAN标记技术,以避免VLAN遍历的这种风险。
用于帮助确定本机VLAN的密钥Cisco命令之一,并允许在中继线上的VLAN是“show interface trunk”。此命令将显示您的主干端口,并清楚地显示本机VLAN ID。命令的输出将继续告诉您允许vlans遍历已配置的各种中继线,允许的VLAN和管理域中的VLAN,以及生成树转发状态但未修剪的VLAN。这是一个有用的命令,用于检测不良VLAN中断配置的任何不一致。
有几种方法可以防止这些类型的攻击——双重封装标签攻击。一种技术是简单地标记trunk端口上的所有vlan。这很简单。另一种技术是不要在攻击者可能所在的任何访问端口的主干端口上使用本机VLAN。这可以通过在以太网交换机的trunk端口接口上使用“switchport trunk原生vlan [vlanid]”,然后从trunk端口中删除该vlan来实现。简单地标记所有trunk端口上的所有vlan,而不考虑网络实际应该如何配置,这也是一种糟糕的做法。因此,最好只显式地允许trunk上需要允许的特定vlan。下面是一个示例。
界面GigabitEthernet1 / 1 SwitchPort Switch Port中继封装DOT1Q Switch Port Trunk本机VLAN 100 Switch Port Trunk允许VLAN 100-200 SwitchPort模式中继允许VLAN删除100
第二种方法是使用Cisco全局命令“vlan dot1q tag native”,这将防止双重封装攻击。该命令全局适用于整个以太网交换机上的所有switchport中继。这个命令将确保在交换机上的每个trunk上总是标记本地VLAN。这是一个很好的最佳实践,用一个命令就解决了这个问题。这个命令应该输入到校园内的每个交换机中。
但是,如果您希望有一种技术可以在逐个案例的基础上应用,那么还有第三种技术可以在接口上配置。在特定的trunk端口上,您可以简单地使用“switchport trunk native vlan tag”Cisco命令来实现相同的结果,只是在接口级别。下面是该配置可能看起来的样子。我想,在某些环境中,在每个主干端口上输入这个命令可能很麻烦。
界面GigabitEthernet1 / 1 SwitchPort Switch Port中继封装DOT1Q Switch Prink Trunk本机VLAN标签Switch Portrunk允许VLAN 100-200
无论您使用哪种技术,重要的是要认识到原生VLAN通常是未标记的,并且存在这种做法的风险。您应该使用这些技术来帮助保护您的网络从可能的内部威胁尝试遍历VLAN。
斯科特