211.*.*.57|202.*.*.12|Others|localas|9|6|2392|80|80|1|40|1
61.*.*.68|61.*.*.195|64917|Others|9|13|4528|135|6|4|192|1
本文的所有分析数据均基于采自Cisco路由器的NetFlow数据。
三、互联网异常流量的NetFlow分析
要对互联网异常流量进行分析,首先要深入了解其产生原理及特征,以下将重点从NetFlow数据角度,对异常流量的种类、流向、产生后果、数据包类型、地址、端口等多个方面进行分析。
1. 异常流量的种类
目前,对互联网造成重大影响的异常流量主要有以下几种:
(1)拒绝服务攻击(DoS)
DoS攻击使用非正常的数据流量攻击网络设备或其接入的服务器,致使网络设备或服务器的性能下降,或占用网络带宽,影响其它相关用户流量的正常通信,最终可能导致网络服务的不可用。
例如DoS可以利用TCP协议的缺陷,通过SYN打开半开的TCP连接,占用系统资源,使合法用户被排斥而不能建立正常的TCP连接。
以下为一个典型的DoS SYN攻击的NetFlow数据实例,该案例中多个伪造的源IP同时向一个目的IP发起TCP SYN攻击。
117.*.68.45|211.*.*.49|Others|64851|3|2|10000|10000|6|1|40|1
104.*.93.81|211.*.*.49|Others|64851|3|2|5557|5928|6|1|40|1
58.*.255.108|211.*.*.49|Others|64851|3|2|3330|10000|6|1|40|1
61.*.*.67|69.*.*.100|64821|as9|2|9|49064|5230|17|6571|9856500|1
211.*.*.163|69.*.*.100|64751|as9|3|9|18423|22731|17|906|1359000|1
61.*.*.*|168.*.*.200|Others|Others|3|0|1186|445|6|1|48|1
61.*.*.*|32.*.*.207|Others|Others|3|0|10000|445|6|1|48|1
(4)其它异常流量
我们把其它能够影响网络正常运行的流量都归为异常流量的范畴,例如一些网络扫描工具产生的大量TCP连接请求,很容易使一个性能不高的网络设备瘫痪。
以下为一个IP对167.*.210.网段,针对UDP 137端口扫描的NetFlow数据实例:
211.*.*.54|167.*.210.95|65211|as3|2|10|1028|137|17|1|78|1
211.*.*.54|167.*.210.100|65211|as3|2|10|1028|137|17|1|78|1
124.*.148.110|211.*.*.49|Others|64851|3|2|10000|10000|6|1|40|1
211.*.*.54|167.*.210.252|65211|as3|2|10|1028|137|17|1|78|1
211.*.*.187|211.*.*.69|Others|localas|71|6|1721|445|6|3|144|1
11.*.64.3|2.*.38.180|64821|as10|5|4|1013|18|6|1|40|1
2.*.33.1|1.*.97.22|as12|64811|5|2|0|0|1|146173|218359704|1
*.*.206.73|160.*.71.129|64621|Others|6|34|1812|1812|17|224|336000|1
*.*.17.196|25.*.156.119|64621|Others|6|34|1029|137|17|1|78|1
211.*.*.146|211.*.*.129|Others|Others|71|8|3227|53|53|1|59|1
5. 异常流量的源、目的地址 211.*.*.153|*.10.72.226|as2|as8|5|4|3844|10000|17|2|3000|2
211.*.*.153|*.10.72.226|as2|as8|5|4|3845|10000|17|1|1500|1
211.*.*.153|*.10.72.226|as2|as8|5|4|3846|10000|17|1|1500|1
211.*.*.187|169.*.190.17|Others|localas|71|6|1663|445|6|3|144|1
211.*.*.187|103.*.205.148|Others|localas|71|6|3647|445|6|3|144|1
211.*.*.187|138.*.80.79|Others|localas|71|6|1570|445|6|3|144|1
211.*.*.219|192.*.254.18|Others|Others|15|9|10000|6789|17|1|36|1
211.*.*.219|192.*.254.19|Others|Others|15|9|10000|6789|17|2|72|2
211.*.*.219|192.*.254.20|Others|Others|15|9|10000|6789|17|3|108|3
63.245.0.0|209.*.*.38|as5|as4|3|7|1983|23|23|1|40|1
12.51.0.0 |209.*.*.38 |as6|as4|3|7|1159|2046|6|1|40|1
212.62.0.0|209.*.*.38| as7|as4|3|7|1140|3575|6|1|40|1
211.*.*.187|169.172.190.17|Others|localas|71|6|1663|445|6|3|144|1
211.*.*.187|103.210.205.148|Others|localas|71|6|3647|445|6|3|144|1
211.*.*.187|138.241.80.79|Others|localas|71|6|1570|445|6|3|144|1
211.*.*.219|192.*.254.18|Others|Others|15|9|10000|6789|17|1|36|1
211.*.*.219|192.*.254.19|Others|Others|15|9|10000|6789|17|2|72|2
211.*.*.219|192.*.254.20|Others|Others|15|9|10000|6789|17|3|108|3
四、利用NetFlow工具处理防范网络异常流量
从某种程度上来讲,互联网异常流量永远不会消失而且从技术上目前没有根本的解决办法,但对网管人员来说,可以利用许多技术手段分析异常流量,减小异常流量发生时带来的影响和损失,以下是处理网络异常流量时可以采用的一些方法及工具:
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
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
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
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
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|4|0|0|2048|1|1|92|1
61.*.*.*|32.*.70.207|Others|Others|3|0|10000|445|6|1|48|1
61.*.*.*|24.*.217.23|Others|Others|3|0|10000|445|6|1|48|1
61.*.*.*|221.*.65.84|Others|Others|3|0|10000|445|6|1|48|1
从以上案例可以看出,蠕虫爆发时,应用Neflow分析方法,可以根据病毒流量的NetFlow特征快速定位感染病毒的IP地址,并参考NetFlow数据流的其它特征在网络设备上采取相应的限制、过滤措施,从而达到抑制病毒流量传播的目的。
六、总结
处理分析网络异常流量存在许多其它方法,如我们可以利用IDS、协议分析仪、网络设备的Log、Debug、ip accounting等功能查找异常流量来源,但这些方法的应用因各种原因受到限制,如效率低、对网络设备的性能影响、数据不易采集等因素。
利用NetFlow分析网络异常流量也存在一些限制条件,如需要网络设备对NetFlow的支持,需要分析NetFlow数据的工具软件,需要网络管理员准确区分正常流量数据和异常流量数据等。
但相比其它方法,利用NetFlow分析网络异常流量因其方便、快捷、高效的特点,为越来越多的网络管理员所接受,成为互联网安全管理的重要手段,特别是在较大网络的管理中,更能体现出其独特优势。
参考文献
NetFlow Overview
NetFlow Export Datagram Format
Customizing FlowCollector
SAFE SQL Slammer Worm Attack Mitigation
病毒与安全