李偉偉+譚獻(xiàn)海+楊光宏+陽瑞發(fā)
摘 要:針對部分單位現(xiàn)有管理系統(tǒng)在局域網(wǎng)中處于不同布點,而對這些管理系統(tǒng)缺乏一套統(tǒng)一的監(jiān)測管理系統(tǒng)的問題,設(shè)計了針對多系統(tǒng)檢測的基于B/S架構(gòu)的應(yīng)用管理系統(tǒng)。該系統(tǒng)設(shè)計基于MVC模式,前端采用miniUI,后端采用Spring和Hibernate框架。該系統(tǒng)能夠有效呈現(xiàn)各系統(tǒng)運(yùn)行狀況、報警情況以及統(tǒng)計參數(shù)等。被檢測應(yīng)用管理系統(tǒng)需要同探測器部署于同一臺服務(wù)器,通過探測器對系統(tǒng)進(jìn)行監(jiān)控,系統(tǒng)實時性功能由定時掃描數(shù)據(jù)庫實現(xiàn)。該系統(tǒng)在實現(xiàn)智能化管理的同時,也提高了管理效率。
關(guān)鍵詞:管理系統(tǒng);B/S;實時性;miniUI;SSH框架
中圖分類號:TP391.72 文獻(xiàn)標(biāo)識碼:A 文章編號:2095-1302(2015)10-00-03
0 引 言
隨著信息技術(shù)的不斷發(fā)展,各行各業(yè)都在使用管理系統(tǒng)管理企業(yè)信息資產(chǎn),由此,應(yīng)用信息的安全問題變得越來越突出。企事業(yè)單位根據(jù)不同的業(yè)務(wù)使用不同的管理系統(tǒng),對于多應(yīng)用管理系統(tǒng)的企事業(yè)單位來說,并沒有一套對多應(yīng)用系統(tǒng)的監(jiān)控管理軟件。基于單位內(nèi)部需求,本文設(shè)計一個針對多系統(tǒng)的用戶行為檢測管理系統(tǒng),該系統(tǒng)能夠?qū)崿F(xiàn)對被檢測的應(yīng)用服務(wù)進(jìn)行智能化管理,能夠及時反饋監(jiān)測系統(tǒng)的運(yùn)行狀況,并且能夠根據(jù)策略及規(guī)則庫信息實時檢測用戶的行為。
檢測管理系統(tǒng)作為用戶異常行為監(jiān)控系統(tǒng)的一部分,檢測管理系統(tǒng)的監(jiān)控數(shù)據(jù)來源于探測服務(wù)器。探測服務(wù)器檢測受監(jiān)控的系統(tǒng),當(dāng)監(jiān)測到異常行為時,檢測管理系統(tǒng)即刻做出響應(yīng),檢測管理系統(tǒng)同時用于下發(fā)相關(guān)策略信息。檢測管理系統(tǒng)在整個系統(tǒng)結(jié)構(gòu)中直接提供給監(jiān)管人員使用,設(shè)計時,在保證系統(tǒng)可用的同時,也要盡量使系統(tǒng)去復(fù)雜化。
系統(tǒng)設(shè)計采用基于B/S架構(gòu),由于B/S架構(gòu)能夠大大減少客戶端負(fù)載,事務(wù)邏輯主要在服務(wù)器端實現(xiàn),有利于減輕系統(tǒng)的維護(hù)成本和工作量。系統(tǒng)開發(fā)實現(xiàn)采用跨平臺Java語言,采用MVC模式,前端主要使用國內(nèi)比較優(yōu)秀的MiniUI輕量級控件,后臺采用Spring和Hibernate架構(gòu)。開發(fā)平臺使用Myeclipse,該IDE能夠有效降低開發(fā)成本,提高開發(fā)效率。
1 行為檢測管理系統(tǒng)需求
行為檢測管理系統(tǒng)的設(shè)計目標(biāo)是構(gòu)建一個安全可靠、易于擴(kuò)展、實時性較強(qiáng)、使用便捷的基于B/S架構(gòu)的系統(tǒng)。該系統(tǒng)一方面用于顯示用戶行為檢測的結(jié)果,另一方面主要用于管理整個檢測系統(tǒng)。其中包括用于管理下發(fā)用戶的行為策略、更新檢測規(guī)則庫、管理遠(yuǎn)端探測服務(wù)器、管理用戶行為事件等。監(jiān)控管理員通過該系統(tǒng)能夠?qū)崟r掌控受監(jiān)控應(yīng)用系統(tǒng)的運(yùn)行情況,并且通過該應(yīng)用管理端能夠?qū)崟r對違背策略的用戶進(jìn)行報警。能夠隨時查看各類報警和審計日志等。檢測管理系統(tǒng)的總體功能劃分如圖1所示。
圖1 檢測管理系統(tǒng)總體功能劃分
由圖1可知,用戶角色分為系統(tǒng)三員,即系統(tǒng)管理員、系統(tǒng)安全管理員、系統(tǒng)審計管理員。該三員的角色采用系統(tǒng)內(nèi)置,不能修改。在三員外,系統(tǒng)還提供默認(rèn)業(yè)務(wù)角色,包括策略管理員、日志管理員、事件管理員,同時系統(tǒng)還支持用戶自定義角色,不同用戶登錄系統(tǒng)后的使用權(quán)限不同。檢測器管理主要包括增加、刪除相關(guān)檢測器,顯示檢測器信息列表,并且可以選擇一個或多個檢測器進(jìn)行管理。策略管理主要是對檢測器增加相應(yīng)的策略以及更新檢測規(guī)則庫。事件管理主要是對檢測的事件進(jìn)行管理,對誤報或者危害不大的報警進(jìn)行取消關(guān)注或者屏蔽操作,用戶可以安全導(dǎo)出相應(yīng)報警事件。審計管理主要是對生成的用戶行為日志進(jìn)行查看、導(dǎo)出,審計日志可以作為用戶的行為證據(jù)。行為監(jiān)控頁面主要是實時顯示檢測端檢測到的報警信息并提供給管理員查看,并由管理員做出相關(guān)決策。
2 系統(tǒng)實現(xiàn)技術(shù)方案
系統(tǒng)設(shè)計遵循MVC模式,系統(tǒng)分為表示層,業(yè)務(wù)邏輯層,數(shù)據(jù)持久層三層結(jié)構(gòu),每一層各司其職。系統(tǒng)表示層采用MiniUI輕量級控件,MiniUI增強(qiáng)了Web界面的信息承載量、表現(xiàn)力與操控器,有效提高了系統(tǒng)響應(yīng)速度。業(yè)務(wù)邏輯層主要使用Spring框架,數(shù)據(jù)持久化層采用Hibernate技術(shù)。系統(tǒng)總體技術(shù)框架如圖2所示。
圖2 系統(tǒng)總體框架圖
系統(tǒng)前端的請求控制器采用SpringMVC,該控制器是用于處理請求的Spring組件,SpringMVC的核心是DispatcherServlet。來自管理端的請求通過前端請求控制器將請求地址映射到后臺控制端。表示層JSP頁面通過Ajax提交Url請求到后臺,系統(tǒng)會根據(jù)配置的Servlet控制器去解析映射。系統(tǒng)啟動初期會默認(rèn)解析Web.xml,Web.xml部分信息表示如下:
系統(tǒng)在啟動時,應(yīng)用服務(wù)器會解析Web.xml文件,根據(jù)相關(guān)配置進(jìn)行初始化。上述配置中contextLoaderListener也是個servlet監(jiān)聽器,在啟動時會初始化相關(guān)xml,利用Spring的IoC技術(shù)將配置或注解的bean對象注入到上下文容器中,這里相關(guān)技術(shù)流程解析不再贅述。
系統(tǒng)后臺主要利用Spring和Hibernate框架。Spring框架的主要核心包括IOC和AOP,IOC主要是將配置或者注解的bean等信息注入到容器中,由容器對對象進(jìn)行控制。AOP主要是從相關(guān)類中將相同的業(yè)務(wù)邏輯分離出來,有效減少復(fù)用度,有利于系統(tǒng)維護(hù)。本系統(tǒng)使用AOP來進(jìn)行事務(wù)管理。
系統(tǒng)后臺開發(fā)也按照分層結(jié)構(gòu)進(jìn)行開發(fā),根據(jù)模塊不同設(shè)計不同的模塊包,每個模塊包中根據(jù)業(yè)務(wù)邏輯不同將業(yè)務(wù)分為不同的層。模塊內(nèi)包結(jié)構(gòu)設(shè)計如圖3所示。
圖3 包結(jié)構(gòu)設(shè)計
3 系統(tǒng)相關(guān)模塊實現(xiàn)
3.1 實時性實現(xiàn)
檢測系統(tǒng)管理端要求能夠?qū)崟r響應(yīng)警告,那么系統(tǒng)的實時性必須得到保證。本系統(tǒng)通過檢測服務(wù)代理端每隔幾秒時間讀取事件數(shù)據(jù)表來保證實時性。事件數(shù)據(jù)表作為異常事件存儲的數(shù)據(jù)表,表中將一個字段設(shè)計為標(biāo)志位,該標(biāo)志位由0和1組成,分別表示為報警事件和已報警事件。當(dāng)檢測器檢測到一條異常事件后,檢測器將這條事件寫入異常事件數(shù)據(jù)表。當(dāng)檢測代理讀取到該條數(shù)據(jù)之后,遠(yuǎn)程調(diào)用檢測管理端提供的WebService服務(wù),產(chǎn)生報警信息,同時修改事件標(biāo)志位狀態(tài)。檢測管理端提供的WebService服務(wù)利用第三方控件CXF來發(fā)布服務(wù)。
3.2 檢測業(yè)務(wù)設(shè)計
檢測系統(tǒng)主要作為對被檢測管理系統(tǒng)的用戶行為監(jiān)控,檢測監(jiān)控界面主要顯示相關(guān)統(tǒng)計數(shù)據(jù)。作為檢測管理系統(tǒng)的使用者,他們最關(guān)心的就是監(jiān)控的系統(tǒng)是否發(fā)出了報警行為,這些用戶行為是否對系統(tǒng)造成危害,用戶行為異常的統(tǒng)計值,用戶的異常行為是從哪些客戶端發(fā)出的,用戶的異常行為是攻擊行為還是違規(guī)行為等。檢測界面的功能設(shè)計如圖4所示。
3.3 多數(shù)據(jù)庫連接設(shè)計
檢測管理系統(tǒng)主要是對不同應(yīng)用管理系統(tǒng)的監(jiān)控,應(yīng)用管理系統(tǒng)與檢測服務(wù)器為一一對應(yīng)關(guān)系,由于檢測服務(wù)端數(shù)據(jù)庫不統(tǒng)一,檢測管理端系統(tǒng)對策略的下發(fā)將會面臨不同的數(shù)據(jù)庫。系統(tǒng)檢測端通過界面配置不同數(shù)據(jù)庫信息與相對應(yīng)數(shù)據(jù)庫建立連接。數(shù)據(jù)庫配置界面如圖5所示。
圖4 檢測界面功能圖
圖5 數(shù)據(jù)庫配置界面
針對不同數(shù)據(jù)庫連接之間的差異,本文使用最基本的JDBC來操作數(shù)據(jù)庫,使用JDBC不免會降低開發(fā)效率,程序代碼復(fù)用度不高,但是JDBC是訪問數(shù)據(jù)庫效率最高的。當(dāng)對不同數(shù)據(jù)庫進(jìn)行配置連接之后,管理端根據(jù)情況選擇不同的策略下發(fā)到檢測端數(shù)據(jù)庫。
3.4 管理系統(tǒng)實現(xiàn)結(jié)果
檢測管理系統(tǒng)根據(jù)需求,管理員可以以探測器管理員的身份登錄系統(tǒng),系統(tǒng)主界面為用戶行為檢測界面。探測器管理員可以通過系統(tǒng)查看不同時間段內(nèi)不同類型的報警數(shù)據(jù),如果監(jiān)控到用戶超出閾值的行為,探測管理員可進(jìn)一步查看行為數(shù)量柱狀圖,柱狀圖表示了該用戶每天的下載量,通過柱狀圖觀測用戶下載活躍度。Web統(tǒng)計圖表的生成使用JFreeChart來創(chuàng)建,該控件在B/S架構(gòu)環(huán)境下運(yùn)用較好。管理系統(tǒng)實現(xiàn)界面如圖6所示。
圖6 檢測管理界面
4 結(jié) 語
本文主要闡述了基于B/S架構(gòu),MVC模式的用戶行為檢測管理系統(tǒng)的設(shè)計方案,并對相關(guān)技術(shù)及實現(xiàn)進(jìn)行了簡要闡述。系統(tǒng)運(yùn)用Spring及Hibernate技術(shù),大大縮短了開發(fā)周期,并且提高了開發(fā)效率,能夠使系統(tǒng)不斷適應(yīng)需求的變化。
參考文獻(xiàn)
[1]陶以政,吳志杰,唐定勇,等.基于J2EE的應(yīng)用框架技術(shù)研究[J].計算機(jī)工程與設(shè)計,2007,28(4):826-828.
[2]馮潤名.基于SSH的高校學(xué)生管理系統(tǒng)設(shè)計與實現(xiàn)[J].計算機(jī)工程,2009,35(6):280-282.
[3] Craig Walls. Spring實戰(zhàn)[M]. 耿淵,張衛(wèi)濱,譯.北京:人民郵電出版社,2013.
[4]夏赟,李志蜀.基于Hibernate框架的數(shù)據(jù)持久化層的研究及其應(yīng)用[J].計算機(jī)應(yīng)用,2008,28(9):2446-2448.
[5]陽瑞發(fā),陶以政.基于JFreeChart繪制Web統(tǒng)計圖表的設(shè)計與實現(xiàn)[J].網(wǎng)絡(luò)安全與技術(shù)應(yīng)用,2010(12):64-66.