1、1目录1. 引言 .21.1 课题背景 .21.2 目的与意义 .21.3 可行性分析 22. 需求分析 .32.1 审计策略管理 .32.2 审计事件管理 .33. 概要设计 .43.1 功能层次模块图 .43.2 审计策略管理 .43.3 审计事件管理 .54. 详细设计 .54.1 数据流图 .54.2 数据库设计 .75. 算法与机制 .86. 系统实现 .96.1 审计策略管理 96.2 审计事件管理 127. 开发结论 .137.1 软件开发过程的特点和体会 137.2 系统评价及改进 13参考文献 14基于 C#的网络审计系统的设计与实现2基于 C#的网络审计系统的设计与实现【摘
2、要】随着计算机网络的发展,网络已成为信息系统的交互枢纽,网络的安全与否制约着信息系统的安全性,对于网络的监控与审计势在必行。本文主要分析了网络审计系统的一些基本功能和组成情况,包括系统的需求分析、概要设计,详细设计,数据库设计,算法与机制等。该系统在 Visual Studio2013 环境下,使用 C#来编写代码实现,能够正确有效地完成各个功能,并能够根据需求进行灵活的查询。该系统与数据库管理系统结合,提供了功能较为强大的数据安全功能,系统界面友好,操作简单,易掌握。【关键字】网络安全审计,信息系统开发, C# 1. 引言1.1 课题背景随着计算机技术的发展,网络技术也经历了从无到有的发展过
3、程。网络使得计算机的作用范围超越了地理位置的限制,也大大加强了计算机本身的能力。为了实现数据交换和资源共享,多个不同地理位置的计算机系统需要遵守一定的协议,而基于应用的不同产生了各种网络协议,如 HTTP协议、FTP 协议等等。网络是信息系统的交互枢纽,网络的安全与否制约着信息系统的安全性。随着近年来互联网在各行各业的日益渗透和不断扩大,互联网的安全性受到了越来越多的关注。1.2 目的与意义本系统旨在了解网络策略和网络审计的基本概念和原理,掌握常用服务所对应的协议和端口。同时,掌握在网络安全审计系统上配置网络策略的方法,学会判断所制定的策略是否生效。了解实验系统是如何对指定浏览器端进行内部网络
4、实时监控以及当天记录的查询。1.3 可行性分析网络技术发展至今,人们在享受其带来的巨大好处之时,也同样面临着网络安全方面的威胁。因此,配置网络策略和网络审计显得尤为重要。本系统是在 windows 7 环境下,使用 Microsoft Visual Studio 2013 和 SQL Server 2008 R2 开发的。C#是一种可视化的编程语言,在 Visual Studio 2013 集成开发环境中,用户可以设计界面,编写代码,调试程序。另外,利用 Visual Studio 2013 提供的大量控件,可以方便的设计界面和实现各种3功能,同时结合 SQL Server 2008 的数据库
5、管理工具,以完成对数据的操作。2. 需求分析2.1 审计策略管理审计人员可以针对局域网内所有计算机或某一特定计算机的用户制定、删除、修改相应的策略来限制其对计算机的使用或者记录其访问记录,也可以查询设置的策略,主要有以下方面:审计策略制定 1审计策略删除 2审计策略查询 3审计策略修改 4审计策略导出 52.2 审计事件管理审计人员可以就局域网内某一特定计算机查询其某段时间内的访问记录,包括以下方面:访问记录查询 1访问记录导出 23. 概要设计3.1 功能层次模块图网络安全审计系统审 计 策 略 制 定审计策略管理审 计 策 略 导 出审 计 策 略 查 询审 计 策 略 修 改审 计 策
6、略 删 除审计事件管理访 问 记 录 导 出访 问 记 录 查 询基于 C#的网络审计系统的设计与实现43.2 审计策略管理审计策略制定 1制定审计策略时,可以选择的选项有:审计对象用于选择所要监测计算机的 IP 地址。选择时间范围用来指定所要监测的起始和结束时间的,结束时间不能早于起始时间,否则出错。选择监控类型针对 URL、针对协议,针对协议。访问类型“禁止访问”或“记录访问” ,用来禁止或记录指定对象的访问。策略应用对象“该 IP 的所有用户”,“该 IP 的当前用户” ,用来指定所要监测的用户。审计策略删除 2选定某一监测 IP,如果有任何废弃的策略存在,在显示框中选择要删除的行后,然
7、后点击“删除”按钮加以删除。审计策略查询 3选定某一监测 IP,系统会自动在下方显示框中显示对该计算机的限制策略。审计策略修改 4如果审计策略设置有误,选择需要修改的某一条策略,选择后该策略所含信息会自动填写到上方设置区,然后在设置区中对其进行修改。审计策略导出 5如有需要,可以将制定的审计策略导出到 Excel 表格。53.3 审计事件管理访问记录查询 1查询访问记录时,可以选择的选项有:时间范围所有时间段:从制定策略时刻起的当天所有时间段,用于查询实时操作;自定义:填入起始时间和终止时间。协议所有协议:查询所有的网络事件;自定义:包括 HTTP、FTP、Telnet。数据流向进、出,按数据
8、传输的方向进行查询。访问记录导出 2如有需要,可以将访问记录导出到 Excel 表格。4. 详细设计4.1 数据流图根据前面的需求分析,进一步得出系统的数据流程,然后实现系统的相关功能,为下一步编码做好充分准备。下面给出系统的第一层数据流图和各个分解的数据流程图。下面把系统分为两个子系统,如图 2.1。参数信息审计人员 网络安全审计系统 审计人员增删改查结果图 1.1 顶层 DFD审计人员 审计人员审计策略管理审计事件管理参数信息参数信息增删改查结果访问记录图 2.1 第二层 DFD基于 C#的网络审计系统的设计与实现6继续分解,得到第三层数据流图,其中图 3.1 由“审计策略管理”扩展而成,
9、图 3.2 由“审计事件管理”扩展而成。 4.2 数据库设计数据表结构说明如下:表 1 审计对象表(Object)列名 数据类型 允许空值 描述 主键/外键oid int 否 审计对象编号 主键oname Varchar(10) 否 计算机名oip varchar(15) 否 审计对象的 IP 地址查询条件策略审计策略制定审计策略删除审计策略修改审计策略查询策略信息策略编号 审计人员制定成功与否的通知删除成功与否的通知修改成功与否的通知策略信息审计人员策略信息图 3.1 第三层 DFD审计策略管理审计策略导出Excel 表格审计人员 审计人员访问记录查询访问记录导出 Excel 表格访问记录时
10、间、协议、数据流向记录编号图 3.2 第三层 DFD审计事件管理7omac varchar(17) 否 审计对象的硬件地址表 2 用户表(User)列名 数据类型 允许空值 描述 主键/外键uid int 否 用户编号 主键uip varchar(15) 否 审计对象的 IP 地址uname varchar(20) 否 用户名称表 3 审计策略表(Policy)列名 数据类型 允许空值 描述 主键/外键pid int 否 策略编号 主键(自动增长)pip nchar (15) 否 审计对象的 IP 地址pmac nchar (17) 否 审计对象的 MAC地址pstartdate date 否
11、 策略生效起始日期penddate date 否 策略生效结束日期pstarttime time 否 起始时间pendtime time 否 结束时间pnettype int 否 网络类型1 表示 URL0 表示协议pnetcontent nchar (30) 具体的 URL 或者协议paccesstype int 否 1 表示记录访问0 表示禁止访问papplyobject nchar (20) 否 应用对象基于 C#的网络审计系统的设计与实现8表 4 访问记录表(Record)列名 数据类型 允许空值 描述 主键/外键rid int 否 访问记录编号 主键rcomputername nch
12、ar (10) 否 计算机名rusername nchar (20) 否 用户名称resourceip nchar (15) 否 源 IP 地址resourceport int 否 源端口rdestinyip nchar (15) 否 目的地址rdestinyport int 否 目的端口rdate date 否 访问日期rstarttime time 否 起始时间rendtime time 否 结束时间rprotocaltype Int 否 协议类型1 表示所有0 表示自定义rprotocal nchar (10) 具体协议rdatadirection Int 否 1 表示“进”0 表示“出
13、”5. 算法与机制触发器同步机制是现代数据库管理系统用于响应数据变化的一种机制。在 SQL Server 中,触发器被定义为一种特殊的数据库对象,因数据的更新、添加或删除事件而自动执行的存储过程。因此,触发器除了具备存储过程的提前编译、使用高速缓存高效执行、将代码集中与数据库后端简化业务逻辑的维护等特点之外,还具备基于事件驱动的及时响应和自动执行的能力。鉴于此,触发器常用与数据库完整性维护。96. 系统实现6.1 审计策略管理审计策略制定:基于 C#的网络审计系统的设计与实现10审计策略查询、删除:审计策略修改:审计策略导出:11基于 C#的网络审计系统的设计与实现126.2 审计事件管理访问
14、记录查询:访问记录导出:137. 开发结论7.1 软件开发过程的特点和体会本系统开发过程严格按照信息系统开发生命周期理论进行。通过对本系统的开发,我对软件开发相关的知识有了一个彻底的、系统的回顾,把知识前后串联起来,从书本上的理论知识变成了实际的应用。而且,此次实践使我对信息系统开发各个阶段文档书写规范。各阶段的工作重点有了深刻的认识,为以后的工作学习打下了坚实的基础。7.2 系统评价及改进由于时间仓促,本人能力有限,该系统仍存在一些问题需要在以后的开发、维护工作中继续完善。(1) 系统功能不够完善。一个好的网络安全审计系统应该具备数据包分析的功能,本系统只是查询特定计算机的访问情况,并没有深入分析数据包的内容。(2) 界面不够美观,有待美化。基于 C#的网络审计系统的设计与实现14参考文献1史济民,顾春华,郑红.软件工程原理、方法与应用(第三版) M.北京:高等教育出版社,2009.19-71.2王珊,萨师煊.数据库系统概论(第四版)M.北京:高等教育出版社,2006.83-117.3罗富强,白忠建,杨建.Visual C#.NET 程序设计教程(第二版)M北京:人民邮电出版社,2012.211-264.4陈耿,韩志耕,卢孙中.信息系统审计、控制与管理M北京:清华大学出版社,2014.212-232.