当局域网络利用率很高,带宽被大量占用,经常有流量暴涨导致网络拥堵,一句话,只要网络无法为真正的用户提供正常的服务,则将它视为异常流量。常见的异常流量有网络层DDoS攻击、应用层DDoS、二层攻击、蠕虫传播等。对付这类玩意,如果采用传统的方法——先采集,再分析,然后确定攻击源,最后是采取对策——必定会费时费力,影响网络正常使用,破坏用户情绪,降低网管形象。因此,作为网管只能在平时多动脑思考,多动手实践,做好多重防护,确保网络的稳定,可靠,不掉线。以下是笔者的一点防护经验总结。

一,采用端口限速法。
异常流量发作时,往往是网内某一个或某几个IP发起的对外连接特别多,多的让中心交换机虽然CPU利用率高涨,但是,还不能完成转发任务,有时甚至中心交换机和出口设备宕机。怎么办呢?交换机端口限速。把交换机连接下级设备的物理端口的上行速率设置一个合适的最大值。这里说的“合适”是根据个人的管理经验来的,只要异常流量发作时交换机的资源在正常的承受范围内就可以。这样,你就看出来了,交换机端口限速是保护交换机的自身性能的行为。
这里有以下几点需要说明:一,端口限速会增加交换的压力,但也是了保护它的性能。二,多数的二层交换机并不支持这项功能,选择交换机时要仔细考察。三,就目前生产的交换机来说,端口限速还是一个比较“死板”的功能。为什么这样说呢?这里要先说下网络流量“健康”情况下的流量状况。健康情况下是网络中的下行流量大于上行流量。为什么会这样呢?给大家说一个直观的解释:比如说我们打开一个网站www.sina.com.cn,通常是输入域名,然后打回车就可以了,此时电脑向网络中发出了一次请求,上行流量的大小就是请求信息加上域名这么大的数据包,应当不会超过100K吧,而下行流量呢?新浪首页打开后,你会发现它的首页大小在1M左右,远远大于上行流量。此时如果抓包会发现新浪WWW服务器的响应IP会有十几个,有时甚至是二十几个,也就是说回应的数据包来自多个服务器。话又说回来,因为交换只能做到针对某一物理端口的上行流量或下行流量进行流量限制。而异常发作时,通常是上行流量大于下行流量,也就是说用户请求的数据包较多,而回应的较少(表现为打开网页慢或打不开),此时,如果交换机能智能的识别出上行流量和下行流量的大小,并时刻保持上行流量小于下行流量,那么端口限速法将是一项更加完美的功能。
二,采用三层以上设备限定网内IP的连接数。
三层以上设备,常用的路由器、防火墙、流量控制等设备。它们对数据包的分析显得更透彻一些,多数三层设备能够计算出网内每一个IP发起的对外连接数,并可以限定某一IP的连接数的最大值。如果超出范围就不允许该IP再建立新的对外连接,数据包直接被丢掉。这就为网络带宽管理带来极大的方便。比如限定BT、电驴、迅雷等下载时发起的对外连接,少则几十个,多则成百上千。笔者所管理的网络用户较多,有一千多台机器,根据日常流量情况,把每个IP的对外连接数(针对TCP协议的)设定为80。如此配置后,发现一段时间内路由器的CPU利用率基本比较稳定,没有忽高忽低的现象。
需要说明的是,限定IP的连接数会占用较大的设备资源;再一个,这样也带了一个坏处,如果用户开着BT下载,如果BT下载建立的连接较多,那么此时用户的正常网页浏览将受到影响,不是打开页面慢,就是打不开。如何区分用户发起的连接是BT下载的,还是正常的网页浏览呢?直观的办法是,采用高层的网络设备,根据应用识别数据包的类型。这里有两个办法,一是用户安装360安全卫士,并开启网速保护功能,把需要保护的应用(网页浏览工具)开启就可以了。再一个是采用高层的IPS设备。
三,采用IPS设备。
对于网络层的DDOS攻击,采用支持此功能的防火墙就可以,但是对于应用层的DDOS攻击和病毒蠕虫发起的对外连接防火墙往往无能为力。再一个,中心交换机和路由路由于主要应用在网络的第二到四层,在前两种方式中都会消耗较大的资源,尤其当网络流量较大时。此时要增加专用的IPS设备来防御。目前国内外主流高端IPS产品大都采用ASIC/FPGA/NP的设计方案,这样做的好处是可以提供较高的处理速度,同时具备可编程、易升级的优势。因此目前主流的高端IPS产品大多实现了千兆线速处理;再一个,IPS设备能够针对每个数据完成2到7层的深度检测,所以能够较精确的检测出病毒、蠕虫、木马、DDOS和混合威胁等形成的异常流量;还有,IPS设备一般还有较强的QOS功能,保障关键流量和关键应用。毫无疑问,IPS设备一般价格较高,少则十几万,多则几十成,甚至更高,尤其对于中小学来说,一般没有能力采购如昂贵的产品。那么有没有一种即经济又实用的办法呢?请接着往下看。
四、禁用网络中的UDP协议
通过抓包可以发现,网络的UDP协议通常能占到70%以上,根据正常的网络应用来说,不可能有如此多的UDP连接,因为多数网络应用采用TCP通信。如果网络中的UDP协议超过50%,基本上可以肯定网络中存在异常流量对外发起的连接。在用户的上网中,必须用到UDP协议的地方是DNS解析的53端口,除此以外基本上都可以禁掉,同时对上网用户没多大影响。因为常用的上网应用中大多采用TCP协议通信,必须采用UDP通信的较少,像个别的视频会议软件、新浪UC等,为提高通信速度采用UDP协议,而这些应用软件,对普通用户来说,使用较少,所以禁掉网络中的UDP协议,只开放UDP的53号端口,对网络用户影响并不大。再一个,DDOS攻击、蠕虫等为提高攻击效果大多采用UDP通信,所以禁掉UDP协议也能较好的防止异常流量的发生。笔者通过两周的观察,发现禁掉UDP协议后,网络中发出的对外连接比平常减少了1/3左右。
五,经验总结
以上方法,只能起到防御作用,即使网内发生异常流量也不会影响整个网络的正常使用,最多是中招的机器不能上网。但是它不能把害群之马踢出来,可以说是一种偷懒的方法。经过笔者的实验发现,同时采用第二和第四种办法是保持网络稳定和抑制异常流量最有效的办法,即:禁掉网络中的UDP协议,只开放53号端中,同时,把每个IP发起的TCP连接控制在80条以内。此时,你可能会说,禁掉网络的UDP协议通常可网管的交换机可以做到,可是限制每个IP的TCP连接数,需要路由器或防火墙设备,这东西我们也没有啊,怎么办呢?解决办法很简单,硬件的没有,可以找个软件的吗。像海蜘蛛,routeros等,只要安装到一台普通电脑上(这类软件尤其喜欢硬件配置不高的普通PC,与它们的兼容性最好),配置两块网卡就可以当作路由器、甚至防火墙来使用了。
 

文章如转载,请注明转载自:http://www.5iadmin.com/post/845.html