Oracle數(shù)據(jù)庫安全 |
發(fā)布時(shí)間: 2012/7/13 15:08:47 |
隨著計(jì)算機(jī)的普及以及網(wǎng)絡(luò)的發(fā)展,數(shù)據(jù)庫已經(jīng)不再僅僅是那些程序員所專有的話題,更是被很多人所熟悉的,數(shù)據(jù)安全已經(jīng)不再是以前的“老生長談”,也更不是以前書本上那些“可望不可及”的條條框框。同時(shí),安全問題也是現(xiàn)今最為熱門的話題,也是企業(yè)比較關(guān)心的問題,可見安全問題的重要性,那就大家一起來探討一下Oracle數(shù)據(jù)庫安全問題。
以下就數(shù)據(jù)庫系統(tǒng)不被非法用戶侵入這個(gè)問題作進(jìn)一步的闡述。 一、組和安全性: 在操作系統(tǒng)下建立用戶組也是保證數(shù)據(jù)庫安全性的一種有效方法。Oracle程序?yàn)榱税踩阅康囊话惴譃閮深悾阂活愃械挠脩舳伎蓤?zhí)行,另一類只DBA可執(zhí)行。在Unix環(huán)境下組設(shè)置的配置文件是/etc/group,關(guān)于這個(gè)文件如何配置,請參閱Unix的有關(guān)手冊,以下是保證安全性的幾種方法: (1)在安裝Oracle Server前,創(chuàng)建數(shù)據(jù)庫管理員組(DBA)而且分配root和Oracle軟件擁有者的用戶ID給這個(gè)組。DBA能執(zhí)行的程序只有710權(quán)限。在安裝過程中SQL*DBA系統(tǒng)權(quán)限命令被自動分配給DBA組。 (2)允許一部分Unix用戶有限制地訪問Oracle服務(wù)器系統(tǒng),增加一個(gè)由授權(quán)用戶組的Oracle組,確保給Oracle服務(wù)器實(shí)用例程Oracle組ID,公用的可執(zhí)行程序,比如SQL*Plus,SQL*forms等,應(yīng)該可被這組執(zhí)行,然后該這個(gè)實(shí)用例程的權(quán)限為710,它將允許同組的用戶執(zhí)行,而其他用戶不能。 (3)改那些不會影響數(shù)據(jù)庫安全性的程序的權(quán)限為711。(注:在我們的系統(tǒng)中為了安裝和調(diào)試的方便,Oracle數(shù)據(jù)庫中的兩個(gè)具有DBA權(quán)限的用戶Sys和System的缺省密碼是manager。為了您數(shù)據(jù)庫系統(tǒng)的安全,我們強(qiáng)烈建議您該掉這兩個(gè)用戶的密碼,具體操作如下: 在SQL*DBA下鍵入:
其中password為您為用戶設(shè)置的密碼。 二、Oracle服務(wù)器實(shí)用例程的安全性: 以下是保護(hù)Oracle服務(wù)器不被非法用戶使用的幾條建議: (1) 確保$ORACLE_HOME/bin目錄下的所有程序的擁有權(quán)歸Oracle軟件擁有者所有; (2) 給所有用戶實(shí)用便程(sqiplus,sqiforms,exp,imp等)711權(quán)限,使服務(wù)器上所有的用戶都可訪問Oracle服務(wù)器; (3) 給所有的DBA實(shí)用例程(比如SQL*DBA)700權(quán)限。Oracle服務(wù)器和Unix組當(dāng)訪問本地的服務(wù)時(shí),您可以通過在操作系統(tǒng)下把Oracle服務(wù)器的角色映射到Unix的組的方式來使用Unix管理服務(wù)器的安全性,這種方法適應(yīng)于本地訪問。 在Unix中指定Oracle服務(wù)器角色的格式如下: ora_sid_role[_dla] 其中 sid 是您Oracle數(shù)據(jù)庫的oracle_sid; role 是Oracle服務(wù)器中角色的名字; d (可選)表示這個(gè)角色是缺省值;a (可選)表示這個(gè)角色帶有WITH ADMIN選項(xiàng),您只可以把這個(gè)角色授予其他角色,不能是其他用戶。 以下是在/etc/group文件中設(shè)置的例子:
詞組“ora_test_osoper_d”表示組的名字;詞組“NONE”表示這個(gè)組的密碼;數(shù)字1表示這個(gè)組的ID;接下來的是這個(gè)組的成員。前兩行是Oracle服務(wù)器角色的例子,使用test作為sid,osoper和osdba作為Oracle服務(wù)器角色的名字。osoper是分配給用戶的缺省角色,osdba帶有WITH ADMIN選項(xiàng)。為了使這些數(shù)據(jù)庫角色起作用,您必須shutdown您的數(shù)據(jù)庫系統(tǒng),設(shè)置Oracle數(shù)據(jù)庫參數(shù)文件initORACLE_SID.ora中os_roles參數(shù)為True,然后重新啟動您的數(shù)據(jù)庫。如果您想讓這些角色有connect internal權(quán)限,運(yùn)行orapwd為這些角色設(shè)置密碼。當(dāng)您嘗試connect internal時(shí),您鍵入的密碼表示了角色所對應(yīng)的權(quán)限。 本文出自:億恩科技【mszdt.com】 服務(wù)器租用/服務(wù)器托管中國五強(qiáng)!虛擬主機(jī)域名注冊頂級提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM] |