1. 判断异常流量流向
因为目前多数网络设备只提供物理端口入流量的NetFlow数据,所以采集异常流量NetFlow数据之前,首先要判断异常流量的流向,进而选择合适的物理端口去采集数据。
流量监控管理软件是判断异常流量流向的有效工具,通过流量大小变化的监控,可以帮助我们发现异常流量,特别是大流量异常流量的流向,从而进一步查找异常流量的源、目的地址。
目前最常用的流量监控工具是免费软件MRTG,下图为利用MRTG监测到的网络异常流量实例,可以看出被监测设备端口在当天4:00至9:30之间产生了几十Mbps的异常流量,造成了该端口的拥塞(峰值流量被拉平)。
如果能够将流量监测部署到全网,这样在类似异常流量发生时,就能迅速找到异常流量的源或目标接入设备端口,便于快速定位异常流量流向。
有些异常流量发生时并不体现为大流量的产生,这种情况下,我们也可以综合异常流量发生时的其它现象判断其流向,如设备端口的包转发速率、网络时延、丢包率、网络设备的CPU利用率变化等因素。
2. 采集分析NetFlow数据
判断异常流量的流向后,就可以选择合适的网络设备端口,实施Neflow配置,采集该端口入流量的NetFlow数据。
以下是在Cisco GSR路由器GigabitEthernet10/0端口上打开NetFlow的配置实例:
ip flow-export source Loopback0
ip flow-export destination *.*.*.61 9995
ip flow-sampling-mode packet-interval 100
interface GigabitEthernet10/0
ip route-cache flow sampled
通过该配置把流入到GigabitEthernet10/0的NetFlow数据送到NetFlow采集器*.*.*.61,该实例中采用sampled模式,采样间隔为100:1。
3. 处理异常流量的方法
(1)切断连接
在能够确定异常流量源地址且该源地址设备可控的情况下,切断异常流量源设备的物理连接是最直接的解决办法。
(2)过滤
采用ACL(Access Control List)过滤能够灵活实现针对源目的IP地址、协议类型、端口号等各种形式的过滤,但同时也存在消耗网络设备系统资源的副作用,下例为利用ACL过滤UDP 1434端口的实例:
access-list 101 deny udp any any eq 1434
access-list 101 permit ip any any
此过滤针对蠕虫王病毒(SQL Slammer),但同时也过滤了针对SQL Server的正常访问,如果要保证对SQL Server的正常访问,还可以根据病毒流数据包的大小特征实施更细化的过滤策略(本文略)。
(3)静态空路由过滤
能确定异常流量目标地址的情况下,可以用静态路由把异常流量的目标地址指向空(Null),这种过滤几乎不消耗路由器系统资源,但同时也过滤了对目标地址的正常访问,配置实例如下:
ip route 205.*.*.2 255.255.255.255 Null 0
对于多路由器的网络,还需增加相关动态路由配置,保证过滤在全网生效。
(4)异常流量限定
利用路由器CAR功能,可以将异常流量限定在一定的范围,这种过滤也存在消耗路由器系统资源的副作用,以下为利用CAR限制UDP 1434端口流量的配置实例:
Router# (config) access-list 150 deny udp any any eq 1434
Router# (config) access-list 150 permit ip any any
Router# (config) interface fastEthernet 0/0
Router# (config-if) rate-limit input access-group rate-limit 150 8000 1500 20000
conform-action drop exceed-action drop
此配置限定UDP 1434端口的流量为8Kbps。
五、常见蠕虫病毒的NetFlow分析案例
利用上诉方法可以分析目前互联网中存在的大多数异常流量,特别是对于近年来在互联网中造成较大影响的多数蠕虫病毒,其分析效果非常明显,以下为几种蠕虫病毒的NetFlow分析实例:
1. 红色代码 (Code Red Worm)
2001年7月起发作,至今仍在网络流量中经常出现。
211.*.*.237|192.*.148.107|65111|as1|6|72|
3684|80|80|3|144|1
211.*.*.237|192.*.141.167|65111|as1|6|36|
4245|80|80|3|144|1
211.*.*.237|160.*.84.142|65111|as1|6|72|
4030|80|80|3|144|1
NetFlow流数据典型特征:目的端口80, 协议类型80,包数量3,字节数144。
2. 硬盘杀手(worm.opasoft,W32.Opaserv.Worm)
2002年9月30日起发作,曾对许多网络设备性能造成影响,2003年后逐渐减少。
61.*.*.196|25.|*.156.106|64621|Others|6|36|
1029|137|17|1|78|1
61.*.*.196|25.*.156.107|64621|Others|6|36|
1029|137|17|1|78|1
61.*.*.196|25.*.156.108|64621|Others|6|36|
1029|137|17|1|78|1
NetFlow流数据典型特征:目的端口137,协议类型UDP,字节数78。
3. 2003蠕虫王 (Worm.NetKiller2003,WORM_SQLP1434,W32.Slammer,W32.SQLExp.Worm)
2003年1月25日起爆发,造成全球互联网几近瘫痪,至今仍是互联网中最常见的异常流量之一。
61.*.*.124|28.*.17.190|65111|as1|6|34|4444|
1434|17|1|404|1
61.*.*.124|28.*.154.90|65111|as1|6|70|4444|
1434|17|1|404|1
61.*.*.124|28.*.221.90|65111|as1|6|36|4444|
1434|17|1|404|1
NetFlow流数据典型特征:目的端口1434,协议类型UDP,字节数404
4. 冲击波 (WORM.BLASTER,W32.Blaster.Worm)
2003年8月12日起爆发,由其引发了危害更大的冲击波杀手病毒。
211.*.*.184|99.*.179.27|Others|Others|161|0|
1523|135|6|1|48|1
211.*.*.184|99.*.179.28|Others|Others|161|0|
1525|135|6|1|48|1
211.*.*.184|99.*.179.29|Others|Others|161|0|
1527|135|6|1|48|1
典型特征:目的端口135,协议类型TCP,字节数48
5. 冲击波杀手(Worm.KillMsBlast,W32.Nachi.worm,W32.Welchia.Worm)
2003年8月18日起发现,其产生的ICMP流量对全球互联网造成了很大影响,2004年后病毒流量明显减少。
211.*.*.91|211.*.*.77|Others|Others|4|0|0|
2048|1|1|92|1
211.*.*.91|211.*.*.78|Others|Others|4|0|0|
2048|1|1|92|1
211.*.*.91|211.*.*.79|Others|Others
|