为什么要用VLAN呢?VLAN的实施是从逻辑上对用户进行了划分,使不同VLAN之中的用户无法直接通信。这种技术方便实施,节约资金。然而随着VLAN的应用范围越来越广,而同VLAN相关的安全管理问题也越来越严重。
目前常见的VLAN的攻击有以下几种:
1802.1Q ISL 标记攻击
标记攻击属于恶意攻击,利用它,一个 VLAN 上的用户可以非法访问另一个 VLAN 。例如,如果将交换机端口配置成 DTP(DYNAMIC TRUNK PROTCOL) auto ,用于接收伪造 DTP(DYNAMIC TRUNK PROTCOL) 分组,那么,它将成为干道端口,并有可能接收通往任何 VLAN 的流量。由此,恶意用户可以通过受控制的端口与其它 VLAN 通信。 有时即便只是接收普通分组,交换机端口也可能违背自己的初衷,像全能干道端口那样操作(例如,从本地以外的其它 VLAN 接收分组),这种现象通常称为“VLAN 渗漏”。
对于这种攻击,只需将所有不可信端口(不符合信任条件)上的 DTP(DYNAMIC TRUNK PROTCOL) 设置为“关”,即可预防这种攻击的侵袭。 Cisco Catalyst 2950 Catalyst 3550 Catalyst 4000 Catalyst 6000 系列交换机上运行的软件和硬件还能够在所有端口上实施适当的流量分类和隔离。
2、双封装 802.1Q/ 嵌套式 VLAN 攻击
在交换机内部, VLAN 数字和标识用特殊扩展格式表示,目的是让转发路径保持端到端 VLAN 独立,而且不会损失任何信息。在交换机外部,标记规则由 ISL 802.1Q 等标准规定。
ISL 属于思科专有技术,是设备中使用的扩展分组报头的紧凑形式,每个分组总会获得一个标记,没有标识丢失风险,因而可以提高安全性。
另一方面,制订了 802.1Q IEEE 委员会决定,为实现向下兼容性,最好支持本征 VLAN ,即支持与 802.1Q 链路上任何标记显式不相关的 VLAN 。这种 VLAN 以隐含方式被用于接收802.1Q端口上的所有无标记流量。
这种功能是用户所希望的,因为利用这个功能,802.1Q端口可以通过收发无标记流量直接与老 802.3 端口对话。但是,在所有其他情况下,这种功能可能会非常有害,因为通过 802.1Q 链路传输时,与本地 VLAN 相关的分组将丢失其标记,例如丢失其服务等级( 802.1p 位)。
但是基于这些原因——丢失识别途径和丢失分类信息,就应避免使用本征 VLAN ,更不要说还有其它原因,如图3-3 所示。
3-3双封装攻击
                             
先剥离,再送回攻击者 802.1q VLAN A VLAN B 数据包含本征VLAN A 的干道 VLAN B 数据
注意: 只有干道所处的本征 VLAN 与攻击者相同,才会发生作用。有关干道的介绍请查阅本章3.3小节
当双封装 802.1Q 分组恰巧从 VLAN与干道的本征 VLAN 相同的设备进入网络时,这些分组的 VLAN 标识将无法端到端保留,因为 802.1Q 干道总会对分组进行修改,即剥离掉其外部标记。删除外部标记之后,内部标记将成为分组的惟一 VLAN 标识符。因此,如果用两个不同的标记对分组进行双封装,流量就可以在不同 VLAN 之间跳转。
这种情况将被视为误配置,因为 802.1Q 标准并不逼迫用户在这些情况下使用本征 VLAN 。事实上,应一贯使用的适当配置是从所有 802.1Q 干道清除本地 VLAN (将其设置为 802.1q-all-tagged 模式能够达到完全相同的效果)。在无法清除本地 VLAN 时, 应选择未使用的 VLAN 作为所有干道的本地 VLAN ,而且不能将该 VLAN 用于任何其它目的 STPDTP(DYNAMIC TRUNK PROTCOL)UDLD等协议应为本地 VLAN 的唯一合法用户,而且其流量应该与所有数据分组完全隔离开。
3VLAN跳跃攻击
虚拟局域网(VLAN)是对广播域进行分段的方法。VLAN还经常用于为网络提供额外的安全,因为一个VLAN上的计算机无法与没有明确访问权的另一个VLAN上的用户进行对话。不过VLAN本身不足以保护环境的安全,恶意黑客通过VLAN跳跃攻击,即使未经授权,也可以从一个VLAN跳到另一个VLAN
VLAN跳跃攻击(VLAN hopping)依靠的是动态中继协议(DTP(DYNAMIC TRUNK PROTCOL))。如果有两个相互连接的交换机,DTP(DYNAMIC TRUNK PROTCOL)就能够对两者进行协商,确定它们要不要成为802.1Q中继,洽商过程是通过检查端口的配置状态来完成的。
VLAN跳跃攻击充分利用了DTP(DYNAMIC TRUNK PROTCOL),在VLAN跳跃攻击中,黑客可以欺骗计算机,冒充成另一个交换机发送虚假的DTP(DYNAMIC TRUNK PROTCOL)协商消息,宣布它想成为中继; 真实的交换机收到这个DTP(DYNAMIC TRUNK PROTCOL)消息后,以为它应当启用802.1Q中继功能,而一旦中继功能被启用,通过所有VLAN的信息流就会发送到黑客的计算机上。
中继建立起来后,黑客可以继续探测信息流,也可以通过给帧添加802.1Q信息,指定想把攻击流量发送给哪个VLAN           
4VTP攻击
VLAN中继协议(VTP,VLAN Trunk Protocol)是一种管理协议,它可以减少交换环境中的配置数量。就VTP而言,交换机可以是VTP服务器、VTP客户端或者VTP透明交换机,这里着重讨论VTP服务器和VTP客户端。用户每次对工作于VTP服务器模式下的交换机进行配置改动时,无论是添加、修改还是移除VLANVTP配置版本号都会增加1VTP客户端看到配置版本号大于目前的版本号后,就自动与VTP服务器进行同步。
恶意黑客可以让VTP为己所用,移除网络上的所有VLAN(除了默认的VLAN外),这样他就可以进入其他每个用户所在的同一个VLAN上。不过,用户可能仍在不同的网段,所以恶意黑客就需要改动他的IP地址,才能进入他想要攻击的主机所在的同一个网段。
恶意黑客只要连接到交换机,并在自己的计算机和交换机之间建立一条中继,就可以充分利用VTP。黑客可以发送VTP消息到配置版本号高于当前的VTP服务器,这会导致所有交换机都与恶意黑客的计算机进行同步,从而把所有非默认的VLANVLAN数据库中移除出去。
这么多种攻击,可见我们实施的VLAN是多么的脆弱,不过我们值得庆幸的是:如果交换机的配置不正确或不适当,才有可能引发意外行为或发生安全问题。所以我在后面的文章中会告诉大家配置交换机时必须注意的关键点。