前言:想要写出一篇引人入胜的文章?我们特意为您整理了分布式网络安全审计系统设计实现范文,希望能给你带来灵感和参考,敬请阅读。
摘要:随着近年来互联网应用的高速发展,信息安全已经成为电子商务、金融系统、或企业内部不可或缺的一部分。网络安全审计系统作为保障内部网络信息安全的重要工具,对网络违规行为、网络拥堵、信息泄露、数据窃取和篡改、不良信息传播等问题进行严密审计和监控,记录现场数据并发出警告。但近几年来,SSL(安全套接层)协议等安全传输和加密技术逐渐普及,原有的审计监控系统无法审计加密后的信息。并且随着海量存储和高带宽传输技术的快速发展,以及规模分布式网络的兴起和广泛应用,传统的集中式网络安全审计方式由于其结构简单、系统安全性差、扩展性有限等原因,导致审计时大幅增加CPU和I/O负担,无法承担数据量越来越大的审计任务。为此,研发分布式网络安全审计系统具有非常重要的意义。
关键词:网络安全审计;审计和监控;分布式
1引言
该文的研究目标主要是针对分布式网络的实际需求,设计实现分布式网络安全审计系统,能够发现入侵行为、监控内部网络使用人员的网络行为等,对潜在非法入侵者起到威慑和警示、能够测试系统的控制情况,及时调整相关政策、能够协助管理员发现非法入侵和潜在的安全漏洞,进而保障网络安全和信息安全。基于此,分布式网络安全审计系统要求在不改变网络配置、不影响网络运行效率的前提下,对内部网络使用人员的网络行为和访问用户进行合理有效的审计[1]。
1.1系统需求分析
分布式网络安全审计系统要求在使用中不改变网络配置,不严重影响网络运行效率。资源消耗:不能影响正常用户的日常操作,对CPU的占用率小于1%;对内存占用小于50M;对磁盘占用小于100M。时间效率要求:响应时间小于5秒,数据的转换和传送时间小于2秒。灵活性的要求:运行环境适应主流Linux操作系统,包括Ubuntu、Fedora、CentOS、RedHat等。后续改进:系统的自我保护功能能够进一步完善,并且提高程序鲁棒性,能够对多种异常操作进行响应,改进程序BUG,提高系统稳定性。
1.2系统可行性分析
分布式网络安全审计系统属于商业系统,为了使软件能够正常运行并且具有较高的可靠性、易用性、高安全性等特性,主要特性如下所示:(1)界面简洁,配置简单,不改变网络配置和运行效率。(2)能够适应当前的主流Linux操作系统,包括Ubuntu、Fedora、CentOS、RedHat等。(3)软件经过多次调试,可靠性大大提高。(4)经过RSA和AES混合加密,保证了通信的安全性、可靠性和不可改变性。分布式网络安全审计系统在设计、实现以及测试过程中,只需要有效的网络环境、开发机器、学校机房测试环境等,不需要其他昂贵的软件和硬件设备,能够顺利实现并进行有效的测试。
2系统设计与关键技术研究
分布式网络安全审计系统采用C/S架构,包括控制中心和Agent主机,采用集中式监管,分布式控制的框架。控制中心负责监控网络拓扑、审计查询、异常监控、系统设置等功能。Agent主机负责数据采集、数据审计等功能。审计策略库由控制中心分发,由Agent主机执行,Agent主机对于各种违规行为进行记录,控制中心从主机处获取审计信息,根据审计信息进行审计以及策略的调整。首先,Agent主机向控制中心发送初始化信息,包括主机的IP和子网掩码。控制中心收到该信息后,采用启发式拓扑算法生成网络拓扑。并且不断重复这个过程,监控网络拓扑图的实时动态变化。当控制中心完成网络拓扑构建之后,就可以对整个系统进行管理和控制,并且启动分布式网络审计功能。审计开始时,Agent主机初始化任务列表,任务列表描述了Agent主机的数据采集任务和数据审计任务。初始化完成后,Agent主机之间使用分布式协作算法,快速均衡采集和审计处理任务,实现分布式系统的均衡负载。数据采集和处理模块实现了数据包抓取、协议分析和数据还原功能。数据审计模块实现了关键词匹配等算法对网页内容进行审计。当数据审计模块匹配到不良信息和非法内容时,数据审计模块发出警报,控制中心迅速阻断Agent主机与远程服务器的数据交换。另外,本系统还能通过SSLProxy对SSL加密的数据进行审计和拦截。
3分布式网络安全系统实现
3.1系统开发环境
本系统基于Linux平台,采用QT集成开发环境予以实现。开发的详细环境如表2所示。
3.2系统总体实现流程
分布式网络安全审计系统包括控制中心和Agent主机,控制中心负责监控局域网网络,开启服务等流程,Agent主机负责内容审计、流量监控、SSL加密会话信息审计等工作,控制中心和Agent主机采用Socket方式进行网络通信。控制中心运行程序后,开始监听,对从Agent主机收到的信息进行处理,形成网络拓扑图。并实时准备接收其他信息,如算法信息,审计得到的结果等。Agent主机运行程序后,自动开始流量统计功能,并设置SSL以审计加密信息。输入控制中心目的IP后建立连接,并开始审计工作。分布式算法首先进行任务分配,本机读取分配信息后,对分配的任务进行审计工作,并将审计的结果传到控制中心,不断循环。同时,算法规定每隔10秒进行一次任务分配量的更新。系统流程如图1所示。
4系统测试
4.1测试环境搭建
测试环境如表1所示。在每台客户机上配置客户端,另外利用主机当作服务器端和管理员机器,IP分别为192.168.1.1和192.168.1.2。测试的拓扑结构如图2所示。
4.2测试方案
本系统的测试方案主要包括:功能测试,压力测试,安全测试[3]。
4.2.1功能测试(1)动态拓扑生成使用多台不同网段客户端在不同时间接入网络,并在不同时间离开网络,测试服务器拓扑生成的响应时间及准确性。与服务器距离不同的网段的机器接入或离开网络时,拓扑的响应时间不同。距离服务器远的机器接入或离开网络,拓扑的响应时间长;距离近的机器,拓扑的响应时间短。当某台机器接入网络后,拓扑能否正确获得其沿途经过的网络信息。当某台机器离开网络后,可能会产生一些网段没有机器连入网络,是否能正确识别这些网络,并且在拓扑中删除。当网络主机频繁接入或离开时,拓扑是否依然能够正常显示,是否会出现系统崩溃状态。(2)采集策略分发在客户端运行之后,服务器向客户端发送不同的审计策略,测试客户端接收策略的响应时间及准确性。当客户端运行先前的审计策略的时候,是否能及时接收并响应新得到的审计策略。当服务器端频繁发送审计策略的时候,客户端是否能及时响应并接收最新的审计策略,是否能判断哪个是最新的审计策略。(3)网页恢复不同客户端在不同或相同时间浏览不同网页时,测试能否恢复出客户端浏览的所有网页,测试恢复网页的效率及准确性。当客户端浏览网页时,能否正确恢复网页的文本信息、JS脚本信息、图片及压缩后的相关信息。当客户端同时浏览多个网页时,能否区分这些同时到达的网页信息,能否正确的将这些网页数据包重组,并分开保存。当多台机器同时浏览相同网页时,能否判断出相同连接,并只恢复一次,不会出现冗余信息。当多台机器同时浏览不同网页时,能否正确重组数据包,将网页各种信息正确恢复,能否区分开客户端对应的网页信息。(4)SSL审计与网页恢复类似,客户端在不同时间浏览https网页,测试客户端效率及准确性。当客户端浏览一个SSL网站时,SSLProxy是否能动态装配正确的证书。当客户端同时浏览多个SSL网站时,SSLProxy是否能正确同时装配所有网站的证书。当证书装配完成之后,SSLProxy能否恢复网页的全部内容,包括:文字信息,图片信息,脚本信息等。同时浏览多个SSL网站时,能否同时恢复多个网页信息。(5)知识库同步管理员在不同时间添加或删除知识库内容,查看客户端知识库的更新效率及准确性。当管理员添加、删除一条、删除多条知识库的时候,距离服务器不同的客户端更新知识库的响应时间和准确性。当管理员频繁更新知识库时,客户端响应知识库更新的响应时间,及是否所有的客户端能够及时准确的更新。(6)内容审计不同客户端同时浏览网页,并且将每台客户端的流量大小做出区分,在不同时间内,改变每个客户端流量大小,测试分布式协作算法的效率、内容审计效率及内容审计准确性。改变不同客户端的CPU利用率和内存利用率,查看分布式协作算法的效率,能否及时重新分配审计负载。客户端浏览不同网页,测试客户端能否利用知识库正确识别出非法信息。客户端浏览大量网页,测试客户端是否能够利用知识库正确识别出非法信息,并测试系统分析时间及运行稳定性。[4]
4.2.2压力测试(1)流量测试流量测试将对系统数据采集、协议分析的效率进行测试。在不同等级的流量情况下,统计丢包率。(2)分布式规模测试本系统由多台Agent主机构成了分布式结构,主机在数据采集、数据审计模块实现分布式协作。为了测试系统对于不同主机数目的网络环境,在执行分布式计算任务时,有何种性能变化,以及稳定性会发生什么样的改变。测试将依次使用个数递增的主机数目,加入到分布式网络中,再测试系统性能和稳定的变化。不仅要考虑主机个数的影响,对于每台主机,当开始执行协同工作时,就需要利用分布式协作算法,算法的性能也能影响到整个系统的性能。因此,在主机数目相同的情况下,随机改变每台主机的初始化审计任务。执行测试,观察审计系统的处理性能(3)控制中心压力测试使用多台主机连接,测试控制中心Web服务的负载情况,QT界面响应时间。
4.2.3安全测试(1)数据库口令安全:口令安全包括口令长度及口令多样性。口令长度必须多于8位,口令必须包含字母、数字及符号。(2)知识库操作安全:管理员添加知识库时必须按照提示添加,测试添加操作是否成功。(3)系统操作安全:系统中有些可以手动输入的文本框,测试如果用户在文本框里输入不合法的内容,是否提示错误,防止SQL注入等攻击.
4.3结果分析
对于功能测试,大部分功能比较满意,只是在网页恢复时丢失率过高,这部分需要进一步改进。对于压力测试,数据采集时由于流量过大,产生了一些正常的丢包行为,但丢包率较低,可以接受。在规模测试方面,随着网络规模的增加,分布式的优点越来越明显,在庞大的网络流量和审计任务面前,每个单独系统能够平衡网络负载及审计任务,此时系统占用资源反倒略有降低。安全测试方面,主要参考了一些国家安全标准,在功能上强制要求用户做到一些标准化的操作。因此,对于通常的SQL注入,重放攻击等,均无法对系统造成破坏。
5总结与展望
5.1主要工作总结
本文针对用户的实际需求,在现有网络安全审计技术研究的基础上,提出并设计了分布式网络安全审计系统。它为用户提供了位于防火墙、入侵检测系统后的第三层保护屏障。本文围绕分布式网络安全审计系统展开了以下研究工作:(1)对现有网络安全审计系统进行研究,分析现有模型的不足。以此为基础,提出了分布式网络安全审计系统,该系统将分布式结构、SSL加密信息审计等技术予以结合。(2)在网络安全审计的关键技术研究基础上,对该系统进行需求分析和技术可行性分析。以此为基础,提出了系统总体设计方案,完成各子系统和关键模块的设计与实现。(3)介绍了分布式网络安全审计系统的开发环境,展示了关键模块的实现代码和用户界面,从功能、压力、安全等方面对系统进行了全面的测试,提供了相关测试数据和分析。
5.2展望
本文实现的分布式网络安全审计系统还存在一些不足,后续的研究方向主要有以下几个方面:(1)本文针对应用层协议的还原,只实现了HTTP协议,对SMTP、FTP等协议的还原工作并未完成,对应用层协议的还原的完善工作是下一步研究的重点内容之一。(2)网页还原时,虽然能够还原文本内容,但是对于图像的还原还在调研阶段,完成图像还原功能也是后续重点研究内容之一。(3)本文在测试网页还原功能时,发现数据包丢失率过高,后续工作应该找到丢失率高的原因。改进算法,将数据包丢失率降低到合理范围。(4)随着IPv6网络的普及,针对IPv6网络的安全审计工作越来越重要,本文设计实现的系统是基于IPv4网络,对IPv6网络的安全审计工作是后续的重点研究内容之一。
参考文献:
[1]王兵.计算机网络安全技术在电子商务中的运用[J].电子商务,2016,03:44.45.
[2]崔鹏飞,裘玥,孙瑞.面向网络内容安全的图像识别技术研究[A].中国计算机学会.第30次全国计算机安全学术交流会论文集[C].中国计算机学会,2015:4.
[3]盛宇.网络入侵检测系统在信息安全防范上的技术分析
[4]张亮,任德志.基于网络流量的主机安全防护系统实现[A].
作者:李超军 单位:中国人民大学信息学院