网络安全 频道

知己知彼 用VLAN技术防御黑客攻击

三.VTP协议的安全性

  VTP(VLAN Trunking Protocol)是一个用于传播和同步关于整个交换网络的VLAN信息的协议,工作在OSI参考模型的第二层。VTP使我们在扩展交换网络规模时减少人工配置的工作量,并通过统一地管理交换网络中VLAN的增加、删除和名称变更,以维持整个网络VLAN配置的一致性,最大限度地减少可能带来问题的错配和配置不一致情况(如VLAN名称重复使用或错误的VLAN类型说明)。

  一个VTP域由一个或多个共享相同VTP环境的互连交换机组成,一个交换机只能配置到一个VTP域中。缺省地,Catalyst交换机置于无管理域的状态(不属于任何VTP域),直到它通过干道链路收到关于某个VTP域的通告或人工将其配置到某VTP域中。对单个VTP服务器的VLAN配置,会通过干道链路传播给所有连接到该VTP域的交换机。VTP信息只在干道链路上传送出去。

  我们在实际的工作中,往往需要一次性的配置多台Cisco的交换机,这时VTP协议给我们很大的帮助,使我们迅速的完成VLAN的部署。但VTP这个协议在应用过程中和DTP协议具有相同的问题。在前文中提到过在VLAN中有一种VTP攻击就是利用VTP的缺点实施攻击的。在解释如何防范VTP攻击前,我们有必要简单的回顾一下VTP的原理

  交换机在VTP域中以三种模式之一来工作:服务器模式、客户模式、透明模式。默认为服务器模式,但只有当一个管理域名被指定或获知后,其VLAN信息才会被通告出去。VTP通告被泛洪到整个VTP域,通常每隔5分钟或VLAN配置发生改变时,都会产生VTP通告。VTP通告通过厂家默认的VLAN(VLAN l)使用组播帧传送,包含在VTP通告中的VLAN配置版本号起着关键的作用,高版本号表明所通告的VLAN信息比原来储存的信息更新。

  在同步VLAN信息之前,接收VTP通告的设备必须检查各种参数:首先检查VTP域名、域密码是否与本地交换机所配置的相匹配,接着检查配置版本号是否比现在保存版本号更高,如果是这样的话交换机就同步通告的VLAN信息,这种信息同步是采用覆盖(overwrite)的方式。如果要复位当前的配置版本号,用命令delete vtp。

  VTP服务器每次调整VLAN信息时,就会让配置版本号递增1,并用新的配置版本号发出VTP通告。在VTP的透明模式下,配置版本号总是为0。

  VTP裁剪(Pruning)用VLAN通告来决定什么时候在干道连接上泛洪是不必要的。缺省地,在VTP域中干道连接承载所有VLAN的数据,在企业网络中往往不是每个交换机上都有接口划分到所有VLAN,VIP修剪功能通过限制泛洪数据传到那些不必要的主干链路来增加可用的带宽。修剪功能只能在VTP服务器上启用。

  在回顾了VTP的基本原理后,我们在来看看,在Cisco的交换机上,缺省的VTP配置:

  VTP的缺省配置取决于交换机型号和软件版本

  VTP模式:缺省地设置为VTP服务器模式

  VTP裁剪: 2950,3550等关闭

  VTP版本:VTP协议有版本1和版本2

  VTP域名:可以直接指定或从通过干道链路学来。缺省地交换机没有VTP域名。

  VTP密码:无

  大家可以看到,如果我们要去实施VTP,是非常容易的,往往只需要2-3条命令就可以完成。但VTP实施以后,随之而来的VTP安全和稳定问题就出现了。

  VTP的模式缺省是VTP的服务器模式,这种模式下可以任意的删除,添加,更改VLAN的信息,所以这种模式下的安全性非常重要。攻击者通过VTP攻击获取权限后,对我们的局域网的架构可以任意更改了,造成网络的严重混乱。所以我们建议大家在进行VTP协议实施时,不管一个域中有多少台交换机,只保留一台是VTP的服务器模式,其他都是VTP的客户模式。

  另外,为了保证VTP域的安全,VTP域可以设置密码,域中所有交换机必须设置成一样的密码。在VTP域中的交换机配置了同样的密码后,VTP才能正常工作。而不知道密码或密码错误的交换机讲无法获知VLAN的消息。不过有些遗憾的是VTP的域密码是明文在网络中传递的。

  下面是一个VTP安全实施的实例,要求创建一个名为RT的VTP域,在两台交换机上配置VTP域模式,一台为Server,一台为Client,开启VTP裁剪,设置VTP版本为2,在VTP域为Server的交换机上创建VLAN10,20,30三个VLAN,在这个实例中将接口加入VLAN的部分我们将在VLAN配置实例中描述。重点注意两台VTP工作的域模式和域密码。在完成这样的操作后,最大程度保证VTP的正常工作。拓扑如图2所示

                                                     图2 VTP配置

  Sw-vtpserver配置如下:

      Sw-vtpserver (config)# vtp mode server
  Sw-vtpserver (config)# vtp domain rt
  Sw-vtpserver (config)#vtp pruning
  Sw-vtpserver (config)#vtp version 2
  Sw-vtpserver (config)#vtp password cisco
  Sw-vtpserver (config)#vlan 10
  Sw-vtpserver (config)#vlan 20
  Sw-vtpserver (config)#vlan 30

  Sw-vtpclient配置如下:

      Sw-vtpclient (config)#vtp domain rt
  Sw-vtpclient (config)#vtp password cisco
  Sw-vtpclient (config)#vtp pruning
  Sw-vtpclient (config)#vtp version 2
  Sw-vtpclient (config)#vtp mode client

  配置完成的结果如图3:

                                             图3 VTP配置完成

0
相关文章