怎麼保證Oracle資料庫的安全

來源:果殼範文吧 2.75W

在作業系統下建立使用者組是保證資料庫安全性的一種有效方法。Oracle程式為了安全性目的一般分為兩類:一類所有的使用者都可執行,另一類只DBA可執行。在Unix環境下組設定的配置檔案是/etc/group,關於這個檔案如何配置,請參閱Unix的有關手冊。

怎麼保證Oracle資料庫的安全

保證安全性的幾種方法:

(1) 在安裝Oracle Server前,建立資料庫管理員組(DBA)而且分配root和Oracle軟體擁有者的使用者ID給這個組。DBA能執行的程式只有710許可權。在安裝過程中SQL*DBA系統許可權命令被自動分配給DBA組。

(2) 允許一部分Unix使用者有限制地訪問Oracle服務器系統,增加一個由授權使用者組的Oracle組,確保給Oracle伺服器實用例程Oracle組ID,公用的可執行程式,比如SQL*Plus,SQL*Forms等,應該可被這組執行,然後該這個實用例程的許可權為710,它將允許同組的使用者執行,而其他使用者不能。

(3) 改那些不會影響資料庫安全性的程式的許可權為711.注:在我們的系統中為了安裝和除錯的方便,Oracle資料庫中 的兩個具有DBA許可權的使用者Sys和System的預設密碼是manager.為了您資料庫系統的安全,我們強烈建議您該掉這兩個使用者的密碼,具體操作如下:

在SQL*DBA下鍵入:

alter user sys indentified by password;

alter user system indentified by password;

其中password為使用者設定的密碼。

Oracle伺服器實用例程的安全性:

以下是保護Oracle伺服器不被非法使用者使用的幾條建議:

(1) 確保$ORACLE_HOME/bin目錄下的所有程式的.擁有權歸Oracle軟體擁有者所有;

(2) 給所有使用者實用便程(sqiplus,sqiforms,exp,imp等)711許可權,使伺服器上所有的使用者都可訪問Oracle伺服器;

(3) 給所有的DBA實用例程(比如SQL*DBA)700許可權。Oracle伺服器和Unix組當訪問本地的伺服器時,您可以通過在作業系統下把Oracle伺服器的角色對映到Unix的組的方式來使用Unix管理伺服器的安全性,這種方法適應於本地訪問。

在Unix中指定Oracle伺服器角色的格式如下:

ora_sid_role[_dla]

其中sid是您Oracle資料庫的oracle_sid;

role 是Oracle伺服器中角色的名字;

d (可選)表示這個角色是預設值;

a (可選)表示這個角色帶有WITH ADMIN選項,

您只可以把這個角色授予其他角色,不能是其他使用者。

以下是在/etc/group檔案中設定的例子:

ora_test_osoper_d:NONE:1:jim,narry,scottora_test_osdba_a:NONE:3:patora_test_role1:NONE:4:bob,jane,tom,mary,jimbin: NONE:5:root,oracle,dbaroot:NONE:7:root

片語“ora_test_osoper_d”表示組的名字;片語“NONE”表示這個組的密碼;數字1表示這個組的ID;接下來的是這個組的成員。

前兩行是Oracle伺服器角色的例子,使用test作為sid,osoper和osdba作為Oracle伺服器角色的名字。

osoper是分配給使用者的預設角色,osdba帶有WITHADMIN選項。為了使這些資料庫角色起作用,您必須shutdown您的資料庫系統,設定Oracle資料庫引數檔案initORACLE_中os_roles引數為True,然後重新啟動您的資料庫。

如果您想讓這些角色有connectinternal許可權,執行orapwd為這些角色設定密碼。當您嘗試connect internal時,您鍵入的密碼錶示了角色所對應的許可權。

熱門標籤