netflow
百科名片
NetFlow是一种数据交换方式,其工作原理是:NetFlow利用标准的交换模式处理数据流的第一个IP包数据,生成NetFlow 缓存,随后同样的数据基于缓存信息在同一个数据流中进行传输,不再匹配相关的访问控制等策略,NetFlow缓存同时包含了随后数据流的统计信息。
目录
[隐藏]
- 简介
- 结构
- 版本
- 互联网异常流量NetFlow分析概述
- 异常流量的种类
- 异常流量流向分析
- 异常流量产生的后果
- 异常流量的数据包类型
- 利用NetFlow工具处理防范网络异常流量
- 常见蠕虫病毒的NetFlow分析案例
- 总结
概念
一个NetFlow流定义为在一个源IP地址和目的IP地址间传输的单向数据包流,且所有数据包具有共同的传输层源、目的端口号。数据采集
针对路由器送出的NetFlow数据,可以利用NetFlow数据采集软件存储到服务器上,以便利用各种NetFlow数据分析工具进行进一步的处理。 Cisco提供了Cisco NetFlow Collector(NFC)采集NetFlow数据,其它许多厂家也提供类似的采集软件。采集的网络流量数据实例
211.*.*.57|202.*.*.12|Others|localas|9|6|2392 |80|80|1|40|1 出于安全原因考虑,本文中出现的IP地址均经过处理。 NetFlow数据也可以在路由器上直接查看,以下为从Cisco GSR路由器采集的数据实例,: gsr #att 2 (登录采集NetFlow数据的GSR 2槽板卡) LC-Slot2>sh ip cache flow SrcIf SrcIPaddress DstIf DstIPaddress Pr SrcP DstP Pkts Gi2/1 219.*.*.229 PO4/2 217.*.*.228 06 09CB 168D 2 Gi2/1 61.*.*.23 Null 63.*.*.246 11 0426 059A 1 本文中的NetFlow数据分析均基于NFC采集的网络流量数据,针对路由器直接输出的Neflow数据,也可以采用类似方法分析。数据采集格式说明
NFC 可以定制多种NetFlow数据采集格式,下例为NFC2.0采集的一种流量数据实例,本文的分析都基于这种格式。 61.*.*.68|61.*.*.195|64917|Others|9|13|4528| 135|6|4|192|1 数据中各字段的含义如下: 源地址|目的地址|源自治域|目的自治域|流入接口号|流出接口号|源端口|目的端口|协议类型|包数量|字节数|流数量几点说明
NetFlow主要由Cisco路由器支持,对于其它厂家的网络产品也有类似的功能,例如Juniper路由器支持sFlow功能。 NetFlow支持情况与路由器类型、板卡类型、IOS版本、IOS授权都有关系,不是在所有情况下都能使用,使用时需考虑自己的软硬件配置情况。 本文的所有分析数据均基于采自Cisco路由器的NetFlow数据拒绝服务***(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 由于Internet协议本身的缺陷,IP包中的源地址是可以伪造的,现在的DoS工具很多可以伪装源地址,这也是不易追踪到***源主机的主要原因。分布式拒绝服务***(DDoS)
DDoS把DoS又发展了一步,将这种***行为自动化,分布式拒绝服务***可以协调多台计算机上的进程发起***,在这种情况下,就会有一股拒绝服务洪流冲击网络,可能使被***目标因过载而崩溃。 以下为一个典型的DDoS***的NetFlow数据实例,该案例中多个IP同时向一个IP发起UDP***。 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.*.*.145|69.*.*.100|64731|Others|2|0|52452| 22157|17|3|4500|1网络蠕虫病毒流量
网络蠕虫病毒的传播也会对网络产生影响。近年来,Red Code、SQL Slammer、冲击波、振荡波等病毒的相继爆发,不但对用户主机造成影响,而且对网络的正常运行也构成了的危害,因为这些病毒具有扫描网络,主动传播病毒的能力,会大量占用网络带宽或网络设备系统资源。 以下为最近出现的振荡波病毒NetFlow数据实例,该案例中一个IP同时向随机生成的多个IP发起445端口的TCP连接请求,其效果相当于对网络发起DoS***。 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 61.*.*.*|24.*.*.23|Others|Others|3|0|10000| 445|6|1|48|1其它异常流量
我们把其它能够影响网络正常运行的流量都归为异常流量的范畴,例如一些网络扫描工具产生的大量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 211.*.*.54|167.*.210.103|65211|as3|2|10| 1028|137|17|1|78|1判断异常流量流向
因为目前多数网络设备只提供物理端口入流量的NetFlow数据,所以采集异常流量NetFlow数据之前,首先要判断异常流量的流向,进而选择合适的物理端口去采集数据。 流量监控管理软件是判断异常流量流向的有效工具,通过流量大小变化的监控,可以帮助我们发现异常流量,特别是大流量异常流量的流向,从而进一步查找异常流量的源、目的地址。 目前最常用的流量监控工具是免费软件MRTG,下图为利用MRTG监测到的网络异常流量实例,可以看出被监测设备端口在当天4:00至9:30之间产生了几十Mbps的异常流量,造成了该端口的拥塞(峰值流量被拉平)。 如果能够将流量监测部署到全网,这样在类似异常流量发生时,就能迅速找到异常流量的源或目标接入设备端口,便于快速定位异常流量流向。 有些异常流量发生时并不体现为大流量的产生,这种情况下,我们也可以综合异常流量发生时的其它现象判断其流向,如设备端口的包转发速率、网络时延、丢包率、网络设备的CPU利用率变化等因素。采集分析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。处理异常流量的方法
(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。红色代码 (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。硬盘杀手
(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。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冲击波
(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冲击波杀手
(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|4|0|0| 2048|1|1|92|1 NetFlow流数据典型特征:目的端口2048,协议类型ICMP,字节数92振荡波
(Worm.Sasser,W32.Sasser) 2004年5月爆发。 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 NetFlow流数据典型特征:目的端口445,协议类型TCP,字节数48 从以上案例可以看出,蠕虫爆发时,应用Neflow分析方法,可以根据病毒流量的NetFlow特征快速定位感染病毒的IP地址,并参考NetFlow数据流的其它特征在网络设备上采取相应的限制、过滤措施,从而达到抑制病毒流量传播的目的。转载于:https://blog.51cto.com/lymrg/362577