计算机网络专业毕业设计(论文)-网络监测与安全保障系统的总体设计.doc_第1页
计算机网络专业毕业设计(论文)-网络监测与安全保障系统的总体设计.doc_第2页
计算机网络专业毕业设计(论文)-网络监测与安全保障系统的总体设计.doc_第3页
计算机网络专业毕业设计(论文)-网络监测与安全保障系统的总体设计.doc_第4页
计算机网络专业毕业设计(论文)-网络监测与安全保障系统的总体设计.doc_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

河南机电高等专科学校毕业设计目录1 绪论111选题背景112论文组织结构12 网络监测与安全保障系统概述33 网络监测与安全保障系统分析431功能需求描述432目标系统要求44 网络监测与安全保障系统的总体设计实现64. 1数据包捕获模块分析6 4.1.1以太网数据包监听顾虑机制.6 4.1.2libpcap介绍.6 4.1.3数据包捕获的实现.6 4.1.4本部分总结.94.2数据包分析模块设计9 4.2.1netflow技术.9 4.2.2netflow流量采集与聚合.11 4.2.3实际netflow流采集与流量监测.13 4.2.4本部分总结.144.3数据管理模块设计15 4.3.1mysql的安装.15 4.3.2数据导入和导出.16 4.3.3管理系统的设计.174.4 数据包安全模块设20 4.4.1网络异常分类.20 4.4.2异常处理保障网络安全.21 4.4.3本部分总结.295 网络监测与安全保障系统测试306 网络监测与安全保障系统的不足及改进思想327 结论33致谢34参考文献35附录36361 绪论11选题背景随着我国各高校校园网建设的逐步发展,校园网渐渐成为各学校信息化的一个重要的组成部分。它不仅有效的提高了各部门的工作效率,也为校园生活提供了便利。然而校园网络日益膨胀,网络结构越来越复杂,安全隐患和网络检测建设也越来越多,维护工作也越来越困难。然而当今校园网的建设也随着科学技术的发展变的越来越迫切和需要。随着需求不断扩大,大学生对于信息技术的要求和时效性也不断提高,因此校园智能网的建设也应运而生。然而,所有网络的建设必须要考虑到安全性,所以安全性也变得尤为重要,成了智能校园网建设的重中之重。要做到能更好的为学生老师服务,建设一个智能型的网络检测系统就不可或缺。因此,把校园网智能型网络监测与安全保障系统的设计和应用选作我的毕业设计题目。大多数安全性问题的出现都是由于有恶意的人试图获得某种好处或损害某些人而故意引起的。可以看作保证网络安全不仅仅是使它没有变成错误。他宝货要防范那些聪明的,通常也是狡猾的、专业的,并且在时间和金钱上是很充足、富有的人。当然校园网可能面临的只是学生出于好奇方面的错误操作。这是网络安全问题的根源。因此,要做到网络安全。首先就必须要有一个智能的、合理的,从经济方面有相对划算的网络安全监测系统。本文将从智能型网络监测入手来保障校园网的安全。12论文组织结构第一部分:绪论:介绍了论文的选题背景、系统概述等。第二部分:系统概述:简述本课题的研究概况和存在的问题,以及本论文(设计)的指导思想、主要技术路线。第三部分:系统分析:需求分析、功能需求描述、目标系统要求、系统平台选择、数据库设计等。第四部分:总体设计及说明以及系统的功能实现,各功能模块的具体设计与实现方法。第五部分:系统测试。第六部分:系统的不足及改进设想。第七部分:结论。2 网络监测与安全保障系统概述本文主要介绍了智能型校园网监测与安全保障系统的设计和应用。主要包括:数据包捕获模块,基于多模式的流量采集方式实现数据包级捕获组件与netflow接受组件;数据包分析模块设计,基于流的抽样分析方法进行流量数据检测与处理,本文主要通过netflow技术来整合数据的检测与处理;数据管理模块设计,采用mysql数据库的设计,实现对数据内部物理调整,并选择合理的存取路径以提高数据库访问速度;数据安全模块设计,根据捕获到的数据异常情况进行警告活禁止处理,保障网络安全;最后是系统的测试,通过对网络进行流量监测分析,建立网络流量基准;通过连接会话数的跟踪、源目的地址对的分析、tcp流的分析,及时发现网络中的异常流量,进行实时告警,保障网络安全。例如,网络中,如果网络所接受的流量超过它实际的运载能力或者有人利用恶意的arp攻击软件在校园网中影响到其他用户的网络流量,就会引起网络性能下降。然而在实际的网络中,如果对网络流量控制得不好或者发生网络阻塞,将会导致网络吞吐量下降,网络性能降低。通过流量测量不仅能反映网络设备工作是否正常,而且能反映出整个网络运行的资源瓶颈,这样管理人员就可以根据网络的运行状态及时采取故障补救措施和进行相关的业务部署,提高网络的性能。通过网络传播计算机病毒的种类越来越多,信息安全受到了普遍而严重的威胁,容易导致网络阻塞甚至瘫痪。因而对网络进行流量监测分析,可以建立网络流量基准,通过连接会话数的跟踪,源目的地址对的分析,tcp流的分析,能够及时发现网络中的异常流量,进行实时告警,保障网络安全。该系统针对复杂的网络流量分析,提出了一个基于多模式的流量采集技术。主要功能模块在内核中运行,极大提高了系统效率。对数据的处理采用了两层快取的方法,当有突发流量时,能够有效的保持数据的完整性。同时能够对监测网络的流量进行各种协议分析并统计出各个通讯主机当前带宽的使用排名。方便管理员查看与维护。当监测到网络中出现ip伪造、dos及的攻击ddos等,系统能够侦测到异常,并可以了解到该主机的详细使用情况,保障了网络的安全性。3 网络监测与安全保障系统分析31功能需求描述 在网络中,如果网络所接收的流量超过它实际的运载能力,就会引起网络性能下降。然而在实际的网络中,如果对网络流量控制得不好或发生网络拥塞,将会导致网络吞吐量下降,网络性能降低。通过流量测量不仅能反映网络设备工作是否正常,而且能反映出整个网络运行的资源瓶颈,这样管理人员就可以根据网络的运行状态及时采取故障补救措施和进行相关的业务部署,提高网络的性能。通过网络传播计算机病毒的种类越来越多,信息安全受到了普遍而严重的威胁,容易导致网络阻塞甚至瘫痪。因而对网络进行流量监测分析,可以建立网络流量基准,通过连接会话数的跟踪,源目的地址对的分析,tcp流的分析,能够及时发现网络中的异常流量,进行实时告警,保障网络安全。该系统针对复杂的网络流量分析,提出了一个基于多模式的流量采集技术。主要功能模块在内核中运行,极大提高了系统效率。对数据的处理采用了两层快取的方法,当有突发流量时,能够有效的保持数据的完整性。同时能够对监测网络的流量进行各种协议分析并统计出各个通讯主机当前带宽的使用排名。方便管理员查看与维护。当监测到网络中出现ip伪造、dos及的攻击ddos等,系统能够侦测到异常,并可以了解到该主机的详细使用情况,保障了网络的安全性。32目标系统要求本论文通过对网络流量的检测。将检测到的数据包信息导入到mysql数据库中,在mysql数据库中对数据进行管理和集中处理,根据捕获到的数据一场情况进行警告或者禁止处理保障网络的安全。本项目通过对网络进行流量监测分析,建立网络流量基准;通过连接会话数的跟踪、源目的地址对的分析、tcp流的分析,及时发现网络中的异常流量,进行实时告警,保障网络安全。根据网络流量在网络运行的各个环节中的关键地位,对网络流量进行研究,同时采取一定的方法,科学地测量和分析流量特征成为一项艰巨而有意义地工作。而fmonitor(flow monitor)流量监测与安全保障系统能够很好的解决校园网智能型网络监测和安全。该流量监测与安全保障系统基于linux平台,采用了层次化和模块化的设计。fmonitor核心模块为内核流量捕获模块和流量分析模块。内核流量捕获模块和流量分析模块同时运行在linux内核中;流量捕获模块采用基于libpcap的包捕获技术,实现网络上所有数据包的捕获,将采集到的数据包,通过在内存中建立数据表和通过mysql数据库结合的方式存储数据,提供给流量分析模块完成流量统计的任务。该系统针对复杂的网络流量分析,提出了一个基于多模式的流量采集技术。 主要功能模块在内核中运行,极大提高了系统效率。对数据的处理采用了两层快取的方法,当有突发流量时,能够有效的保持数据的完整性。同时能够对监测网络的流量进行各种协议分析并统计出各个通讯主机当前带宽的使用排名。方便管理员查看与维护。当监测到网络中出现ip伪造、dos及ddos的攻击等,系统能够侦测到异常,并可以了解到该主机的详细使用情况,保障了网络的安全性。4 网络监测与安全保障系统的总体设计实现4. 1数据包捕获模块分析该部分主要是基于流的抽样分析方法进行流量数据检测与处理。本文通过libpcap的数据包捕获机制。网络安全的主要技术之一是对网络数据包进行分析,而网络数据包捕获有是网络数据分析的基础,其速度和捕获能力直接影响到数据分析的效率和准确率。本文在linux平台上,研究了数据包捕获函数库libpcap并设计完成一个小型数据包捕获器。4.1.1以太网数据包监听过滤机制传统以太网的数据传输技术是ieee802.3标准定义的载波监听冲突检测技术(csma/cd)。以太网上的所有主机是通过物理总线拓扑或星型拓扑间接到一条共享信道上的。当某个主机要发送数据包时,ethernet协议将数据以ethernet数据帧格式发送到共享信道上。正常状态下各主机网络接口对读入数据帧进行检查,如果数据帧中携带的物理地址是自己的或者物理地址是广播地址,那么就会将数据帧交给网络层处理,否则,丢弃该数据包。可见,网卡只接受和自己的地址有关的信息包,网卡就必须设置成杂乱模式。linux下将网卡eth0设置成杂乱模式的命令如下:#ifconfig eth0 promise 。4.1.2 libpcap 介绍libpcap(libpcap for packet capture)即分组捕获函数库,是由劳伦斯伯克利国家实验室开发的独立于操作系统的一个在用户级进行实时分组捕获的api函数接口,其函数库中大约有24个通用的libpcap函数,2个win32中专有的函数。所有的libpcap函数均以pcap_为前缀。libpcap用于用户组层次的数据包接获工作,它为底层网络监控编程提供一个易于移植的应用框架。它还可以按照用户指定的要求(如:特定ip地址、特定网段地址、特定协议类型、特定端口等)对数据包进行过滤,只捕获用户指定的数据信息包。4.1.3数据包捕获的实现 要在linux平台上使用libpcap函数库来捕获网络中的数据包,首先要在系统中安装libpcap函数库,下载后需要先解压缩(此处下载的压缩文件是libpcap-0.7.1.tar.gz),然后把它安装到系统中才可以实用。步骤如下 #tar zxvf libpcap-0.7.1.tar.gz #,/configure #make #make install为实现数据包捕获,实用vi编辑器编写一个c语言文件(如:datacap.c),该文件的变成流程如下图所示。其中利用pcap_compile()函数和pcap_setfilter()函数编译和设置过滤策略。经过滤,pcap_compile()函数只能捕获满足过滤策略要求的网络数据包。为显示捕获的数据包详细信息,我们可以采用网络数据包分成协议处理方法,对捕获的数据包按照协议格式进行反的解析。callback()函数是为了实现分层解析处理功能,如图4-1、4-2。图4-1 数据包捕获流程图图4-2 网络监听流程图 数据包捕获文件datacap.c的部分关键程序代码如下:viod capture(char*filterstr) char errbufpcap_errbuf_size; pcap_t *descr; char * interface=capture_interface; bpf_u_int 32 maskp; bpf_u_int 32 netp; struct bpf_program fp; if (“pcap_lookupnet():%sn”,errbuf); exit(1); descr =pcap_open_live(interface,bufsiz,1,-1,errbuf); if(descr=null) printf(“pcap_open_live():%sn”,errbuf);exit(1);if(pcap_setfilter(descr,&fp)=-1)fprintf(stderr,”error setting filtern”);pcap_close(descr);exit(1); if(pcap_loop(descr,-1,callback,null)0) printf(“pcap_loop:%sn”,pcap_geterr(descr); pcap_close(descr); exit(1); 数据爆捕获设计完成后,要使libpcap功能函数起作用,还需要实用将datacap.c文件编译成可执行文件,并将把libpcap函数库编辑到目标文件中,方法如下:#gcc _ o datacap.o datacap.c lpcap。此处实用linux自带的gcc编译工具把数据包捕获模块的c语言文件datacap.c编译成可执行的二进制目标文件datacap.0。要运行datacap.o文件可以在linux终端窗口中使用下面命令:.datacap.o。有些场合,我们需要设计一个捕获程序并要求该程序在系统启动起来是,就能自动运行,而不需要管理员的干预,要实现这个目的,可以采用下述方法实现。首先将datacap.o文件放在/etc/rc.d目录下,然后用vi编辑器打开并编辑/etc/rc.d/rc.local文件(该文件在系统启动时会自动执行),在该文件末尾加上sh/etc.rc.d/datacap.o,这样系统启动时就可以自动执行数据包捕获程序。4.1.4 本部分总结高效而准确的网络数据包捕获分析是进行网络安全检测和网络流量计费的基础和保障。随着网络的发展,网络数据包捕获分析必将收到越来越多用户的重视,拥有关法的应用前景。本文对网络数据包捕获机制进行研究,分析了传统以太网数据包监听过滤机制和libpcap分组捕获函数库,并在linux平台上设计实现了一个小型的网络数据包的捕获分析器,该捕获分析器运行简单、高效、准确。并能实现数据包级捕获组件与netflow接受组件4.2数据包分析模块设计该模块采用基于多模式的流量采集方式实现数据包及捕获组件与netflow接受组件4.2.1 netflow技术 netflow是cisco公司提出的基于cisco ios系统的一种应用。它用于提供网络设备上数据包形成的“流”的统计信息,并逐渐演变成为网络流量统计和安全分析的主要手段。目前利用:netflow可以实现网络流量监测,用户应用监控,网络安全,网络规划以及流量计费等功能。 netflow有两个核心的组件:netflow缓存,存储ip流信息;netflow的数据导出或传输机制,netflow利用此机制将数据发送到网络管理采集器。(1)流(flow)的定义 一条流由一个源主机与一个目的主机间的单方向传输的网络数据包组成,其中,源和目的主机由各自的ip地址和端口号来标识。一条流一般由以下七个关键字段惟一标识: 源地址 目的地址 源端口号 目的端口号 第3层协议类型(如tcp,udp) 服务类型 入逻辑接口标示符(2)流(flow)格式 启动netflow的设备会输出其缓冲区里的信息,以udp包的形式传送给netflow流量采集器。包由包头和若干流记录组成。常用的netflow输出包格式共有5个版本,它们分别是version 1,version 5,ver-sion 7,version 8和version 9,其中v5是最为流行和成熟的版本,目前得到最广泛的使用。最新的v9已经被列入ietf的标准,并有待进一步研究和规范。v9采用了模板技术与流记录相结合的方式,使netflow输出包的格式具有动态和可扩展的特性。netflow v9的输出格式主要由三部分构成: 包头部(packet header):包括版本号、包中数据流总数、系统时间、数据流序列、数据源id等。 模板流集(template flowset):包含一个或多个模板,模板是用于描绘数据流中各个数据段的含义,可以在路由器上根据需要自行设置模板。 数据流集(。data flowset):包含多个数据流,每个数据流集通过模板id对应某个模板。数据采集端根据模板来解析数据流。4.2.2 netflow流量采集与聚合(1)系统概述 根据netflow的特点,设计并实现了一个网络流量监测系统,其系统结构如图4-3所示。图4-3 netflow网络监测系统图当netflow采集器接收到从路由器发送来的net-flow数据包后,采集器将进行数据包的解析和数据流聚合,形成多种适合统计分析需要的数据,再分门别类地存入数据库。分析器则根据前端不同的查询请求,依照一定的查询策略从数据库不同的表中提取相应数据进行分析展现。 本系统的后台采集器和聚合处理部分用java编写实现,数据库采用开源的mysql,而netflow流量分析利用tomcat服务器通过web方式展现,前台部分用jsp编写实现。工作的重点即在于数据采集、数据聚合以及数据库设计部分。(2) netflow流采集 采集器的设计 数据采集模块是整个系统的基础。由于。netflow数据流量非常大,为防止丢包系统采用缓冲区和线程池结构,如图4-4所示。图4-4 netflow流量采集模型当采集器监听到一个netflow数据包时,将该数据包接收到缓冲区,并从包解析线程池中取出一个线程,根据相应的netflow的报文格式解析出数据流信息,将该原始流信息放入缓冲区,然后将原始流存入数据库,同时采用相应的聚合策略聚合原始流生成聚合流并存入相应的数据库中。 netflow数据包接收与解析 由于netflow数据是借助于udp数据报来传送,因而倘若后续的处理速度跟不上数据包到达的速度,则会出现严重丢包的现象。为解决高速大流量数据的及时接收及较低丢包率问题,采用了多线程的方式来实现。用独立的两个线程分别完成数据接收和解析操作:接收数据的线程在特定的ip地址监听相应的udp端口,接收到的数据暂存在缓冲区中;解析线程从缓冲区提取数据,按照相应的报文格式进行解析。由于接收线程和解析线程共享同一个临界资源,即接收的缓冲区,需要对临界资源进行加锁操作。 下面为部分实现多线程采集的java代码实例,其中packet为接收的netflow数据包对象,linkedlst为linkedlist容器,利用synchronized进行线程间同步 接收线程netflow流聚合 netflow的原始数据数据量非常庞大,保存每一条流数据的原始记录将会使对数据进行查询分析时产生效率低下的问题,在绝大部分应用中也没有必要把数据粒度设计得如此之小。所谓流量聚合,是指对符合netflow数据格式的原始流记录根据一定条件进行流量合并,实现多条流合并为一条的过程,以实现原始流的压缩整理。(1) 聚合策略 流量聚合有三个关键要素:聚合条件(f)、时间粒度(t)和聚合项(c)。满足相同聚合条件和时间粒度的流进行流量叠加,并保留聚合项。三元组聚合策略:,其中: 按照实际流量分析的需要,从f,t,c中各取出一个值组成一个聚合策略。对于t的粒度要根据实际监控的时间长短和监测精度来设置,一般来说t3 min适合于当天实时流量的监测;t30 min用于一周流量的分析;t3 h用于一月内流量的分析。(2) 聚合的实现 对于一个新采集的原始流,必须能根据其所携带的聚合条件信息快速匹配是否已存在与其相同聚合条件的聚合流,若有则做流量叠加,若没有则创建一条新的聚合流。hash表具有从key快速映射到value的特点,这种特点对于实时性较高的聚合非常有意义。图4-5为流量聚合的iash表设计。图4-5 流量聚合hash表设计在图5中聚合条件(f)作为key,聚合项(c)作为hash函数的映射值,时间粒度(t)作为hash表导出到数据库的时间。这样可以满足实时流量监测的需要,同时也压缩数据减少存储空间,提高数据的查询效率。4.2.3 实际netflow流采集与流量监测 在本系统设计的数据采集器的支持下,系统数据库为前端分析提供了充足且多样化的数据准备,前端程序只需通过简单的查询语句即可得到所需的数据集,简化了查询的工作量。利用该系统采集netflow数据包50 000个,时间持续约7 h,时间粒度为3 min,主要检验丢包情况,以及聚合后压缩效率。这次采集无丢包发生,表1为该系统采集的数据结果。 图6是系统由所采集的数据生成的该时段的流量监测图4-6。图4-6 局域网某时段网络流量4.2.4结 语 netflow数据流的海量特征使得服务器程序的效率至关重要,因此基于netflow的流量监测的主要任务是如何根据应用保存最重要的网络流特征以及如何更高效地实现数据检索。基于netflow特点,提出了一套适用于大流量网络的流量采集与聚合存储方案。流量采集通过多线程和缓冲区机制实现,有效提高了流量采集的可靠性。采集的原始流经聚合,并通过合理的分级存储策略进行存储组织,为前端的数据分析提供了全面支持。本系统在实际应用中取得了良好效果。下一步还将对采集和多级聚合存储方案进行改进,以丰富系统对网络流量统计分析功能,并力争为异常流量分析提供较为完善的数据支持。具体如图4-7。图4-7 netflow流量分析系统结构4.3数据管理模块设计4.3.1 mysql的安装本模块采用mysql数据库的设计,实现对数据内部物理调整,并选择合理的存取路径以提高数据库访问速度。(1)mysql 数据库的安装mysql是一个可以跨平台的数据库系统,一个真正支持多用户、多现成的sql数据库系统,也是具有客户服务器体系结构的分布式数据库管理系统。同时,也是linux系统中实用最为简单的数据库系统,安装、实用和管理都较为简单,且数据库系统的稳定性也相当不错。要安装mysql必须获得它的安装文件,可以再linux安装盘获得,几乎所有的linux发行版都内置了mysql数据库。如果不知道系统是否安装了postgresql或已经安装了何种版本,可以通过实用下面的命令进行查询。root9 zq # rpm qa | grep mysql 程序运行结果如下。 root zq #rpm qa | grep mysqlmysql-server-5.0.22-2.1.0.1mysql-connector-odbc-3.51.12-2.2mysql-5.0.22-2.1.0.1libdbi-dbd-mysql-0.8.1a-1.2.2上面表示mysql服务器已经安装,版本为mysql-server-5.0.22-2.1.0.1。假如linux系统还没安装mysql服务程序,mysql服务程序在rpm安装包文件可以通过red hat enterprise linux 5 系统的安装盘(dvd版第一张)进行安装,加载光驱后在光盘的server目录下找到mysql对应的安装包文件进行安装。要想用数据库,必须要启动数据库服务,可以通过一下方式来启动postgresql服务。实用mysql脚本启动postgresql。root zq #/etc/init.d/mysqld start若希望mysql在下次系统启动时自动启动,可以运行ntsysv命令,在打开的service菜单中将mysql选中。4.3.2 数据的导入和导出(1)mysql的命令行模式的设置:桌面-我的电脑-属性-环境变量-新建-path=;path/mysql/bin; 其中path为mysql的安装路径。(2)命令行进入mysql的方法:c:mysql -h hostname -u username -p按enter键,等待然后输入密码,这里hostname为服务器的名称,如localhost,username为mysql的用户名,如root.进入命令行就可以直接操作mysql了。(3)从数据库导出数据库文件:将数据库mydb导出到e:mysqlmydb.sql文件中:打开开始-运行-输入cmd进入命令行模式c:mysqldump -h localhost -u root -p mydb e:mysqlmydb.sql然后输入密码,等待一会导出就成功了,可以到目标文件中检查是否成功。将数据库mydb中的mytable导出到e:mysqlmytable.sql文件中:c:mysqldump -h localhost -u root -p mydb mytable e:mysqlmytable.sql将数据库mydb的结构导出到e:mysqlmydb_stru.sql文件中:c:mysqldump -h localhost -u root -p mydb -add-drop-table e:mysqlmydb_stru.sql/-h localhost可以省略,其一般在虚拟主机上用。4.3.3管理系统的设计网络管理协议(simple network management protocol,snmp)的体系结构是围绕着一下四个概念和目标进行设计的:保持管理代理的软件成本尽可能低;最大限度的保持远程管理的功能,以便充分利用internet的网络资源;体系结构必须有扩充的余地;保持snmp的独立性,不依赖于具体的计算机、网关和网络传输协议。在最近的改进中,又加入保障snmp体系本身安全性的目标。实用snmp进行通信的实体被称作snmp应用实体。snmp代理与一系列snmp应用实体的集合称作snmp共同体(snmp community)。标示每一个snmp共同体的字符串被称谓snmp共同体名。如果snmp应用实体接收到的snmp报文源自与之同处一个snmp共同体的snmp应用实体,则该报文被称作可靠snmp报文。鉴别报文在snmp共同体中是否可靠的规则集合被称作鉴别机制。利用一种或几种鉴别机制鉴别一个snmp报文是否可靠的访问被称作鉴别访问。与特定网络元素相关的mib对象子集被称作该网络元素的snmp mib视图。(1)设计的目标和原则系统应具有良好的可移植性和跨平台性,在系统的开发中不需要考虑特定的操作系统和特定的运行环境。不同的用户有不同的操作权限,在系统中可以简历不同层次的用户组,在登录到系统后,不同的用户可以看到不同的视图。规范的数据库设计,减少数据冗余,合理的数据库设计有利于降低有数据的存储空间和提高体统的执行效率。本系统提供了同意的图形用户界面和有强大的数据库管理功能。实用mysql数据库配合php程序存储一些变量数据并对变量数据进行调用,如:主机名、主机ip、snmp团体名、端口号、模板信息等变量。实用rrd环状数据库管理网络流量数据和生成力量分析图标。在图像管理上,系统采用了树状结构的查看界面,对收集到的网络性能数据以图形的方式表现出来,通过不同的颜色的曲线来反应不同的性能数据。在用户管理上,能对用户的权限进行细致的划分,不同用户具有不同的操作权限和用户视图。通过设置阀值的方式,以图形颜色的变化和声音来对异常流量进行预警,实现网络流量的负载均衡。系统总体架构采用分层的方法,将整体分为三层:第一层是用户界面模块,第二层是功能模块,第三层是通信模块。根据系统的不同功能及其面向对象的不同又分为9个模块。 系统的总体架构如图4-8所示。图4-8 数据库系统的总体架构(1) 系统的工作流程系统运行的主要流程如下图所示,简要说明如4-9:图4-9 系统通讯流程图snmp通信模块定时向snmp设备发送网络数据采集令,snmp设备将相关数据反馈给snmp通信模块。snmp通信模块将采集到的数据发送给图形处理模块,图形处理模块按相关规则整理好数据并将其存放到环状数据库中。在图形处理模块的系统用户通过图形的用法如下:系统用户通过图形用户接口程序查看某台设备的流量等运行情况。图形用户接口程序向mysql数据库查询该设备的主机名、ip地址、snmp团体名、端口号等信息。图形用户接口程序利用刚才查到的该设备的相关信息在图形处理模块中查询,图形处理模块生成该设备性能情况的图形。图形用户接口程序将该设备运行情况的图形返回给用户功能模块的划分系统的设计遵循软件工程的规律,运用模块化的设计思想,非常方便以后对软件的修改和维护。本系分为6大模块,分别是用户管理认证模块、设备管理模块、接口管理模块、流量管理模块、流量分析与图标处理模块和流量一场处理模块。本文重点介绍数据分析与图形处理模块图形处理模块主要是饿瘦来自流量管理模块的接口流量等网络性能数据,并以rrd环状数据库格式存储。在用户需要查看某个或某些设备的性能状况时,按照用户的要求将数据以图标的方式现实给用户。以方便用户能直观的了解设备乃至整个网络的隐形情况。本系统不仅会每5分总就自动生成所有的bmp图像,而是仅当用户发生请求时,才从rrd数据库里取出数据,然后调用rdd数据库的绘图函数,生成bmp图像并现实在前台。这种方式打打的增加了系统5分钟内可处理的端口个数。除此以外,前台还提供了丰富的历史查询功能及权限管理功能。由于rrs能够管理大的数据量,在其中可能存储多年的详细记录,可以供网络管理员分析实用。系统可以长期存储收集道德网络流量数据,并可根据用户的要求,以图标的方式表现出1年、1个月、1个星期一级任意时间短的网络流量状况。snmp是一种广泛应用于tcp/ip网络的管理协议,php是具有良好跨平台的网络变成语,这两者的结合为网络管理提供了强大的技术支持。本系统实用的操作系统为linux,web服务器为apache,编程语言为php,数据库系统为mysql,这些开源团建可以说是网络应用开发的最佳组合,所以实用这套开源系统平台开发的应用系统可移植性好、执行效率高、实时交互性好、易于修改和维护,并且极大的降低了开发成本。实用本系统可以对网络中的网络设备和服务器等一切基于snmp的网络硬件进行监控,通过定时采集网络设备各端口的流量来得到该网络设备的总流量,对于服务器而言,则是定时采集服务器的cpu、内存、系统负载、网卡流量等数据,来全面了解网络的运行情况。然后系统把采集的数据进行整理、加工并存储于rrd环状数据库中,根据用户的需要对流量数据进行分析,以图标的方式展现出来,比如可以展现给用户每小时、每天、每月、每年网络流量的分析图表,可以同济任意时间段流量的最大值、最小值、平均值等等。网络管理者可以对网络短期和长期的性能进行分析,从整体上了解网络的运行情况,合理实用这些网络流量数据资料对发现网络运行中的问题、网络的升级改造都有重要的意义。对于网络流量的监控还可以有效的安排网络中大量数据的传输工作,通过掌握网络流量的高峰期和低谷期,使大量的数据的传输工作避开网络流量的高峰期,从而可以提高网络的利用率,防止大量数据的传输工作导致的网络拥塞问题。进而保障网络的安全性能。4.4 数据包安全模块设该模块主要同过以上对数据的采集、分析、管理、处理等根据捕获到的数据异常情况进行警告或禁止处理来保障网络的安全。4.4.1 网络异常分类网络流量异常的产生有多种原因造成,总结起来产生网络流量异常的主要原因有:(1)网络设备自身发生的故障,例如在网络中由于路由器或者是交换机的故障导致网络拓扑结果的变化或是网络的中断都会发生网络流量的变化,导致某些链路的流量异常增加,某些链路流量异常减小。在校园网内部结构的it支撑系统包括多种支撑服务,如数据库服务器,邮件服务器,web服务器等等,当这些服务器出现故障的时候也会导致网络流量出现异常的变化。(2)当网络中存在恶意攻击的时候,网络也会出现异常流量,例如当it系统中某台主机感染了蠕虫病毒,导致该主机疯狂的进行主机探测,这时候网络中会出现具有蠕虫病毒特征的icmp ping 包和 tcp syn,fin , rst及ack包。当校园网内部网络中的部分主机感染这种病毒的时候,网络就会大量充斥着这种包,导致其他业务数据丢失,网络流量过载,或是网络拥塞。根据网络异常流量引起的不同原因可以把网络异常分为三类:网络故障引起的异常、瞬间大量访问异常和网络攻击异常。网络故障异常是指由于网络设备的故障或是连接到网络上的承载一些关键业务的服务器的故障,从而引起的网络流量异常。例如在校园网内部构建的it支撑系统中,由于某个运行一项支撑服务的服务器发生故障,导致这项服务暂停,可以很清楚的看到企业网络由于邮件服务的停止会使网络流量大幅度下降,导致流量的异常减小。再例如校园网内部网络由两个核心路由器组成和外界信息交互的消息转发,当某一个路由器发生故障的时候,另一个路由器上的端口会比平时接到更多的数据发送和接受的请求,有可能导致网络过载和拥塞,从而使得网络服务质量变差,关键业务数据丢失等等。这种情况会导致观测路由器端口转发的数据流量会突然大幅增加,导致流量异常变大。瞬间大量访问异常是指由于在短时间内对网络中某个服务器请求的大量发起导致服务器过载,业务不能处理,响应不及时等情况导致的异常。这种异常跟网络故障异常引起的网络流量异常增大有相似的地方,但是它们属于不同的分类。网络故障导致的网络流量异常增大是由于硬件设备的故障使得网络拓扑结构的改变从而引起的异常,而瞬间大量访问则是由于用户行为的变化导致了网络流量异常,例如,过年期间的短消息发送量较平时会有几倍甚至几十倍,几百倍的增长,这种可以预期的用户行为导致网络异常和硬件故障引起的异常需要不同的区分和解决。网络攻击异常是指网络中出现恶意的对网络中某个目标进行攻击。例如dos攻击和蠕虫病毒端口扫描攻击。这种网络异常情况的出现是由于校园网内部网络感染病毒造成。当部分主机感染者个病毒以后,会导致这些主机大量不断向内网中其他主机发送端口扫描数据包,由于网络的承载设备不能区分网络中的业务组成所以会将病毒饱和正常的业务数据包做相同的处理,即在网络设备负载过重的情况下丢弃大量的数据包。当这种情况出现以后,业务质量将会大幅度下降,网络会由于大量存在于网络中的病毒数据包而拥塞和过载,严重的损害了校园网和业务的运行。4.4.2 异常处理保障网络安全(1)ddos攻击处理ddos早已成为网络公害,他通过暴力手段淹没目标网络,从而使害者无法处理合法的请求。在多种表现形式中主要是流量拥塞、贷款消耗、反应缓慢和应用中断等。一个比较完善的ddos攻击体系层次结构如图4-10所示:图4-10 ddos攻击体系层次结构dos造成的异常主要是在服务器端,是服务器拒绝服务。对于网络带宽的影响也集中在服务器端,特别是ddos攻击时很可能将服务器端的带宽耗尽。dos和ddos攻击的报文只有一些比较特殊的容易被拦截,像制造错误日志、某些脚本攻讦或者分布式攻击中单纯的syn攻击等,与正常报文有很多相似之处,分离出来较困难。不同时段的syn数据包的出现频率是相似的。当目标机受到攻击时,syn数据包的出现频率会产生明显变化。当ddos攻击一个目标主机时,会出现明显超出该网络正常工作时极限流量的现象;网络连接中大量不属于正常连接通讯的茶厂icmp、tcp、udp的高序列端口数据包会出现;布尔拟定的边开链接和可以连接增多,这主要是因为被控主机控制傀儡主机进行对目标主机的无效连接增加所致。本文根据netflow的v5原始数据统计计算流的多维属性信息;然后根据其特征和端口扫描、ddos网络攻击的异常流量特征分析比较,研究异常流量的时空特性,主要包括计算流量特征属性、分析流量统计结果、给出实时检测算法、显示告警信息。如图4-11。图4-11 攻击程序流程图(2)ip伪造处理当检测系统检测到流量异常时首先分析来至这一异常的ip然后进行端口扫描异常检测。在局域网中实用地址为20.220.130.120,对局域网中的地址主机进行端口扫描。由于该目标机承载了一个轻量级的web服务器,所以它的流量和流的数目要高于源主机。检测服务器的80端口为可信目标地址和端口,用户终端和被攻击者20.220.230.210为可信源主机。舍源地址端口发送的数据包的大小为(3060b),目的地址和端口的分布宽度(300+),数据包的发送频率最低值为0.25,最大值为+,统计时时间间隔为5min。得到的可能是进行端口扫描的源地址端口对总共有106对。再将这些地址和端口对进行可信源过来可以得到疑似端口扫描的告警源地址端口。该实现的架构图如4-12图4-12 某时段的网络流量图(3)网络异常报警系统模型 基于netflow的网络异常报警系统模型如图4-13所示:图4-13 基于netflow的网络异常报警系统模型整个系统包括三个服务器:netflow数据采集服务器,数据库服务器一级数据处理服务器,系统功能实现时由网络管理人员对路由器进行配置,将采集到的数据俺netflow的格式发送到指定的netflow数据采集服务器,netflow数据采集服务器收集由路由器发送来的netflow数据包,并将数据分别发送给数据处理服务器,数据处理服务器对netflow数据进行处理,其中,异常流量检测模块负责网络异常流量的检测,当发现异常流量时将调用一场报警处理模块;数据发送模块将处理后的数据发送到数据库服务器。目前,基于网络流量的网络报警机制主要是设定一些阀值,根据当前网络信息流的统计量与阀值的比较来分析判断网络的异常状况。如:单位时间内的办连接的技术、信息流包个数、单位时间内flows个数等等,如果过多或超常即可基本确定为攻击行为;而常见蠕虫攻击行为可通过其特征值的统计量来判断,当数据处理服务器中的异常流量检测模块检测到网络中异常发生时,则调用一场报警处理模块,报警并采取相应的处理。本文提出几点处理方式:1)关闭端口断掉故障主机:由内网到外网的网络异常,关闭原ip对应的故障主机,介入交换机端口;2)防火墙规则阻断故障主机:故障主机由外部共计内网,则在防火墙访问控制策略中添加相应阻断rules,阻止外部攻击源到内网的通讯;3)故障主机端口降速:内网故障主机在反生网络异常行为是,由于接入端口关闭而断开网络,使得用户无法发现自己的机器故障的相应报警信息,为此采用降速策略,使故障主机连接到网络的速率降到很小且网络访问重定向到报警主机的web页面而提醒用户,用户即时采取安全措施或停止攻击后,恢复原连接状态。三种处理方法的比较:第一种比较简单且容易实现,但是不符合网络应用服务的基本要求。第二种时间比较难,一般的硬件防火墙不会根据网络使用情况而自动添加策略;在本文所述系统实施过程中,采用的是在linux下义iptables+mysql为构架的防火墙上实现,功能强且实现起来比较简单,还可以将及时通讯中iptables的log进行分析。第三种方法主要实现降速和定向报警的功能,其算法很

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论