高校网络环境下基于NetFlow的网络监测系统设计

2016-06-04 01:32赵晓峰李育泽徐义东
湖北科技学院学报 2016年2期
关键词:数据采集

赵晓峰,李育泽,徐义东

(安徽财经大学,安徽 蚌埠 233000)



高校网络环境下基于NetFlow的网络监测系统设计

赵晓峰,李育泽,徐义东

(安徽财经大学,安徽蚌埠233000)

摘要:利用开源软件设计并实现了一套基于NetFlow的网络监测系统,运用该系统可对校园网络进行有效监测、分析,同时使用该系统还可以检测校园网中的异常流量,对校园网的运行维护提供了很好的帮助作用。

关键词:NetFlow;数据采集;异常流量分析

高校网络为高校师生科研、生活、学习提供了非常大的便利,但随着网络应用的不断扩大,校园网上的蠕虫病毒、网络攻击等异常流量层出不穷,这些异常行为消耗了大量的网络资源,有时甚至因为这些异常流量的干扰而引起骨干网络变慢或瘫痪,给全网造成巨大损失。为了保证校园网高速、有效运行,有必要在校园网主干网上布置一套高效的网络流量监控系统,对流经主干节点的所有数据进行实时检测和分析。对流量进行分析,首先要分清这些流量中哪些是正常流量?哪些是异常流量?各种类型的流量如何分布?这些问题必须借助某种有效的流量分析工具才能实现,在目前高校网络环境下,大部分核心交换或路由设备中都具有该种工具——NetFlow,它最初是由Cisco公司开发,但现在很多厂家高端设备也都可以实现类似NetFlow的功能,如:Juniper,Enterasys,H3C(NetSream)等。Cisco的NetFlow 有多种版本,如:V1,V5,V7,V8,V9。安徽财经大学核心设备为Cisco的7690、juniper的MX960,使用NetFlow V5和CFlowd进行流量分析。本文提出并实现了一种基于NetFlow的监控系统,通过这套能实现网络运行状况分析的系统,网管人员可对主干网运行状况进行有效的监控、管理,保证校园网络稳定运行。

一、NetFlow

NetFlow目前广泛应用于高端路由器和交换机中,NetFlow的数据输出要求先在路由器或交换机上配制NetFlow流输出,这样路由器或交换机即可以UDP的方式向外发送信息,在NetFlow收集器端,需要配置好接收端口号、过滤策略等,收集器就可以接收到发送过来的NetFlow数据。一个Flow定义了一条在源和目的之间的单向流,这里的源和目的既包括了IP层的源IP和目的IP,也包括TCP层的源端口和目的端口。具体地说,一个Flow至少定义了以下七个关键元素:(1)源IP地址;(2)目的IP地址;(3)源端口号;(4)目的端口号;(5)三层协议的类型;(6)TOS字段;(7)入端口。这七个字段定义了唯一的一个Flow,如果有多条Flow,只要其中任何一个字段内容不同,那么就被看成一条新的Flow。除此之外,一个Flow或许还包含其他的字段,这取决于NetFlow版本,不同版本的NetFlow格式不一样,例如:NetFlow V5的版本还包括了AS字段,V1版本的就没有。

二、网络监测系统架构与实现

基于NetFlow的监测系统架构如图1所示:

图1 基于NetFlow的监测系统架构

该系统架构下,各服务器采用开放源代码的Linux操作系统,收集器的数据库采用MySQL网络数据库,NetFlow采集服务器负责实时收集核心交换或路由设备传送出来的NetFlow信息,收集器接收到数据后将它们插入MySQL数据表中,最后NetFlow分析器将收集到的数据进行分析匹配,产生结果反馈给用户。用户也可通过CGI对存于数据库中的数据进行检索和统计。该系统具体可分为以下几个部分实现:(1)在核心交换或路由设备如CISCO7609上配置NetFlow,并输出到指定采集器(IP)的固定UDP端口;(2)采集器软件是Flow-tool或直接用Java程序实现,该软件监听UDP端口,接收进入的NetFlow数据包并存储为特定格式(一般是二进制)的源文件;(3)用perl或Java等编程工具对NetFlow进行分析和规范格式的操作,并将读取的NetFlow信息存入MySQL中;(4)通过对数据库中数据的检索、分析,显示全网运行状况,同时依据蠕虫和攻击等异常报文的流量特征,从数据库中找出疑似异常流量IP地址;(5)将分析结果在Web客户端中展示,或者通过E-mail、短信等接口发送。

