姚衛(wèi)國(guó)
[摘 要]本文首先闡述了數(shù)據(jù)庫(kù)安全的重要性,然后以目前應(yīng)用廣泛的oracle數(shù)據(jù)庫(kù)為例,先詳細(xì)地介紹了數(shù)據(jù)庫(kù)安全的主要內(nèi)容,并針對(duì)數(shù)據(jù)庫(kù)安全問(wèn)題提出且制定了完整的數(shù)據(jù)庫(kù)監(jiān)控方案,再系統(tǒng)地分析了啟用備份對(duì)保證數(shù)據(jù)安全的方法,最后進(jìn)行了總結(jié)。
[關(guān)鍵詞]數(shù)據(jù)安全;安全性策略;備份
隨著計(jì)算機(jī)技術(shù)的飛速發(fā)展,數(shù)據(jù)庫(kù)的廣泛應(yīng)用已深入各個(gè)領(lǐng)域,隨之而來(lái)的數(shù)據(jù)數(shù)據(jù)丟失、數(shù)據(jù)庫(kù)被非法用戶(hù)的侵入、敏感數(shù)據(jù)的防竊取和防篡改等數(shù)據(jù)庫(kù)庫(kù)安全問(wèn)題,越來(lái)越引起人們的重視,如何有效的保護(hù)數(shù)據(jù)庫(kù)的安全,實(shí)現(xiàn)數(shù)據(jù)的保密性,完整性和有效性,已成為當(dāng)今的一個(gè)熱門(mén)話題。
要保護(hù)數(shù)據(jù)庫(kù)安全,關(guān)鍵在于加密,我們不僅要給發(fā)往互聯(lián)網(wǎng)的數(shù)據(jù)庫(kù)中的數(shù)據(jù)加密,還要為從硬盤(pán)移到后端系統(tǒng)的過(guò)程中的數(shù)據(jù)加密,并且禁止用戶(hù)在沒(méi)有進(jìn)行加密的情況下實(shí)施數(shù)據(jù)備份。數(shù)據(jù)庫(kù)安全性很大程度上依賴(lài)于數(shù)據(jù)庫(kù)管理系統(tǒng)。目前市場(chǎng)上流行的是關(guān)系式數(shù)據(jù)庫(kù)管理系統(tǒng),其安全性功能很弱,這就導(dǎo)致數(shù)據(jù)庫(kù)安全性存在一定的威脅。下面以oracle數(shù)據(jù)庫(kù)為例,討論數(shù)據(jù)庫(kù)安全的幾個(gè)方面。
一、數(shù)據(jù)庫(kù)安全的主要內(nèi)容
(一)用戶(hù)安全性
1.用戶(hù)安全性定義及分類(lèi)。在操作系統(tǒng)下建立用戶(hù)組是保證數(shù)據(jù)庫(kù)安全性的一種有效方法,oracle程序?yàn)榱税踩砸话惴譃閮深?lèi):一類(lèi)是所有的用戶(hù)都可執(zhí)行,另一類(lèi)是DBA可執(zhí)行。
2.用戶(hù)安全性策略的分類(lèi)。第一,一般用戶(hù)的安全性主要包括密碼的安全性和權(quán)限管理。密碼的安全性,如果用戶(hù)是通過(guò)數(shù)據(jù)庫(kù)進(jìn)行用戶(hù)身份的確認(rèn),那么建議使用密碼加密的方式與數(shù)據(jù)庫(kù)進(jìn)行連接;權(quán)限管理,對(duì)于那些用戶(hù)很多,應(yīng)用程序和數(shù)據(jù)對(duì)象很豐富的數(shù)據(jù)庫(kù),應(yīng)充分利用“角色”這個(gè)機(jī)制所帶的方便性對(duì)權(quán)限進(jìn)行有效管理,對(duì)于復(fù)雜的系統(tǒng)環(huán)境,“角色”這個(gè)機(jī)制所帶的方便性對(duì)權(quán)限進(jìn)行有效的管理。第二,終端用戶(hù)的安全性,必須針對(duì)終端用戶(hù)定義安全性策略,例如,對(duì)于一個(gè)有很多用戶(hù)的大規(guī)模數(shù)據(jù)庫(kù),安全性管理者可以決定用戶(hù)組分類(lèi),把所需的權(quán)限和應(yīng)用程序角色授予每一個(gè)用戶(hù)角色,以及為用戶(hù)分配相應(yīng)的用戶(hù)角色,當(dāng)處理特殊的應(yīng)用要求時(shí),安全性管理者也必須明確地一些特定的權(quán)限要求授予給用戶(hù),您可以使用“角色”對(duì)終端用戶(hù)進(jìn)行權(quán)限管理。
(二)數(shù)據(jù)庫(kù)管理者安全性策略。首先,保護(hù)作為sys和syst em 用戶(hù)的連接當(dāng)數(shù)據(jù)庫(kù)創(chuàng)建好以后,立刻更改有管理權(quán)限的sys和syst em用戶(hù)的密碼,防止非法用戶(hù)訪問(wèn)數(shù)據(jù)庫(kù),當(dāng)作為sys 和syst em用戶(hù)連入數(shù)據(jù)庫(kù)后,用戶(hù)有強(qiáng)大的權(quán)限用各種方式對(duì)數(shù)據(jù)庫(kù)進(jìn)行改動(dòng)。其次,保護(hù)管理者與數(shù)據(jù)庫(kù)的連接應(yīng)該只有數(shù)據(jù)庫(kù)管理者能管理權(quán)限連入數(shù)據(jù)庫(kù),當(dāng)以sysdba或st artup , shut down , 和 recover 或數(shù)據(jù)庫(kù)對(duì)象例如create , drop , 和 delete 等)進(jìn)行沒(méi)有任何限制的操作。再次,使用角色對(duì)管理者權(quán)限進(jìn)行管理。
(三)應(yīng)用程序開(kāi)發(fā)者的安全性策略。應(yīng)用程序開(kāi)發(fā)者和他們的權(quán)限數(shù)據(jù)庫(kù)應(yīng)用程序開(kāi)發(fā)者是唯一一類(lèi)需要特殊權(quán)限組完成自己工作的數(shù)據(jù)庫(kù)用戶(hù),為了限制開(kāi)發(fā)者對(duì)數(shù)據(jù)庫(kù)的操作,只應(yīng)該把一些特定的系統(tǒng)權(quán)限授予開(kāi)發(fā)者。對(duì)于應(yīng)用程序開(kāi)發(fā)者的環(huán)境,程序開(kāi)發(fā)者不應(yīng)與終端用戶(hù)競(jìng)爭(zhēng)數(shù)據(jù)庫(kù)資源,用程序開(kāi)發(fā)者不能損害數(shù)據(jù)庫(kù)其他應(yīng)用產(chǎn)品。應(yīng)用程序開(kāi)發(fā)者的角色和權(quán)限方面,數(shù)據(jù)庫(kù)安全性管理者能創(chuàng)建角色來(lái)管理典型的應(yīng)用程序開(kāi)發(fā)者的權(quán)限要求,A create 系統(tǒng)權(quán)限常常授予給應(yīng)用程序開(kāi)發(fā)者,以到于他們能創(chuàng)建它的數(shù)據(jù)對(duì)象,B 數(shù)據(jù)對(duì)象角色幾乎不會(huì)授予給應(yīng)用程序開(kāi)發(fā)者使用的角色。
二、制定完整的數(shù)據(jù)庫(kù)監(jiān)控方案,維護(hù)數(shù)據(jù)庫(kù)安全
一個(gè)Oracle數(shù)據(jù)庫(kù)管理員應(yīng)該做的Oracle 數(shù)據(jù)庫(kù)系統(tǒng)監(jiān)控方案是這樣的,一是每天對(duì)Oracle數(shù)據(jù)庫(kù)的運(yùn)行狀態(tài)、日志文件、備份情況、數(shù)據(jù)庫(kù)的空間使用情況、系統(tǒng)資源的使用情況進(jìn)行檢查,發(fā)現(xiàn)并解決問(wèn)題。二是每周對(duì)數(shù)據(jù)庫(kù)對(duì)象的空間擴(kuò)展情況、數(shù)據(jù)的增長(zhǎng)情況進(jìn)行監(jiān)控,對(duì)數(shù)據(jù)庫(kù)做健康檢查,對(duì)數(shù)據(jù)庫(kù)對(duì)象的狀態(tài)做檢查。三是每月對(duì)表和索引等進(jìn)行Anqalyze , 檢查表,空間碎片,尋找數(shù)據(jù)庫(kù)性能調(diào)整的機(jī)會(huì),進(jìn)行數(shù)據(jù)庫(kù)性能調(diào)整,提出下一步空間管理計(jì)劃,對(duì)oracle 數(shù)據(jù)庫(kù)狀態(tài)進(jìn)行一次全面檢查。
三、啟用備份保證數(shù)據(jù)安全
由于計(jì)算機(jī)系統(tǒng)的故障(包括機(jī)器故障、介質(zhì)故障、誤操作等),數(shù)據(jù)庫(kù)隨時(shí)可能遭到破壞。因此,做好數(shù)據(jù)庫(kù)的備份非常重要。
數(shù)據(jù)庫(kù)的數(shù)據(jù)保護(hù)主要是數(shù)據(jù)庫(kù)的備份,一種是利用備份進(jìn)行數(shù)據(jù)庫(kù)恢復(fù),另一種數(shù)據(jù)保護(hù)就是日志,Oracle數(shù)據(jù)庫(kù)提供日志,用以記錄數(shù)據(jù)庫(kù)中所進(jìn)行的各種操作,在數(shù)據(jù)庫(kù)內(nèi)部建立一個(gè)所有作業(yè)的完整記錄,再一個(gè)就是控制文件的備份,它一般用于存儲(chǔ)數(shù)據(jù)庫(kù)物理結(jié)構(gòu)的狀態(tài),控制文件中的某些控制信息在實(shí)例恢復(fù)和介質(zhì)恢復(fù)期間用于引導(dǎo)Oracle數(shù)據(jù)庫(kù)。Oracle數(shù)據(jù)庫(kù)的備份主要有以下幾種方式:
(一)邏輯備份。邏輯備份就是將某個(gè)數(shù)據(jù)庫(kù)的記錄讀出并將其寫(xiě)入到一個(gè)文件中,這事經(jīng)常使用的一種備份方式。
(二)物理備份。物理備份也是數(shù)據(jù)庫(kù)管理員經(jīng)常使用的一種備份方式,它可以對(duì)oracle 數(shù)據(jù)庫(kù)的所有內(nèi)容進(jìn)行拷貝,其另一個(gè)好處是可將oracle數(shù)據(jù)庫(kù)管理系統(tǒng)完整轉(zhuǎn)儲(chǔ),一旦發(fā)生故障,可以方便及時(shí)地恢復(fù),以減少數(shù)據(jù)庫(kù)管理員重新安裝oracle帶來(lái)的麻煩。物理備份主要包括脫機(jī)備份和聯(lián)機(jī)備份。
采用上述幾種備份方法,即使計(jì)算機(jī)發(fā)生故障,如介質(zhì)損壞,軟件系統(tǒng)異常等情況是,也可以通過(guò)備份進(jìn)行不同程度的恢復(fù),使orcle數(shù)據(jù)庫(kù)系統(tǒng)盡快恢復(fù)到正常狀態(tài),幾種數(shù)據(jù)庫(kù)損害情況的恢復(fù)方式有:數(shù)據(jù)文件損壞,這種情況可以用最近所做的數(shù)據(jù)庫(kù)文件備份進(jìn)行恢復(fù),即將備份中的對(duì)應(yīng)文件的對(duì)應(yīng)文件恢復(fù)到原來(lái)的位置,重新加載數(shù)據(jù)庫(kù)??刂莆募p壞,數(shù)據(jù)庫(kù)系統(tǒng)將不能正常運(yùn)行,須將數(shù)據(jù)庫(kù)系統(tǒng)關(guān)閉,再?gòu)膫浞葜袑⑾鄳?yīng)的控制文件恢復(fù)到原位置,重新啟動(dòng)數(shù)據(jù)庫(kù)系統(tǒng)。整個(gè)文件系統(tǒng)損壞,這將導(dǎo)致整個(gè)Oracle數(shù)據(jù)庫(kù)系統(tǒng)崩潰,這種情況這能將磁盤(pán)或磁盤(pán)陣列重新初始化,去掉失效或不可靠的壞塊,重新創(chuàng)建文件系統(tǒng),利用備份將數(shù)據(jù)庫(kù)系統(tǒng)完整地恢復(fù),啟動(dòng)數(shù)據(jù)庫(kù)系統(tǒng)。
四、結(jié)語(yǔ)
數(shù)據(jù)庫(kù)技術(shù)的不斷發(fā)展,對(duì)數(shù)據(jù)庫(kù)的攻擊方式也多種多樣,我們應(yīng)該在保證自身電腦系統(tǒng)安全性的基礎(chǔ)上采用多種方法保證數(shù)據(jù)庫(kù)系統(tǒng)的安全。
參考文獻(xiàn):
[1]肖英,信息保障極其評(píng)價(jià)指標(biāo)應(yīng)用基礎(chǔ)研究【D】。武漢大學(xué),2010(04).
[2]劉娜,淺淡數(shù)據(jù)庫(kù)安全【J】。長(zhǎng)沙民政職業(yè)技術(shù)學(xué)院學(xué)報(bào),2009,(04).
[3]楊勇,數(shù)據(jù)庫(kù)服務(wù)模型極其加密方法的研究與實(shí)現(xiàn)【D】。四川大學(xué),2011.
[4]趙衛(wèi)利,基于SSL的數(shù)據(jù)庫(kù)安全代理研究與實(shí)現(xiàn)【D】。武漢理工大學(xué),2008.