林岳鑫 張文宇
【摘 要】為提高大型應(yīng)用系統(tǒng)中數(shù)據(jù)庫(kù)賬號(hào)、權(quán)限的管理效率及系統(tǒng)安全性,設(shè)計(jì)、開(kāi)發(fā)并實(shí)現(xiàn)了一個(gè)全方位的集中管控系統(tǒng)。該系統(tǒng)基于權(quán)限規(guī)范化管理策略,并通過(guò)調(diào)用各周邊系統(tǒng)的接口,實(shí)現(xiàn)了對(duì)數(shù)據(jù)庫(kù)賬號(hào)、權(quán)限、角色等的集中管控。通過(guò)數(shù)據(jù)對(duì)比顯示,該系統(tǒng)能夠顯著提高管理效率。
【關(guān)鍵詞】Oracle數(shù)據(jù)庫(kù) 集中管控 系統(tǒng)安全
doi:10.3969/j.issn.1006-1010.2016.06.019 中圖分類(lèi)號(hào):TP399 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1006-1010(2016)06-0083-05
引用格式:林岳鑫,張文宇. 數(shù)據(jù)庫(kù)安全集中管控系統(tǒng)的設(shè)計(jì)與實(shí)踐[J]. 移動(dòng)通信, 2016,40(6): 83-87.
1 引言
隨著業(yè)務(wù)的飛速發(fā)展,業(yè)務(wù)系統(tǒng)支撐用戶數(shù)持續(xù)增長(zhǎng),數(shù)據(jù)量不斷攀升,同時(shí)為滿足業(yè)務(wù)發(fā)展需要,應(yīng)用版本頻繁變更,新建設(shè)上線的系統(tǒng)也越來(lái)越多,這無(wú)疑給數(shù)據(jù)安全性管理帶來(lái)了極大的挑戰(zhàn)。
作為省級(jí)移動(dòng)運(yùn)營(yíng)商,核心系統(tǒng)的數(shù)據(jù)庫(kù)中保存了各類(lèi)重要且敏感的業(yè)務(wù)數(shù)據(jù),任何數(shù)據(jù)庫(kù)賬號(hào)方面的安全隱患如非法的數(shù)據(jù)新增、讀取、變更以及不安全的賬號(hào)策略、弱口令等,都可能造成用戶關(guān)鍵信息的丟失或泄露。因此,需要針對(duì)業(yè)務(wù)系統(tǒng)數(shù)據(jù)庫(kù)定制相應(yīng)的賬號(hào)安全加強(qiáng)解決方案,采取有效的措施確保系統(tǒng)數(shù)據(jù)的安全性。主要從以下方面考慮:
(1)賬號(hào)統(tǒng)一集中管理,加強(qiáng)密碼保護(hù),減少用戶密碼泄露,保障用戶密碼的安全,從而提升數(shù)據(jù)庫(kù)的安全級(jí)別。
(2)實(shí)現(xiàn)數(shù)據(jù)庫(kù)現(xiàn)行用戶全面梳理以及規(guī)范化,刪除或鎖定工作無(wú)關(guān)的賬號(hào),實(shí)現(xiàn)一人一號(hào),回收無(wú)用賬號(hào)以降低泄露風(fēng)險(xiǎn)。
(3)針對(duì)各種賬號(hào)的訪問(wèn)目的、不同密碼需求定制屬性組,調(diào)整賬號(hào)數(shù)組的密碼規(guī)則復(fù)雜度,實(shí)現(xiàn)模塊化管理。
(4)各應(yīng)用使用賬號(hào)密碼,統(tǒng)一由系統(tǒng)動(dòng)態(tài)生成,確保數(shù)據(jù)庫(kù)密碼安全,以防止應(yīng)用密碼泄露。
2 設(shè)計(jì)思路
數(shù)據(jù)庫(kù)賬號(hào)安全管理可分為管理和技術(shù)這2個(gè)方面。管理方面?zhèn)戎財(cái)?shù)據(jù)安全等級(jí)分配、權(quán)限審批流程、用戶管理要求等管理細(xì)則;技術(shù)方面則側(cè)重于處理賬號(hào)權(quán)限授予、收回操作、用戶角色管理、用戶操作審計(jì)實(shí)現(xiàn)等安全配置要求以及其它技術(shù)規(guī)范的實(shí)現(xiàn)手段。
數(shù)據(jù)庫(kù)賬號(hào)安全管理是對(duì)各業(yè)務(wù)系統(tǒng)進(jìn)行數(shù)據(jù)庫(kù)賬戶的管理、操作記錄分析、數(shù)據(jù)分級(jí)管理等。通過(guò)安全管理,可以避免因數(shù)據(jù)庫(kù)賬戶安全隱患導(dǎo)致數(shù)據(jù)泄露及其帶來(lái)的經(jīng)濟(jì)損失。同時(shí),合理規(guī)劃和利用數(shù)據(jù)安全管理各項(xiàng)指標(biāo),可大大加強(qiáng)系統(tǒng)管理人員對(duì)數(shù)據(jù)庫(kù)管理把控的力度,更好地完成崗位工作。
本文以管理Oracle數(shù)據(jù)庫(kù)的管控平臺(tái)(以下簡(jiǎn)稱(chēng)平臺(tái))設(shè)計(jì)為例,在企業(yè)實(shí)際場(chǎng)景中可以同時(shí)管理多種數(shù)據(jù)庫(kù)。
2.1 系統(tǒng)架構(gòu)
(1)總體功能架構(gòu)
如圖1所示,本平臺(tái)由Oracle賬號(hào)管理、Oracle角色管理、Oracle授權(quán)管理、Oracle權(quán)限管理、Oracle同步管理、Oracle密碼管理、總覽統(tǒng)計(jì)管理、Oracle敏感表管理、Oracle審計(jì)管理、調(diào)度管理、平臺(tái)用戶管理、平臺(tái)角色管理、平臺(tái)權(quán)限管理13個(gè)功能模塊組成。其中,平臺(tái)用戶、平臺(tái)角色、平臺(tái)權(quán)限均指本管理平臺(tái)內(nèi)部的用戶、角色、權(quán)限,與被管理Oracle數(shù)據(jù)庫(kù)無(wú)關(guān)。
上述模塊一方面與被管理的數(shù)據(jù)庫(kù)相關(guān)聯(lián),實(shí)現(xiàn)數(shù)據(jù)庫(kù)用戶、角色、權(quán)限等管理功能;另一方面通過(guò)接口與工單、短信、手機(jī)APP及郵件系統(tǒng)對(duì)接,方便用戶進(jìn)行操作。
(2)平臺(tái)物理架構(gòu)
本平臺(tái)采用集中管理的B/S(Browser/Server,瀏覽器/服務(wù)器)架構(gòu)設(shè)計(jì),通過(guò)一臺(tái)管理服務(wù)器或服務(wù)器集群管理所有的Oracle數(shù)據(jù)庫(kù)服務(wù)器,并通過(guò)Web服務(wù)器或工單、短信等平臺(tái)提供用戶的操作界面。
(3)總體技術(shù)架構(gòu)
◆采用EasyUI異步請(qǐng)求方式、Servlet服務(wù)端通信機(jī)制,使得前端與后端的耦合度降低。
◆采用Spring MVC(Model View Controller,模型-視圖-控制器)框架,系統(tǒng)的設(shè)計(jì)遵循MVC模式,使系統(tǒng)具有良好的可維護(hù)性。
◆數(shù)據(jù)持久層采用Hibernate(對(duì)象關(guān)系映射框架),使得數(shù)據(jù)的持久化與數(shù)據(jù)庫(kù)無(wú)關(guān)性得到提高。
◆每日數(shù)據(jù)訪問(wèn)量較少時(shí)使用JDBC(Java Data Base Connectivity,Java數(shù)據(jù)庫(kù)連接)和長(zhǎng)連接技術(shù)同步數(shù)據(jù)庫(kù)賬號(hào)、角色、對(duì)象、權(quán)限等數(shù)據(jù),確保數(shù)據(jù)的一致性和有效性。
◆采用Highcharts展示統(tǒng)計(jì)圖表,直觀統(tǒng)一觀察數(shù)據(jù)庫(kù)賬號(hào)管理情況。
2.2 技術(shù)方案及實(shí)現(xiàn)
(1)界面化操作及前端功能集中呈現(xiàn)。平臺(tái)提供了方便的界面化操作,將所有數(shù)據(jù)庫(kù)賬號(hào)、角色與權(quán)限進(jìn)行可視化、圖形化展示,降低了操作復(fù)雜程度。
(2)新增數(shù)據(jù)庫(kù)表的自動(dòng)授權(quán)功能。例如,當(dāng)按照自然年、月、日新建數(shù)據(jù)庫(kù)表時(shí),平臺(tái)會(huì)根據(jù)預(yù)定義規(guī)則自動(dòng)為相關(guān)數(shù)據(jù)庫(kù)用戶賦予權(quán)限,保持業(yè)務(wù)層面權(quán)限的連貫性。
(3)權(quán)限管理集中化。平臺(tái)對(duì)數(shù)據(jù)庫(kù)賬號(hào)進(jìn)行集中式管理,可以對(duì)接入的所有數(shù)據(jù)庫(kù)賬號(hào)進(jìn)行授權(quán)、修改、撤銷(xiāo)等操作,相對(duì)于針對(duì)每一套數(shù)據(jù)庫(kù)分別操作的傳統(tǒng)方式,效率得到很大提升。
(4)權(quán)限管理規(guī)范化。實(shí)現(xiàn)了數(shù)據(jù)庫(kù)內(nèi)部用戶的規(guī)范化管理,通過(guò)建立合理的數(shù)據(jù)庫(kù)賬號(hào)、角色、權(quán)限層級(jí)關(guān)系,建立符合賬號(hào)使用人員實(shí)際業(yè)務(wù)需求的數(shù)據(jù)庫(kù)權(quán)限。刪除或鎖定與業(yè)務(wù)運(yùn)行、日常維護(hù)、監(jiān)控工作無(wú)關(guān)的賬號(hào)或過(guò)期賬號(hào),以降低信息泄露風(fēng)險(xiǎn)。
(5)在業(yè)務(wù)層面建立崗位角色,方便業(yè)務(wù)人員的權(quán)限管理。參照自然人的實(shí)際工作崗位與工作分工,在業(yè)務(wù)層面制定相應(yīng)的崗位角色,并與數(shù)據(jù)庫(kù)內(nèi)部的角色、權(quán)限相關(guān)聯(lián),可以方便快速地定位自然人在數(shù)據(jù)庫(kù)中的操作權(quán)限。
如圖2所示,某個(gè)自然人對(duì)應(yīng)企業(yè)中的一個(gè)工作崗位,則在平臺(tái)上定義一個(gè)“崗位角色”C1與之對(duì)應(yīng),該“崗位角色”包含數(shù)據(jù)庫(kù)維護(hù)與業(yè)務(wù)處理相關(guān)的4個(gè)角色,這些角色又具有更進(jìn)一步的具體定義,如“B1_業(yè)務(wù)一級(jí)角色”有敏感只讀、敏感只寫(xiě)、非敏感只讀、非敏感只寫(xiě)4個(gè)更基本的角色。上述角色的權(quán)限匯總后,與被管理的數(shù)據(jù)庫(kù)內(nèi)部用戶、角色和權(quán)限相對(duì)應(yīng),實(shí)現(xiàn)了在業(yè)務(wù)層面對(duì)數(shù)據(jù)庫(kù)權(quán)限的分配和對(duì)應(yīng)。
(6)實(shí)現(xiàn)移動(dòng)化辦公提升效率。通過(guò)與短信接口對(duì)接,實(shí)現(xiàn)了賬號(hào)、權(quán)限申請(qǐng)的短信審批回復(fù)、短信通知及短信告警等功能。在數(shù)據(jù)庫(kù)賬號(hào)變更、臨時(shí)賬號(hào)等需求申請(qǐng)?zhí)峤缓螅到y(tǒng)自動(dòng)向?qū)徟税l(fā)送審批短信,回復(fù)短信即可完成審批,實(shí)現(xiàn)了移動(dòng)與無(wú)紙化辦公,提高了整個(gè)審批流程的速度。申請(qǐng)得到批復(fù)后,系統(tǒng)通過(guò)短信自動(dòng)向申請(qǐng)人下發(fā)審批結(jié)果,如申請(qǐng)獲得批準(zhǔn),申請(qǐng)人還將收到包括用戶名、初始密碼、賬號(hào)有效期等詳細(xì)信息的通知短信。
(7)使用動(dòng)態(tài)加密的方式集中管理數(shù)據(jù)庫(kù)密碼。在多數(shù)情況下,應(yīng)用程序的數(shù)據(jù)庫(kù)連接信息一般使用配置文件形式存儲(chǔ)在應(yīng)用服務(wù)器上,內(nèi)容包括:數(shù)據(jù)庫(kù)的用戶名、密碼、數(shù)據(jù)庫(kù)IP、端口等關(guān)鍵信息。為防范該配置文件外泄帶來(lái)的安全風(fēng)險(xiǎn),管控平臺(tái)采用動(dòng)態(tài)加密的方式保存應(yīng)用程序的數(shù)據(jù)庫(kù)密碼等關(guān)鍵信息(應(yīng)用程序的數(shù)據(jù)庫(kù)登錄驗(yàn)證部分需做相應(yīng)調(diào)整)。各接入平臺(tái)的應(yīng)用系統(tǒng)在訪問(wèn)數(shù)據(jù)庫(kù)之前需要向管控平臺(tái)申請(qǐng)數(shù)據(jù)庫(kù)用戶的密碼,該密碼采取公鑰、私鑰方式加解密保存在本地?cái)?shù)據(jù)庫(kù)或第三方數(shù)據(jù)庫(kù)中。只有經(jīng)過(guò)授權(quán)的應(yīng)用才能夠正常解密數(shù)據(jù)庫(kù)密碼并成功連接數(shù)據(jù)庫(kù),有效地提升了應(yīng)用系統(tǒng)整體安全性。
如圖3所示,應(yīng)用程序訪問(wèn)數(shù)據(jù)庫(kù)總體上可分為注冊(cè)環(huán)節(jié)與連接環(huán)節(jié)。注冊(cè)環(huán)節(jié)僅在首次接入平臺(tái)時(shí)進(jìn)行,應(yīng)用程序向安全管理平臺(tái)申請(qǐng)注冊(cè),管理平臺(tái)接收申請(qǐng)后發(fā)放密鑰給應(yīng)用程序。在連接環(huán)節(jié)中,應(yīng)用程序首先向管控平臺(tái)發(fā)送連接請(qǐng)求,繼而得到數(shù)據(jù)庫(kù)賬號(hào)密碼的密文信息。應(yīng)用程序使用私鑰在應(yīng)用服務(wù)器的內(nèi)存中將密碼密文解密,并以此發(fā)起數(shù)據(jù)庫(kù)連接請(qǐng)求,數(shù)據(jù)庫(kù)端驗(yàn)證通過(guò)后可以進(jìn)行正常的數(shù)據(jù)庫(kù)訪問(wèn),完成整個(gè)連接環(huán)節(jié)。
(8)用戶行為審計(jì)及預(yù)警。使用審計(jì)功能對(duì)用戶訪問(wèn)進(jìn)行安全管控,可以實(shí)現(xiàn):記錄用戶登錄相關(guān)信息的訪問(wèn)痕跡審計(jì)、記錄用戶各類(lèi)操作的用戶行為審計(jì)、重大或高危操作的安全事件審計(jì)等。此外,當(dāng)管控平臺(tái)根據(jù)預(yù)定規(guī)則發(fā)現(xiàn)屬于高危或非法操作時(shí),會(huì)以短信或郵件方式通知系統(tǒng)管理員和數(shù)據(jù)庫(kù)管理員,并可自動(dòng)做出限制訪問(wèn)或鎖定賬號(hào)等處理。
(9)操作記錄可回朔??蓪?duì)數(shù)據(jù)庫(kù)賬戶授權(quán)等所有操作進(jìn)行全面記錄,通過(guò)日志定期或按需進(jìn)行回朔與分析,并可生成相應(yīng)報(bào)表。
3 實(shí)踐及應(yīng)用效果
(1)提供統(tǒng)一的數(shù)據(jù)庫(kù)賬號(hào)集中式管理,有效提高工作效率。
◆本平臺(tái)上線運(yùn)行后,同時(shí)管理多個(gè)數(shù)據(jù)庫(kù)賬號(hào)、權(quán)限等信息,以達(dá)到統(tǒng)一操作集中式管理效果。
◆提供友好的操作界面對(duì)賬號(hào)、角色、權(quán)限進(jìn)行集中式管理,操作便捷、易用,利用簡(jiǎn)單的操作界面可自動(dòng)生成相應(yīng)的數(shù)據(jù)庫(kù)腳本并運(yùn)行,減少相應(yīng)數(shù)據(jù)庫(kù)直接操作過(guò)程,從而節(jié)省了大量繁瑣的編寫(xiě)腳本操作流程,提升了80%的維護(hù)效率。
管理同樣的5套數(shù)據(jù)庫(kù)賬號(hào),在使用平臺(tái)前后的耗時(shí)對(duì)比如圖4所示:
(2)提升數(shù)據(jù)庫(kù)賬號(hào)密碼的安全性。
◆對(duì)平臺(tái)管理及所有的應(yīng)用系統(tǒng)數(shù)據(jù)庫(kù)賬號(hào)密碼進(jìn)行統(tǒng)一管理,應(yīng)用程序在數(shù)據(jù)庫(kù)連接前到平臺(tái)申請(qǐng)動(dòng)態(tài)密碼,降低了數(shù)據(jù)庫(kù)配置文件外泄帶來(lái)的數(shù)據(jù)安全風(fēng)險(xiǎn),提升了數(shù)據(jù)庫(kù)的安全性。
◆平臺(tái)上線運(yùn)行后,由其管理的所有數(shù)據(jù)庫(kù)相關(guān)賬號(hào)、角色、權(quán)限的相關(guān)操作統(tǒng)一通過(guò)本平臺(tái)進(jìn)行處理,避免了直接對(duì)數(shù)據(jù)庫(kù)進(jìn)行人工操作,降低了操作失誤所帶來(lái)的不必要的風(fēng)險(xiǎn),從另一個(gè)層面保障了數(shù)據(jù)的安全。
◆實(shí)現(xiàn)數(shù)據(jù)庫(kù)現(xiàn)行用戶全面梳理以及規(guī)范化。要求為不同的用戶分配不同的賬號(hào),實(shí)現(xiàn)一人一號(hào),杜絕賬號(hào)盜用、重用。刪除或鎖定與業(yè)務(wù)運(yùn)行、日常維護(hù)、監(jiān)控等工作無(wú)關(guān)的賬號(hào),回收無(wú)用賬號(hào)以降低泄露風(fēng)險(xiǎn)。
(3)良好的操作體驗(yàn),明顯改善用戶滿意度。
◆將所有數(shù)據(jù)庫(kù)、數(shù)據(jù)庫(kù)賬號(hào)、角色等進(jìn)行可視化、圖形化展示,增加了用戶對(duì)數(shù)據(jù)庫(kù)相關(guān)信息的全局掌控能力,降低了操作復(fù)雜程度,提升了用戶體驗(yàn)。
◆賬號(hào)申請(qǐng)審批流程采用短信息回復(fù)方式,流程到達(dá)時(shí)自動(dòng)下發(fā)短信息,回復(fù)信息即可參與審批流程,做到移動(dòng)辦公,避免了申請(qǐng)單的積壓?jiǎn)栴},簡(jiǎn)化了審批人的審批工作,提升了整體流程的效率。
◆數(shù)據(jù)庫(kù)運(yùn)維人員的工作模式逐步向自動(dòng)化轉(zhuǎn)變,通過(guò)簡(jiǎn)單的配置實(shí)現(xiàn)同時(shí)管理多個(gè)數(shù)據(jù)庫(kù)的賬號(hào)與權(quán)限,可有效提高數(shù)據(jù)庫(kù)運(yùn)維工作效率。
(4)運(yùn)維成本大幅度下降。
通過(guò)本系統(tǒng)對(duì)多數(shù)據(jù)庫(kù)集中管理,配合可視化、圖形化展示,降低了用戶操作復(fù)雜程度。一個(gè)人可以同時(shí)管理多個(gè)數(shù)據(jù)庫(kù)賬號(hào),節(jié)省30%的人工成本,讓數(shù)據(jù)庫(kù)維護(hù)人員快速有效地解決數(shù)據(jù)庫(kù)賬號(hào)、權(quán)限管理的相關(guān)問(wèn)題,顯著降低了數(shù)據(jù)庫(kù)的運(yùn)維成本。
4 結(jié)束語(yǔ)
本文以管理Oracle數(shù)據(jù)庫(kù)的管控平臺(tái)設(shè)計(jì)為例,介紹了該平臺(tái)的總體架構(gòu)及所采用的技術(shù)實(shí)現(xiàn)手段,并針對(duì)權(quán)限管理、崗位及角色管理、移動(dòng)辦公、動(dòng)態(tài)加密等核心功能進(jìn)行了詳細(xì)闡述。通過(guò)數(shù)據(jù)分析及某省級(jí)移動(dòng)運(yùn)營(yíng)商權(quán)限集中管控平臺(tái)實(shí)踐證明,采用管理平臺(tái)的方式對(duì)業(yè)務(wù)系統(tǒng)中涉及到的賬號(hào)、權(quán)限加以集中化管理,做到“人管理平臺(tái),平臺(tái)管理權(quán)限”,可以很好地從管理和技術(shù)兩個(gè)角度防范安全風(fēng)險(xiǎn),從而提高業(yè)務(wù)系統(tǒng)的安全性及管理的規(guī)范性。
參考文獻(xiàn):
[1] 張敏,徐震,馮登國(guó). 數(shù)據(jù)庫(kù)安全[M]. 北京: 科學(xué)出版社, 2005.
[2] 吳溥峰,張玉清. 數(shù)據(jù)庫(kù)安全綜述[J]. 計(jì)算機(jī)工程, 2006(12): 85-88.
[3] 李海泉,李健. 計(jì)算機(jī)網(wǎng)絡(luò)安全與加密技術(shù)[M]. 北京: 科學(xué)出版社, 2001.
[4] Josh Shaul, Aaron Ingram. Oracle安全實(shí)踐——來(lái)自第三方的關(guān)系型數(shù)據(jù)庫(kù)安全指南[M]. 李楨,譯. 北京: 科學(xué)出版社, 2009.
[5] 朱良根,雷振甲,張玉清. 數(shù)據(jù)庫(kù)安全技術(shù)研究[J]. 計(jì)算機(jī)應(yīng)用研究, 2004(9): 127-129.
[6] 韓衛(wèi),張艷蘇. MIS中數(shù)據(jù)庫(kù)安全性研究[J]. 計(jì)算機(jī)工程, 2002(6): 116-117.
[7] 李東風(fēng),謝昕. 數(shù)據(jù)庫(kù)安全技術(shù)研究與應(yīng)用[J]. 計(jì)算機(jī)安全, 2008(1): 42-44.
[8] 王希忠,曲家興,黃俊強(qiáng),等. 網(wǎng)絡(luò)數(shù)據(jù)庫(kù)安全檢測(cè)與管理程序設(shè)計(jì)實(shí)現(xiàn)[J]. 信息網(wǎng)絡(luò)安全, 2012(2): 14-18.
[9] 中國(guó)移動(dòng)通信有限公司. 中國(guó)移動(dòng)Oracle數(shù)據(jù)庫(kù)安全配置規(guī)范V2.0[Z]. 2012.
[10] 中國(guó)移動(dòng)通信有限公司. 中國(guó)移動(dòng)通用安全功能和配置規(guī)范[Z]. 2012.
[11] 甲骨文軟件系統(tǒng)有限公司. Database Advanced Security Administrator's Guide[EB/OL]. (2014-08-01)[2015-07-21]. http://docs.oracle.com/cd/E11882_01/network.112/e40393/toc.htm.★