數據的安全性策略:
數據的生考慮應基於數據的重要性。如果數據不是很重要,那麼數據的安全性策略可以稍稍放松一些。然而,如果數據很重要,那麼應該有一謹慎的安全性策略,用它來維護對數據對象訪問的有效控制。
用戶安全性策略:
(1) 一般用戶的安全性
A 密碼的安全性
如果用戶是通過數據庫進行用戶身份的確認,那麼建議使用密碼加密的方式與數據庫進行連接。
這種方式的設置方法如下:
在客戶端的Oracle.ini文件中設置
ora_encrypt_login數為true;
在服務器端的initOracle_SID.ora文件中設置
dbling_encypt_login參數為true。
B 權限管理
對於那些用戶很多,應用程序和數據對象很豐富的數據庫,應充分利用“角色”這個機制所帶的方便性對權限進行有效管理。對於復雜的系統環境,“角色”能大大地簡化權限的管理。
(2) 終端用戶的安全性
您必須針對終端用戶制定安全性策略。例如,對於一個有很多用戶的大規模數據庫,安全性管理者可以決定用戶組分類,為這些用戶組創建用戶角色,把所需的權限和應用程序角色授予每一個用戶角色,以及為用戶分配相應的用戶角色。當處理特殊的應用要求時,安全性管理者也必須明確地把一些特定的權限要求授予給用戶。您可以使用“角色”對終端用戶進行權限管理。
數據庫管理者安全性策略:
(1) 保護作為sys和system用戶的連接當數據庫創建好以後,立即更改有管理權限的sys和system用戶的密碼,防止非法用戶訪問數據庫。當作為sys和system用戶連入數據庫後,用戶有強大的權限用各種方式對數據庫進行改動。
(2) 保護管理者與數據庫的連接
應該只有數據庫管理者能用管理權限連入數據庫,當以sysdba或startup,shutdown,和recover或數據庫對象(例如create,drop,和delete等)進行沒有任何限制的操作。
(3) 使用角色對管理者權限進行管理
應用程序開發者的安全性策略:
(1) 應用程序開發者和他們的權限數據庫應用程序開發者是唯一一類需要特殊權限組完成自己工作的數據庫用戶。開發者需要諸如createtable,createprocedure等系統權限,然而,為了限制開發者對數據庫的操作,只應該把一些特定的系統權限授予開發者。
(2) 應用程序開發者的環境
A 程序開發者不應與終端用戶競爭數據庫資源;
B 用程序開發者不能損害數據庫其他應用產品。
(3) free和controlled應用程序開發
應用程序開發者有一下兩種權限:
A free development
應用程序開發者允許創建新的模式對象,包括table,index,procedure,package等,它允許應用程序開發者開發獨立於其他對象的應用程序。
B controlled development
應用程序開發者不允許創建新的模式對象。所有需要table,indes procedure等都由數據庫管理者創建,它保證了數據庫管理者能完全控制數據空間的使用以及訪問數據庫信息的途徑。但有時應用程序開發者也需這兩種權限的混和。
(4) 應用程序開發者的角色和權限
數據庫安全性管理者能創建角色來管理典型的應用程序開發者的權限要求。
A create系統權限常常授予給應用程序開發者,以到於他們能創建他的數據對象。
B 數據對象角色幾乎不會授予給應用程序開發者使用的角色。
(5) 加強應用程序開發者的空間限制作為數據庫安全性管理者,您應該特別地為每個應用程序開發者設置以下的一些限制:
A 開發者可以創建table或index的表空間;
B 在每一個表空間中,開發者所擁有的空間份額。應用程序管理者的安全在有許多數據庫應用程序的數據庫系統中,您可能需要一應用程序管理者,應用程序管理者應負責以下的任務:
C 為每一個應用程序創建角色以及管理每一個應用程序的角色;
D 創建和管理數據庫應用程序使用的數據對象;
E 需要的話,維護和更新應用程序代碼和Oracle的存儲過程和程序包。