摘要:在計(jì)算機(jī)技術(shù)迅猛發(fā)展的前提下,很多企業(yè)都建立了自己的數(shù)據(jù)庫(kù),安全性是數(shù)據(jù)庫(kù)必須要考慮的問(wèn)題。本文對(duì)Oracle數(shù)據(jù)庫(kù)中權(quán)限管理、用戶控制、審計(jì)和數(shù)據(jù)加密等數(shù)據(jù)庫(kù)的安全技術(shù)進(jìn)行分析,從而保障數(shù)據(jù)庫(kù)的安全性和穩(wěn)定性,以保障系統(tǒng)高效地運(yùn)轉(zhuǎn)。
關(guān)鍵詞:ORACLE數(shù)據(jù)庫(kù);權(quán)限管理;用戶控制;審計(jì);數(shù)據(jù)加密
中圖分類號(hào):G250.74 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1007-9599 (2012) 10-0000-01
數(shù)據(jù)庫(kù)在企事業(yè)單位得到了越來(lái)越廣泛地應(yīng)用,數(shù)據(jù)庫(kù)中存在著許多關(guān)鍵數(shù)據(jù),這些數(shù)據(jù)對(duì)于企事業(yè)單位有著至關(guān)重要的作用;因此,數(shù)據(jù)庫(kù)安全方面的問(wèn)題就顯得極為重要,必須加強(qiáng)對(duì)數(shù)據(jù)庫(kù)安全技術(shù)的研究。Oracle數(shù)據(jù)庫(kù)是應(yīng)用最為廣泛的數(shù)據(jù)庫(kù)系統(tǒng),因此如何保證Oracle數(shù)據(jù)庫(kù)的安全有著極為重要的意義。
Oracle數(shù)據(jù)庫(kù)在通常條件下可以保證數(shù)據(jù)庫(kù)的安全性和穩(wěn)定性,如果數(shù)據(jù)庫(kù)的操作系統(tǒng)受到其他計(jì)算機(jī)或者網(wǎng)絡(luò)的故障影響,那么數(shù)據(jù)的安全性就會(huì)受到威脅,甚至出現(xiàn)Oracle數(shù)據(jù)庫(kù)癱瘓的現(xiàn)象。為了保證數(shù)據(jù)庫(kù)的安全性,必須對(duì)數(shù)據(jù)庫(kù)采用安全技術(shù)來(lái)保證系統(tǒng)的正常運(yùn)行,確保數(shù)據(jù)的絕對(duì)安全和可靠。
一、權(quán)限管理
數(shù)據(jù)庫(kù)的安全問(wèn)題離不開用戶,用戶在對(duì)數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行訪問(wèn)甚至修改本身就對(duì)數(shù)據(jù)庫(kù)產(chǎn)生了較大的影響,因此,用戶是數(shù)據(jù)庫(kù)安全性的保障。通過(guò)對(duì)用戶的訪問(wèn)權(quán)限進(jìn)行控制,在一定程度上可以增強(qiáng)數(shù)據(jù)庫(kù)的安全性和數(shù)據(jù)的保密性。對(duì)用戶的權(quán)限控制可以采用授予和收回等方法有效地進(jìn)行權(quán)限管理。
(一)對(duì)不同的用戶進(jìn)行權(quán)限分級(jí)設(shè)置,即按照工作的需要把用戶進(jìn)行分級(jí)管理,讓每一個(gè)等級(jí)的用戶滿足其自身工作的需要即可,防止不同等級(jí)的用戶對(duì)數(shù)據(jù)進(jìn)行誤操作,根據(jù)等級(jí)的不同對(duì)用戶訪問(wèn)的數(shù)據(jù)范圍進(jìn)行設(shè)置;
(二)用戶可以對(duì)自己的數(shù)據(jù)進(jìn)行設(shè)置,只允許某一個(gè)或某部分用戶可以對(duì)數(shù)據(jù)進(jìn)行訪問(wèn)但是不可以進(jìn)行修改;
(三)對(duì)于一些具有特殊權(quán)限的用戶,他們可以對(duì)數(shù)據(jù)進(jìn)行修改,但是不可以把修改數(shù)據(jù)的權(quán)利轉(zhuǎn)讓給沒有修改權(quán)限的用戶;
(二)數(shù)據(jù)庫(kù)管理員可以對(duì)數(shù)據(jù)庫(kù)里面所有的數(shù)據(jù)和文件具有進(jìn)行創(chuàng)建、修改和刪除的權(quán)利,可以對(duì)數(shù)據(jù)庫(kù)中的相關(guān)文件進(jìn)行編輯和完善,并且定期對(duì)數(shù)據(jù)庫(kù)進(jìn)行檢查,將一些有害的信息刪除掉,以確保數(shù)據(jù)庫(kù)的絕對(duì)安全。
二、用戶控制
為了規(guī)范數(shù)據(jù)庫(kù)中的資料管理,以保證數(shù)據(jù)庫(kù)的安全性和數(shù)據(jù)的保密性,對(duì)數(shù)據(jù)庫(kù)中的不同用戶采用不同的用戶控制方式。
(一)對(duì)于普通用戶,即:權(quán)限對(duì)象,我們可以通過(guò)數(shù)據(jù)加密的方式來(lái)進(jìn)行數(shù)據(jù)訪問(wèn)。如:在客戶端的文件中設(shè)置訪問(wèn)密碼,在服務(wù)器端文件中進(jìn)行訪問(wèn)設(shè)置等;
(二)對(duì)于終端用戶,其安全性就更為重要了,很多企事業(yè)單位的數(shù)據(jù)庫(kù)都是采用為用戶創(chuàng)建角色的方式把所需要的文件和權(quán)限分配給所有的用戶角色。對(duì)于終端用戶來(lái)說(shuō),其權(quán)限的管理可以用角色來(lái)達(dá)到實(shí)施的目的;
(三)對(duì)數(shù)據(jù)庫(kù)管理者的安全性進(jìn)行設(shè)定也是非常重要的,如對(duì)管理者的用戶密碼進(jìn)行定期修改,可以有效地防止非法用戶盜取管理者的密碼,避免非法用戶對(duì)數(shù)據(jù)庫(kù)進(jìn)行訪問(wèn);可以通過(guò)密碼和相關(guān)認(rèn)證使管理者使管理者進(jìn)入數(shù)據(jù)庫(kù),以保證安全性,通過(guò)對(duì)某些默認(rèn)的用戶或者失效的用戶進(jìn)行篩選,保證數(shù)據(jù)庫(kù)的安全性和穩(wěn)定性。
三、審計(jì)
任何數(shù)據(jù)庫(kù)都有可能存在安全隱患,Oracle數(shù)據(jù)庫(kù)采用審計(jì)功能來(lái)對(duì)各個(gè)用戶進(jìn)行監(jiān)視和記錄他們的活動(dòng)情況,數(shù)據(jù)庫(kù)的審計(jì)記錄存放在SYS 方案中。初始狀態(tài)的Oracle數(shù)據(jù)庫(kù)審計(jì)功能是不開啟的,這是因?yàn)殚_啟審計(jì)功能會(huì)對(duì)數(shù)據(jù)庫(kù)的性能造成一些影響。Oracle數(shù)據(jù)庫(kù)支持三種類型的審計(jì),即語(yǔ)句審計(jì)、權(quán)限審計(jì)和方案對(duì)象審計(jì)。語(yǔ)句審計(jì)是針對(duì) DDL、DML 語(yǔ)句的審計(jì),如/ AUDIT TABLE0語(yǔ)句審計(jì)就是針對(duì)所有的CREATE 和DROP TABLE 語(yǔ)句進(jìn)行審計(jì);權(quán)限審計(jì)是對(duì)系統(tǒng)權(quán)限的審計(jì),并且是有權(quán)限限制的,如只針對(duì)/ CREATETABLE0的權(quán)限審計(jì),則只對(duì)CREATE TABLE語(yǔ)句進(jìn)行審計(jì);方案對(duì)象審計(jì)是針對(duì)特定的 DML 語(yǔ)句和特定方案對(duì)象的GRANT、REVOKE 語(yǔ)句的審計(jì)。
四、數(shù)據(jù)加密
Oracle數(shù)據(jù)庫(kù)的最后一道防線是對(duì)數(shù)據(jù)進(jìn)行加密,Oracle數(shù)據(jù)庫(kù)在操作系統(tǒng)中以文件的形式進(jìn)行存儲(chǔ);如果數(shù)據(jù)庫(kù)遭受外來(lái)入侵,入侵者就可以直接對(duì)數(shù)據(jù)庫(kù)中的文件進(jìn)行數(shù)據(jù)修改,甚至偽造數(shù)據(jù)庫(kù)中的文件內(nèi)容。Oracle數(shù)據(jù)庫(kù)這些安全隱患一般用戶很難發(fā)現(xiàn),可以采用對(duì)數(shù)據(jù)庫(kù)的管理系統(tǒng)進(jìn)行分層次加密來(lái)解決,它可以在數(shù)據(jù)庫(kù)遭受安全攻擊時(shí)有效地保障數(shù)據(jù)的安全,通常在下面三個(gè)層對(duì)數(shù)據(jù)進(jìn)行數(shù)據(jù)加密:
(一)操作系統(tǒng)OS層加密。OS層不能準(zhǔn)確辨認(rèn)數(shù)據(jù)庫(kù)文件中的數(shù)據(jù)關(guān)系,從而無(wú)法產(chǎn)生合理的密鑰,對(duì)密鑰進(jìn)行合理的管理和使用是非常困難的。所以,對(duì)企事業(yè)單位的大型數(shù)據(jù)庫(kù)在OS層對(duì)數(shù)據(jù)庫(kù)文件進(jìn)行加密實(shí)現(xiàn)起來(lái)難度較大。
(二)數(shù)據(jù)庫(kù)管理系統(tǒng)DBMS內(nèi)核層加密。這種加密方法是在物理存取數(shù)據(jù)之前完成加/解密工作,加密的功能十分強(qiáng)大,且加密后不會(huì)受到影響DBMS的功能,實(shí)現(xiàn)了加密功能與數(shù)據(jù)庫(kù)管理系統(tǒng)之間的無(wú)縫銜接;但是加密運(yùn)算在服務(wù)器端進(jìn)行,加重了服務(wù)器的負(fù)載,而且DBMS和加密器之間的接口需要DBMS 開發(fā)商的支持。
(三)數(shù)據(jù)庫(kù)管理系統(tǒng)DBMS外層實(shí)現(xiàn)加密。這種加密方式是將數(shù)據(jù)庫(kù)加密系統(tǒng)做成DBMS的一個(gè)外層工具,根據(jù)加密的具體要求自動(dòng)對(duì)數(shù)據(jù)進(jìn)行的加/解密處理,這種方式加/解密運(yùn)算在客戶端進(jìn)行,不會(huì)加重?cái)?shù)據(jù)庫(kù)服務(wù)器的負(fù)載并且可以實(shí)現(xiàn)網(wǎng)上傳輸?shù)募用?,但是加密功能受到了一定限制,與數(shù)據(jù)庫(kù)管理系統(tǒng)之間的銜接不是很好。
Oracle9i在 Oracle10g中增加了DBMS_CRYPTO包用于數(shù)據(jù)加密/解密,支持DES、AES等多種加密/解密算法。
五、結(jié)論
通過(guò)對(duì)Oracle數(shù)據(jù)庫(kù)安全技術(shù)進(jìn)行分析,并且在 Oracle9及以上版本的數(shù)據(jù)庫(kù)上進(jìn)行了實(shí)際的應(yīng)用,從而保證Oracle數(shù)據(jù)庫(kù)安全穩(wěn)定地運(yùn)行。
參考文獻(xiàn):
[1]蔣衛(wèi).基于Oracle的ICCAM系統(tǒng)設(shè)計(jì)與開發(fā)[D].無(wú)錫:江南大學(xué),2009
[2]孫銀昌,夏躍偉,劉蘭蘭.ORACLE數(shù)據(jù)庫(kù)安全策略和方法[J]煤炭技術(shù),2012,(3)
[3]于淑云,馬繼軍.Oracle數(shù)據(jù)庫(kù)安全問(wèn)題探析與應(yīng)對(duì)策略[J].軟件導(dǎo)刊,2010,(10)
[4]李紅,劉志杰,謝曉堯.Oracle分布式數(shù)據(jù)庫(kù)系統(tǒng)及網(wǎng)絡(luò)安全策略研究[J].貴州師范大學(xué)學(xué)報(bào)(自然科學(xué)版),2011,(8)
[作者簡(jiǎn)介]
魏道洪(1974,10-):男,福建省福清市人,大學(xué)文化,助理工程師。