李偉偉+譚獻海+楊光宏+陽瑞發



摘 要:針對部分單位現有管理系統在局域網中處于不同布點,而對這些管理系統缺乏一套統一的監測管理系統的問題,設計了針對多系統檢測的基于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部分信息表示如下:
系統在啟動時,應用服務器會解析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.