三、异常流量分析和处理

利用存入MySQL中的NetFlow信息,可以方便的分析各时间段全网数据的流入、流出量,及全网流量中各协议分布情况等。由于有些异常流量如蠕虫病毒、DOS攻击、DDoS攻击、黑客扫描等异常行为,其流量具有明显的异常特征。因此,通过研究这些异常特征,再结合MySQL中的NetFlow信息,进行流量异常特征比对,即可发现校园网中异常流量的IP地址,使网络管理人员可以快速定位异常流量的发源地。基于NetFlow的异常流量检测方法主要有以下两种:一种基于标志的检测方法;另一种基于异常的检测方法。

1.基于标志的检测方法

基于标志的检测方法是将收集到的信息与已知的网络异常行为进行特征比较,从而发现网络异常行为。特征比较常采用模式匹配,它的一大优点是只需收集相关的数据集合,显著减少系统负担,且技术已相当成熟。但是,该方法存在的弱点是需要不断的升级以对付不断出现的病毒或黑客攻击,不能检测到从未出现过的异常流量。通常情况下,大部分病毒或攻击行为都是针对一些特定的端口发起攻击, 如红色代码的NetFlow流数据典型特征为:目的端口80, 包数量3,字节数144。SQL语句如下:

select srcipaddress,srcp,dstipaddress,dstp,p,f1,pkts,octets from netflow where dstp=80 and pkts=3 and octets=144;

从查询结果可以看到对应的IP地址有几千个对外的连接,该IP地址主机有可能感染了红色代码病毒。

2.基于异常的检测方法

基于异常检测建立在对大量流信息统计分析基础上,通过判断规定时间内,统计结果是否明显异常,从而判断网络中有无异常出现。例如,在通常情况下,网络中的各种连接都有自己相对稳定的频率,如果一台主机感染了病毒,它会试图与外界建立更多的连接,以传染网络中的其它用户,因此它发出请求建立连接的数量明显变得偏高。该方法不依赖与已知网络入侵行为的特征比对,能够捕捉到未知的入侵行为,弥补了基于标志检测法的不足。几种常见的异常流量有:拒绝服务攻击(DOS)、预扫描等。

(1)拒绝服务攻击 (DOS)

拒绝服务攻击往往是针对TCP/IP协议中的弱点或者系统存在的某些漏洞,使用非正常的数据流大量攻击网络设备,致使网络设备性能下降、网络阻塞,最终导致攻击目标无法向合法的用户提供正常的服务。常用的拒绝服务攻击有:DDoS,ping of death,SYN flood,UDP flood等。

例如使用如下SQL语句,可以找出内网中对DNS服务器进行DOS攻击的主机IP。

select count(*),srcipaddress,dstp from netflow where dstp=53 and p=17 group by srcipaddress order by 1 desc limit 10;输入上述命令后可以看到主机明显异常的IP地址,短时间内对DNS服务器发送了大量的请求。

分布式拒绝服务(DDoS)是一种分布、协作的大规模攻击方式,攻击借助于客户/服务器技术,将多个主机联合起来作为攻击平台,对一个或多个目标发动DOS攻击,成倍地提高拒绝服务攻击的威力,从而导致目标迅速瘫痪。通过分析得到的流信息,如果在很短的时间内,有大量不同源IP朝同一目的IP大量发包,就意味着DDoS攻击存在。

例如使用如下SQL语句,可以发现内网是否有DDoS正在进行攻击。

select count(*),dstipaddress,pkts from netflow group by dstipaddress order by 1 desc limit 10;查询后可以看到目标地址107.183.47.242在短期内被大量的不同内网主机连接,有可能该主机正被DDoS攻击。

(2)未知攻击

