时间:2024-05-04
李伟伟+谭献海+杨光宏+阳瑞发
摘 要:针对部分单位现有管理系统在局域网中处于不同布点,而对这些管理系统缺乏一套统一的监测管理系统的问题,设计了针对多系统检测的基于B/S架构的应用管理系统。该系统设计基于MVC模式,前端采用miniUI,后端采用Spring和Hibernate框架。该系统能够有效呈现各系统运行状况、报警情况以及统计参数等。被检测应用管理系统需要同探测器部署于同一台服务器,通过探测器对系统进行监控,系统实时性功能由定时扫描数据库实现。该系统在实现智能化管理的同时,也提高了管理效率。
关键词:管理系统;B/S;实时性;miniUI;SSH框架
中图分类号:TP391.72 文献标识码:A 文章编号:2095-1302(2015)10-00-03
0 引 言
随着信息技术的不断发展,各行各业都在使用管理系统管理企业信息资产,由此,应用信息的安全问题变得越来越突出。企事业单位根据不同的业务使用不同的管理系统,对于多应用管理系统的企事业单位来说,并没有一套对多应用系统的监控管理软件。基于单位内部需求,本文设计一个针对多系统的用户行为检测管理系统,该系统能够实现对被检测的应用服务进行智能化管理,能够及时反馈监测系统的运行状况,并且能够根据策略及规则库信息实时检测用户的行为。
检测管理系统作为用户异常行为监控系统的一部分,检测管理系统的监控数据来源于探测服务器。探测服务器检测受监控的系统,当监测到异常行为时,检测管理系统即刻做出响应,检测管理系统同时用于下发相关策略信息。检测管理系统在整个系统结构中直接提供给监管人员使用,设计时,在保证系统可用的同时,也要尽量使系统去复杂化。
系统设计采用基于B/S架构,由于B/S架构能够大大减少客户端负载,事务逻辑主要在服务器端实现,有利于减轻系统的维护成本和工作量。系统开发实现采用跨平台Java语言,采用MVC模式,前端主要使用国内比较优秀的MiniUI轻量级控件,后台采用Spring和Hibernate架构。开发平台使用Myeclipse,该IDE能够有效降低开发成本,提高开发效率。
1 行为检测管理系统需求
行为检测管理系统的设计目标是构建一个安全可靠、易于扩展、实时性较强、使用便捷的基于B/S架构的系统。该系统一方面用于显示用户行为检测的结果,另一方面主要用于管理整个检测系统。其中包括用于管理下发用户的行为策略、更新检测规则库、管理远端探测服务器、管理用户行为事件等。监控管理员通过该系统能够实时掌控受监控应用系统的运行情况,并且通过该应用管理端能够实时对违背策略的用户进行报警。能够随时查看各类报警和审计日志等。检测管理系统的总体功能划分如图1所示。
图1 检测管理系统总体功能划分
由图1可知,用户角色分为系统三员,即系统管理员、系统安全管理员、系统审计管理员。该三员的角色采用系统内置,不能修改。在三员外,系统还提供默认业务角色,包括策略管理员、日志管理员、事件管理员,同时系统还支持用户自定义角色,不同用户登录系统后的使用权限不同。检测器管理主要包括增加、删除相关检测器,显示检测器信息列表,并且可以选择一个或多个检测器进行管理。策略管理主要是对检测器增加相应的策略以及更新检测规则库。事件管理主要是对检测的事件进行管理,对误报或者危害不大的报警进行取消关注或者屏蔽操作,用户可以安全导出相应报警事件。审计管理主要是对生成的用户行为日志进行查看、导出,审计日志可以作为用户的行为证据。行为监控页面主要是实时显示检测端检测到的报警信息并提供给管理员查看,并由管理员做出相关决策。
2 系统实现技术方案
系统设计遵循MVC模式,系统分为表示层,业务逻辑层,数据持久层三层结构,每一层各司其职。系统表示层采用MiniUI轻量级控件,MiniUI增强了Web界面的信息承载量、表现力与操控器,有效提高了系统响应速度。业务逻辑层主要使用Spring框架,数据持久化层采用Hibernate技术。系统总体技术框架如图2所示。
图2 系统总体框架图
系统前端的请求控制器采用SpringMVC,该控制器是用于处理请求的Spring组件,SpringMVC的核心是DispatcherServlet。来自管理端的请求通过前端请求控制器将请求地址映射到后台控制端。表示层JSP页面通过Ajax提交Url请求到后台,系统会根据配置的Servlet控制器去解析映射。系统启动初期会默认解析Web.xml,Web.xml部分信息表示如下:
contextConfigLocation /WEB-INF/classes/spring/**/ApplicationContext*.xml
系统在启动时,应用服务器会解析Web.xml文件,根据相关配置进行初始化。上述配置中contextLoaderListener也是个servlet监听器,在启动时会初始化相关xml,利用Spring的IoC技术将配置或注解的bean对象注入到上下文容器中,这里相关技术流程解析不再赘述。
系统后台主要利用Spring和Hibernate框架。Spring框架的主要核心包括IOC和AOP,IOC主要是将配置或者注解的bean等信息注入到容器中,由容器对对象进行控制。AOP主要是从相关类中将相同的业务逻辑分离出来,有效减少复用度,有利于系统维护。本系统使用AOP来进行事务管理。
系统后台开发也按照分层结构进行开发,根据模块不同设计不同的模块包,每个模块包中根据业务逻辑不同将业务分为不同的层。模块内包结构设计如图3所示。
图3 包结构设计
3 系统相关模块实现
3.1 实时性实现
检测系统管理端要求能够实时响应警告,那么系统的实时性必须得到保证。本系统通过检测服务代理端每隔几秒时间读取事件数据表来保证实时性。事件数据表作为异常事件存储的数据表,表中将一个字段设计为标志位,该标志位由0和1组成,分别表示为报警事件和已报警事件。当检测器检测到一条异常事件后,检测器将这条事件写入异常事件数据表。当检测代理读取到该条数据之后,远程调用检测管理端提供的WebService服务,产生报警信息,同时修改事件标志位状态。检测管理端提供的WebService服务利用第三方控件CXF来发布服务。
3.2 检测业务设计
检测系统主要作为对被检测管理系统的用户行为监控,检测监控界面主要显示相关统计数据。作为检测管理系统的使用者,他们最关心的就是监控的系统是否发出了报警行为,这些用户行为是否对系统造成危害,用户行为异常的统计值,用户的异常行为是从哪些客户端发出的,用户的异常行为是攻击行为还是违规行为等。检测界面的功能设计如图4所示。
3.3 多数据库连接设计
检测管理系统主要是对不同应用管理系统的监控,应用管理系统与检测服务器为一一对应关系,由于检测服务端数据库不统一,检测管理端系统对策略的下发将会面临不同的数据库。系统检测端通过界面配置不同数据库信息与相对应数据库建立连接。数据库配置界面如图5所示。
图4 检测界面功能图
图5 数据库配置界面
针对不同数据库连接之间的差异,本文使用最基本的JDBC来操作数据库,使用JDBC不免会降低开发效率,程序代码复用度不高,但是JDBC是访问数据库效率最高的。当对不同数据库进行配置连接之后,管理端根据情况选择不同的策略下发到检测端数据库。
3.4 管理系统实现结果
检测管理系统根据需求,管理员可以以探测器管理员的身份登录系统,系统主界面为用户行为检测界面。探测器管理员可以通过系统查看不同时间段内不同类型的报警数据,如果监控到用户超出阈值的行为,探测管理员可进一步查看行为数量柱状图,柱状图表示了该用户每天的下载量,通过柱状图观测用户下载活跃度。Web统计图表的生成使用JFreeChart来创建,该控件在B/S架构环境下运用较好。管理系统实现界面如图6所示。
图6 检测管理界面
4 结 语
本文主要阐述了基于B/S架构,MVC模式的用户行为检测管理系统的设计方案,并对相关技术及实现进行了简要阐述。系统运用Spring及Hibernate技术,大大缩短了开发周期,并且提高了开发效率,能够使系统不断适应需求的变化。
参考文献
[1]陶以政,吴志杰,唐定勇,等.基于J2EE的应用框架技术研究[J].计算机工程与设计,2007,28(4):826-828.
[2]冯润名.基于SSH的高校学生管理系统设计与实现[J].计算机工程,2009,35(6):280-282.
[3] Craig Walls. Spring实战[M]. 耿渊,张卫滨,译.北京:人民邮电出版社,2013.
[4]夏赟,李志蜀.基于Hibernate框架的数据持久化层的研究及其应用[J].计算机应用,2008,28(9):2446-2448.
[5]阳瑞发,陶以政.基于JFreeChart绘制Web统计图表的设计与实现[J].网络安全与技术应用,2010(12):64-66.
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!