鐘蘇生,王甜,吳石松,李凱
(廣東電網(wǎng)有限責(zé)任公司信息中心,廣東廣州 510080)
?
電力企業(yè)IDC運(yùn)行環(huán)境下的數(shù)據(jù)庫(kù)自動(dòng)化安全檢查方法研究
鐘蘇生,王甜,吳石松,李凱
(廣東電網(wǎng)有限責(zé)任公司信息中心,廣東廣州510080)
摘要:信息系統(tǒng)安全是保障系統(tǒng)正常運(yùn)行的重要要求。一方面出于企事業(yè)單位的信息安全要求;一方面隨著信息化產(chǎn)品漏洞的不斷更新及公司安全要求的提高,數(shù)據(jù)庫(kù)的定期例行檢查是極為必要的。從信息系統(tǒng)的自動(dòng)化運(yùn)維角度出發(fā),介紹在大型的電力企業(yè)環(huán)境下的信息系統(tǒng)數(shù)據(jù)庫(kù)自動(dòng)化安全檢查工具的運(yùn)行原理與解析實(shí)施案例。
關(guān)鍵詞:數(shù)據(jù)庫(kù)運(yùn)維;信息安全技術(shù);數(shù)據(jù)庫(kù)自動(dòng)檢查技術(shù)
信息系統(tǒng)的安全是保障系統(tǒng)正常運(yùn)行的重要要求。新的數(shù)據(jù)庫(kù)在安裝部署完成后,需要進(jìn)行相應(yīng)的安全檢查,使其符合信息安全要求。同時(shí),因信息化產(chǎn)品漏洞的不斷更新及安全要求的提高,對(duì)原有數(shù)據(jù)庫(kù)也需周期性進(jìn)行安全檢查。據(jù)現(xiàn)階段發(fā)明者所在企業(yè)的數(shù)據(jù)統(tǒng)計(jì),一個(gè)數(shù)據(jù)庫(kù)的安全檢查需要20分鐘,而日常運(yùn)維工作是每個(gè)IDC(Internet Data Center,互聯(lián)網(wǎng)數(shù)據(jù)中心)無(wú)法回避的工作之一。同時(shí),信息安全風(fēng)險(xiǎn)越來(lái)越嚴(yán)峻,因此安全檢查的要求不斷更新,這些都對(duì)安全檢查工作提出了更高的要求。
目前的數(shù)據(jù)庫(kù)安全檢查一般通過(guò)人工逐套系統(tǒng)進(jìn)行巡檢。由于數(shù)據(jù)庫(kù)中的數(shù)據(jù)量大,所需數(shù)據(jù)量來(lái)源多且非常復(fù)雜,該方式耗時(shí)較大,效率低,且受人為因素影響而準(zhǔn)確性低。
本文從系統(tǒng)地自動(dòng)化運(yùn)維角度出發(fā),主要介紹了在大型的電力企業(yè)規(guī)模下的信息系統(tǒng)數(shù)據(jù)庫(kù)自動(dòng)化安全檢查工具的運(yùn)行原理與實(shí)施案例解析。
本文提供了一種基于企業(yè)環(huán)境中的對(duì)數(shù)據(jù)庫(kù),特別是Oracle的安全檢查方法,其主要步驟如圖1所示。
圖1 安全檢查方法步驟
1.1第一步:上傳自動(dòng)檢測(cè)腳本至目標(biāo)主機(jī)
在Excel文檔的宏工具中集成Winscp文件傳輸工具,通過(guò)Winscp文件傳輸工具讀取需要進(jìn)行數(shù)據(jù)庫(kù)安全檢查的目標(biāo)主機(jī)的配置文件,并根據(jù)該配置文件中的信息將該Winscp文件的shell自動(dòng)檢測(cè)腳本上傳至目標(biāo)主機(jī)。
同時(shí)支持SCP(Session Control Protocol,會(huì)話控制協(xié)議)。其主要功能就是在控制終端與遠(yuǎn)程計(jì)算機(jī)間安全的復(fù)制文件。Shell自動(dòng)檢測(cè)腳本是用各類命令預(yù)先放入到一個(gè)文件中,方便一次性執(zhí)行的程序文件??稍诒镜貑?dòng)Winscp腳本,并通過(guò)Winscp腳本并根據(jù)SSH傳輸協(xié)議將shell腳本傳輸?shù)侥繕?biāo)數(shù)據(jù)庫(kù)的系統(tǒng)中。
配置文件可包括檢查對(duì)象主機(jī)的IP(Internet Protocol,互聯(lián)網(wǎng)協(xié)議)地址、賬號(hào)、密碼等信息。通過(guò)將以上shell自動(dòng)檢查腳本上傳至各目標(biāo)主機(jī),并執(zhí)行自動(dòng)檢查腳本,該步驟使原本人工逐臺(tái)登陸的過(guò)程自動(dòng)化。
1.2第二步:獲取數(shù)據(jù)庫(kù)健康狀態(tài)數(shù)據(jù)
在目標(biāo)主機(jī)上執(zhí)行第一步中shell自動(dòng)檢測(cè)腳本,通過(guò)該shell自動(dòng)檢測(cè)腳本提取目標(biāo)數(shù)據(jù)庫(kù)的運(yùn)行數(shù)據(jù),根據(jù)預(yù)設(shè)的格式將目標(biāo)數(shù)據(jù)庫(kù)運(yùn)行數(shù)據(jù)保存成文本文件,對(duì)該文件中的數(shù)據(jù)庫(kù)運(yùn)行數(shù)據(jù)進(jìn)行篩選,得到反映數(shù)據(jù)庫(kù)運(yùn)行的健康狀態(tài)的運(yùn)維數(shù)據(jù),并根據(jù)數(shù)據(jù)庫(kù)的功能從運(yùn)維數(shù)據(jù)中篩選出執(zhí)行對(duì)應(yīng)功能所需的參數(shù)。
在本步驟中,可從數(shù)據(jù)庫(kù)的運(yùn)行數(shù)據(jù)中提取數(shù)據(jù)庫(kù)容量參數(shù)、數(shù)據(jù)庫(kù)性能參數(shù)、數(shù)據(jù)庫(kù)系統(tǒng)運(yùn)行異常信息、系統(tǒng)bug數(shù)據(jù)、操作失誤數(shù)據(jù)等反映數(shù)據(jù)庫(kù)運(yùn)行的健康狀態(tài)的數(shù)據(jù),數(shù)據(jù)提取的依據(jù)可來(lái)源于運(yùn)維經(jīng)驗(yàn)。數(shù)據(jù)提取方式可包括后臺(tái)輸入命令逐條查看或從日志文件中截取關(guān)鍵字段等方式。
1.2.1數(shù)據(jù)庫(kù)容量參數(shù)
(1)數(shù)據(jù)總量:取自數(shù)據(jù)庫(kù)自有的系統(tǒng)表dba_segment中bytes字段。
(2)表數(shù)據(jù)總量:取自數(shù)據(jù)庫(kù)自有的系統(tǒng)表dba_segment中對(duì)象為‘TABLE’的bytes值bytes。
(3)LOB(Large Object大對(duì)象)數(shù)據(jù)量:取自數(shù)據(jù)庫(kù)系統(tǒng)表dba_segment中segment_type =‘LOB’的bytes值總量,單位GB。
(4)ASM總量:取數(shù)據(jù)庫(kù)中ASM卷組的總量。
(5)ASM剩余量:取數(shù)據(jù)庫(kù)中ASM卷組的剩余空間總量。
(6)告警文件系統(tǒng)數(shù):統(tǒng)計(jì)容量已經(jīng)超過(guò)告警臨界值的文件系統(tǒng)數(shù)。
(7)表空間剩余百分比:統(tǒng)計(jì)數(shù)據(jù)庫(kù)中表空間剩余量占總?cè)萘康陌俜直取?/p>
(8)表空間最大可擴(kuò)展大小:獲取數(shù)據(jù)庫(kù)表空間容量信息表DBA_TABLE_SPACE、數(shù)據(jù)庫(kù)固定表空間容量信息表DBA_DATA_FILES和數(shù)據(jù)庫(kù)臨時(shí)表空間信息表DBA_TEMP_FILES中各類數(shù)據(jù)庫(kù)表空間最大可擴(kuò)展大小。
(9)表空間剩余大小:取數(shù)據(jù)庫(kù)中表空間剩余容量。
(10)審計(jì)表大?。唤y(tǒng)計(jì)數(shù)據(jù)庫(kù)中審計(jì)信息的記錄大小。
1.2.2數(shù)據(jù)庫(kù)性能參數(shù)
(1)歸檔個(gè)數(shù):取上一個(gè)自然日0:00到當(dāng)前時(shí)間范圍內(nèi)產(chǎn)生的歸檔文件的個(gè)數(shù)。
(2)歸檔量:取上一個(gè)自然日0:00到當(dāng)前時(shí)間范圍內(nèi)產(chǎn)生的歸檔文件的大??;總會(huì)話數(shù):取當(dāng)前數(shù)據(jù)庫(kù)的會(huì)話數(shù)。
(3)活動(dòng)會(huì)話數(shù):取當(dāng)前數(shù)據(jù)庫(kù)的活動(dòng)會(huì)話數(shù)。
(4)服務(wù)會(huì)話數(shù):取當(dāng)前數(shù)據(jù)庫(kù)的服務(wù)會(huì)話數(shù)。
(5)非空閑會(huì)話數(shù):取當(dāng)前數(shù)據(jù)庫(kù)的非空閑會(huì)話數(shù)。
(6)并行會(huì)話數(shù):數(shù)據(jù)庫(kù)系統(tǒng)當(dāng)前并行的會(huì)話數(shù);
(7)當(dāng)前進(jìn)程限制比:取當(dāng)前活動(dòng)的進(jìn)程數(shù)與數(shù)據(jù)庫(kù)系統(tǒng)限制最高可運(yùn)行的進(jìn)程數(shù)的比值;
(8)最大進(jìn)程限制比:取數(shù)據(jù)庫(kù)自啟動(dòng)以來(lái)活動(dòng)進(jìn)程數(shù)的最大值與數(shù)據(jù)庫(kù)系統(tǒng)限制最高可運(yùn)行的進(jìn)程數(shù)的比值。
(9)失效對(duì)象數(shù):統(tǒng)計(jì)數(shù)據(jù)庫(kù)中已經(jīng)失效的對(duì)象數(shù)。
(10)失效索引數(shù):統(tǒng)計(jì)數(shù)據(jù)庫(kù)中已失效的索引數(shù)量。
(11)總進(jìn)程數(shù):取當(dāng)前系統(tǒng)運(yùn)行中總進(jìn)程數(shù)。
(12)ORA進(jìn)程數(shù):統(tǒng)計(jì)數(shù)據(jù)庫(kù)系統(tǒng)中當(dāng)前運(yùn)行的Oracle類型的總進(jìn)程數(shù)。
(13)GRI進(jìn)程數(shù):取數(shù)據(jù)庫(kù)中當(dāng)前運(yùn)行的Grip總進(jìn)程數(shù)量。
(14)僵死進(jìn)程數(shù):取當(dāng)前運(yùn)行的僵死總進(jìn)程數(shù)量,即ZOMBPRO。
(15)總內(nèi)存:取數(shù)據(jù)庫(kù)系統(tǒng)運(yùn)行可用的總內(nèi)存。
(16)剩余內(nèi)存:即數(shù)據(jù)庫(kù)服務(wù)端所在的操作系統(tǒng)剩余物理內(nèi)存大小,單位:MB。
(17)CPU使用率:取當(dāng)前數(shù)據(jù)庫(kù)服務(wù)器CPU的使用率。
(18)回收站數(shù)量:統(tǒng)計(jì)數(shù)據(jù)庫(kù)運(yùn)行過(guò)程中產(chǎn)生的回收站文件數(shù)量。
(19)失效索引數(shù):統(tǒng)計(jì)數(shù)據(jù)庫(kù)中已失效的索引數(shù)量。
(20)失效對(duì)象數(shù):統(tǒng)計(jì)數(shù)據(jù)庫(kù)中已經(jīng)失效的對(duì)象數(shù)。
1.2.3數(shù)據(jù)庫(kù)系統(tǒng)運(yùn)行異常信息
該部分信息包括:
(1)異常JOB數(shù)。取當(dāng)前時(shí)間向前7×24小時(shí)內(nèi)的異常JOB數(shù)。
(2)異常用戶數(shù)。取數(shù)據(jù)庫(kù)中運(yùn)行異常的用戶數(shù)量,包括:①近7天內(nèi)被鎖的用戶;②已經(jīng)過(guò)期的用戶;③未來(lái)31天內(nèi)將過(guò)期的用戶。以上3種情況用戶的總數(shù)量。
(3)異常文件數(shù)。取數(shù)據(jù)庫(kù)中異常(狀態(tài)為謖OFFLINE謖,謖RECOVER謖,謖SYSOFF謖)的數(shù)據(jù)文件數(shù)量。
(4)ASM空間告警數(shù)。取數(shù)據(jù)庫(kù)中ASM卷組使用率超過(guò)臨界值(本文建議值是90%)告警的數(shù)量。
(5)異常CRS(Oracle Cluster Ready Service,Oracle集群就緒服務(wù))數(shù)。
1.2.4數(shù)據(jù)庫(kù)系統(tǒng)審計(jì)數(shù)據(jù)
(1)adump(auditdump,審計(jì)信息文件)審計(jì)文件數(shù)。
(2)歸檔目錄大小:取文件系統(tǒng)中歸檔文件所在目錄的大小。
(3)監(jiān)聽(tīng)日志大?。航y(tǒng)計(jì)數(shù)據(jù)庫(kù)系統(tǒng)監(jiān)聽(tīng)日志大小。
(4)ORA錯(cuò)誤數(shù):統(tǒng)計(jì)當(dāng)前時(shí)間上1個(gè)自然日的0:00起到當(dāng)前時(shí)間的所有ORA報(bào)錯(cuò)記錄的數(shù)量。
1.3第三步:統(tǒng)計(jì)分析得出檢測(cè)結(jié)果
通過(guò)Winscp腳本接收目標(biāo)主機(jī)返回的所述參數(shù),將換算和處理后的參數(shù)導(dǎo)入Excel表格中,并根據(jù)Excel表格中的參數(shù)對(duì)數(shù)據(jù)庫(kù)的安全性能進(jìn)行檢查。
在本步驟中,可根據(jù)運(yùn)維要求,并按照相應(yīng)的維度對(duì)Excel表格中的參數(shù)進(jìn)行篩選和統(tǒng)計(jì),然后,可將篩選和統(tǒng)計(jì)后的參數(shù)生成報(bào)表,包括:
(1)Oracle數(shù)據(jù)庫(kù)日常巡檢結(jié)果。(2)表空間分析結(jié)果。
(3)操作系統(tǒng)整體趨勢(shì)分析結(jié)果。(4)數(shù)據(jù)庫(kù)整體趨勢(shì)分析結(jié)果。(5)表空間趨勢(shì)分析結(jié)果。
以某電力企業(yè)IDC系統(tǒng)真實(shí)場(chǎng)景為例,采用本文提出的方法進(jìn)行數(shù)據(jù)庫(kù)系統(tǒng)的安全檢查與分析。
該IDC環(huán)境中有131套Oracle數(shù)據(jù)庫(kù),版本分布包括9i、10g、11g、12c等,使用該工具前,每做一次安全檢查,需要4位熟練工程師逐套系統(tǒng)取數(shù)據(jù),耗時(shí)約1個(gè)工作日。
采用本文提出的方法,工作流程如下:
第一步,進(jìn)入“控制臺(tái)”頁(yè)面,單擊“編輯配置”,根據(jù)備注信息填入被巡檢服務(wù)器的相關(guān)信息。必填字段有序號(hào)、類別、主機(jī)名、IP地址、資源名、查詢、類型、啟用、用戶、驗(yàn)證方式、key、密碼、端口、上傳源目錄、上傳目標(biāo)目錄、腳本名、下載源目錄(“控制頁(yè)”可配置控制整個(gè)模塊的啟用)。
第二步,上傳文件。完成以上配置后,進(jìn)入“控制臺(tái)”,單擊“上傳文件”,即可把相關(guān)腳本部署上傳到遠(yuǎn)程服務(wù)器上。
第三步,執(zhí)行腳本。進(jìn)入“控制臺(tái)”,單擊“執(zhí)行腳本”,在遠(yuǎn)程機(jī)器上執(zhí)行部署的腳本。
第四步,下載文件。進(jìn)入“控制臺(tái)”,單擊“下載文件”,下載執(zhí)行腳本生成的文件。
第五步,導(dǎo)入excel。進(jìn)入“控制臺(tái)”,單擊“導(dǎo)入excel”,將下載的文件導(dǎo)入excel表的基礎(chǔ)表中。
進(jìn)入“控制臺(tái)”,單擊“刪除重復(fù)”,刪除基礎(chǔ)表中重復(fù)的數(shù)據(jù)(短時(shí)間多次導(dǎo)入會(huì)產(chǎn)生重復(fù)數(shù)據(jù))。
第六步,生成數(shù)據(jù)報(bào)表。進(jìn)入“控制臺(tái)”,單擊“生成報(bào)告”,對(duì)基礎(chǔ)表Oracleall、Oracleos、Oracletbs進(jìn)行查詢統(tǒng)計(jì),生成ORACLE表格。
本文從數(shù)據(jù)庫(kù)系統(tǒng)的自動(dòng)化運(yùn)維工作出發(fā),主要提出了一種在大型電力企業(yè)的IDC數(shù)據(jù)中心內(nèi)信息系統(tǒng)數(shù)據(jù)庫(kù)自動(dòng)化安全檢查工具,介紹其運(yùn)行原理與實(shí)施案例解析。
現(xiàn)有技術(shù)對(duì)數(shù)據(jù)庫(kù)的檢查工作需要手工去對(duì)上百臺(tái)設(shè)備逐個(gè)登陸、取數(shù)、人工統(tǒng)計(jì)數(shù)據(jù),而該數(shù)據(jù)庫(kù)安全檢查方法通過(guò)將這些重復(fù)上百次量(具體次數(shù)視IDC規(guī)模而定)的過(guò)程集成到了自動(dòng)化工具中,減少了數(shù)據(jù)庫(kù)檢查的工作量與重復(fù)性工作,且提高了工作效率與減少了人工操作引起的不準(zhǔn)確性。
參考文獻(xiàn):
[1]Randal L.Schwartz,brian D Foy,Tom Phoenix. Perl語(yǔ)言入門(mén)(中文版第6版)[M].盛春,譯.東南大學(xué)出版社,2012.
[2]Richard Blum,Christine Bresnahan. Linux命令行與Shell腳本編程大全[M].武海峰,譯.人民郵電出版社,2012.
[3]宋文.電力企業(yè)信息系統(tǒng)中Oracle數(shù)據(jù)庫(kù)運(yùn)維管理探析[J].科技風(fēng),2014(5):201-201.
[4]秦士兵.電力企業(yè)信息系統(tǒng)中Oracle數(shù)據(jù)庫(kù)運(yùn)維管理[J].中國(guó)新技術(shù)新產(chǎn)品,2012(21):41-42.
作者簡(jiǎn)介:鐘蘇生(1985-),男,工程師,本科,從事電力信息化工作;王甜(1984-),女,工程師,本科,從事電力信息化工作;吳石松(1986-),男,工程師,碩士研究生,從事電力信息化工作。