有些病毒或攻击虽然不像DOS、DDoS攻击那么明显异常,但也有其特殊的异常特征,如有些攻击在发起前会进行扫描探测,扫描探测过程中会想办法隐藏自己真实IP地址,如果发现某网段存在这种刻意隐藏自己IP地址的行为,即可判定该网段隐藏有恶意攻击主机。比如我们在查找红色代码病毒之时,意外发现在192.168.157.0网段有主机从192.168.157.6到192.168.157.254,有规律的改变源IP地址向外连接。此种行为有可能是红色代码病毒变种或其它新的未知病毒或攻击造成。

3.异常处理

当发现异常流量之时,为了控制异常流量对整网的进一步干扰,可采取以下两种方法对异常流量进行阻断处理:

方法一:直接切断连接

当确定异常流量源地址且该源地址接入交换机可控情况下,可远程登录到该交换机,通过关闭异常流量连接的交换机端口直接切断异常流量。

方法二:过滤

当不能准确定位异常流量所连接的交换机端口时,可在核心交换或路由设备上采用ACL过滤的方法,灵活实现针对源目的IP地址、协议类型、端口号等各种形式的过滤。

四、构建WEB监测

因为NetFlow表达的流量信息非常丰富,利用其基本的七元组信息,不但可以实现上述的异常流量发现,还可以实现整网流量实时分析统计,如统计整网中各种协议所占比例、某段时间每个IP地址流入或流出流量多少等。异常流量实际就隐藏在整网流量之中,因此,通过WEB利用存入MySQL中的NetFlow信息构建整网流量监测系统,不但可以直观的将整网流量统计信息以图形方式显示出来,同时,通过观察整网流量统计信息,也可以发现其中隐藏的异常流量。通过我们WEB实现了以下几项重要功能:

功能一:某一时段整网流量流入、流出排名统计。比如对整网最后一小时收集的数据进行统计,查询的前十名IP流入流量总和,及其所占整网总流量的比例,可以发现某IP流入的流量最高,依此可以判断该IP有可能在进行P2P的下载,如果该IP经常这样大比例占用整网流量,就会对其进行带宽限制。如果查询的是流出流量,当内网某IP流出流量过大时,就要考虑该IP是否感染病毒了。

功能二:某一时段整网各协议流入、流出排名统计。

功能三:某一时段分区域(分成学生区、教工区、服务器区)流量与协议流入、流出排名统计。

功能四:某一时段各IP地址流入、流出会话显示。

五、结语

本文基于NetFlow设计并开发了一套网络监测系统,该系统通用性好,可扩展性强,使用简捷、直观、方便, 实验证明该系统能很好地对管辖范围内的网络数据流进行有效监控,给网管人员提供丰富的决策依据。通过实时的统计信息,网管人员不但可以对校园网络运行情况有基本的了解,同时还可以找到病毒、蠕虫和网络攻击等网络异常行为的源头,给网管人员采取有效措施阻断这些异常流量提供依据,从而为校园网络稳定运行提供保证。

参考文献:

[1]肖志新,杨岳湘,杨霖.一个基于NetFlow的异常流量检测与防护系统[J].微电子学与计算机,2006,23(5).

[2] 周韶泽,邵力耕.高速网络环境下基于NetFlow的网络监测系统设计[J].大连铁道学院学报,2005,26(2).

[3] 曹锡宇,张德民.基于NetFlow的IDS研究与应用[J].通信市场,2005,(5).

中图分类号:TP391.2

文献标识码:A

基金项目:安徽财经大学教育事业发展研究项目(2016JFYBE12)与安徽财经大学教学研究项目(acjyyb2015013)研究成果

*收稿日期:2015-12-01

文章编号:2095-4654(2016)02-0009-03

猜你喜欢
数据采集
Web网络大数据分类系统的设计与改进
CAN总线通信技术在电梯监控系统中的应用
基于大型嵌入式系统的污水检测系统设计
基于AVR单片机的SPI接口设计与实现
CS5463在植栽用电子镇流器老化监控系统中的应用
大数据时代高校数据管理的思考
基于广播模式的数据实时采集与处理系统
通用Web表单数据采集系统的设计与实现
基于开源系统的综合业务数据采集系统的开发研究
大数据时代的管理会计