宽带网接入交换机通常需要与用户终端直接连接,一旦用户终端感染蠕虫病毒,病毒发作就会严重消耗带宽和交换机资源,甚至造成网络瘫痪,这一现象在Slammer和冲击波事件中早已屡见不鲜。宽带接入交换机究竟面临哪些安全风险?怎样才能化解这些风险?接下来我们将逐一揭示。
交换机的风险
利用抓包工具,网管经常捕获到大流量的异常报文,它们一方面消耗网络带宽,另一方面消耗网络设备的资源,影响网络的正常运行。
单播类异常报文:单播流量大多数是发送给网关,网关设备根据路由表对这些报文做出转发或丢弃处理。对私有IP地址,公网三层交换机或路由器会自动丢弃单播流量。如果用户已经获得一个公网IP地址,这些单播流量就会被转发出去,进而影响更大范围的网络。以冲击波病毒为例,中毒主机只要监测到网络可用,就会启动一个攻击传播线程,不断随机生成攻击地址进行攻击。在冲击波发作严重的阶段,网络速度明显变慢,一些接入层交换机和一些小型路由器甚至崩溃,核心三层交换机的CPU利用率达到100%,运营商不得不采取屏蔽ICMP报文的办法加以应对。
广播类异常报文:广播是实现某些协议的必要方式。广播报文会发送给特定网段内的所有主机,每台主机都会对收到的报文进行处理,做出回应或丢弃的决定,其结果是既消耗网络带宽又影响主机性能。利用端口隔离技术,用户可以限制广播报文只发往上行端口,这样可以减小对本网段链路和主机的影响,但无法解决对汇聚层和核心层设备造成的影响。如果在汇聚或核心设备上将多个小区划在一个VLAN内,广播类流量就会通过上层设备返回到其他小区,进而继续占用这些小区的链路带宽并影响主机性能,这种配置方法在当前宽带网络中广泛存在。
组播类异常报文:组播类信息本来只服务于网络内的部分用户,其目的地址是网络内申请加入组播组的主机。一些主机并没有申请加入组播组,这些组播报文本不应该转发给这些主机,但是事实上这些主机还是收到了组播信息。是什么原因导致组播报文转发给没有申请加入的主机呢?原来,为了实现组播,二层交换机使用GMRP组播注册协议或IGMP Snooping协议来维护一个动态组播表,然后把组播报文转发给与该组播组成员相关的端口,以实现在VLAN 内的二层组播,如果没有运行IGMP Snooping,组播报文将在二层广播,这就是导致组播泛滥的原因。
随着宽带网络的进一步普及以及视频应用的逐渐增加,组播技术将会得到更广泛地应用,那时组播类异常流量不仅会出现在网络的第二层,而且还会路由到整个组播树。加上视频类信息流量较大,很难区分正常流量和不正常流量。因而对组播进行控制也就更加困难了。
总之,局域网内的应用存在被病毒利用的可能性,如果不有效限制异常流量,就会对网络带宽以及网络设备造成资源消耗。因此,为面向用户的二层交换机增加智能,把问题隔离在最小的范围内,就显得尤为重要。
化解风险的对策
利用交换机的流量控制功能,我们能够把流经端口的异常流量限制在一定的范围内。不过,交换机的流量控制功能只能对经过端口的各类流量进行简单的速率限制,将广播、组播的异常流量限制在一定的范围内,而无法区分哪些是正常流量,哪些是异常流量。同时,如何设定一个合适的阈值也比较困难。如果需要对报文做更进一步的控制用户可以采用ACL(访问控制列表 )。ACL利用IP地址、TCP/UDP端口等对进出交换机的报文进行过滤,根据预设条件,对报文做出允许转发或阻塞的决定。
通过细分不同的网络流量,用户可以针对性地对异常流量分别进行控制。通过IP报文的协议字段控制单播类异常流量,通过以太帧的协议字段控制广播类异常报文,通过IP目的地址段控制组播类报文。除了这些控制手段之外,网络管理员还需要经常注意网络异常流量,及时定位异常流量的源主机,并且排除故障。