呂永國
摘? 要:隨著現(xiàn)代信息時代的到來,生成的數(shù)據(jù)越多越快。很多數(shù)據(jù)被保存在數(shù)據(jù)庫里面,變成一種數(shù)字資產(chǎn)。企業(yè)和組織機構運用數(shù)據(jù)庫管理系統(tǒng)操作和維護數(shù)據(jù)??紤]到數(shù)據(jù)庫存放數(shù)據(jù)的重要性和私密性,確保數(shù)據(jù)庫信息安全非常重要。本文詳細解析Oracle數(shù)據(jù)庫的安全體系機制,并討論一些對數(shù)據(jù)庫可能的攻擊及其應對的策略。
關鍵詞:數(shù)據(jù)庫管理系統(tǒng);身份驗證;權限管理;數(shù)據(jù)加密;數(shù)據(jù)庫審核
1.Oracle數(shù)據(jù)庫安全機制
1.1多種身份驗證
Oracle數(shù)據(jù)庫提供多種身份驗證的方式,滿足客戶不用的業(yè)務需求,例如操作系統(tǒng)認證、網(wǎng)絡認證、數(shù)據(jù)庫身份驗證、多層身份驗證等方式。客戶可以根據(jù)實際系統(tǒng)安全要求,對上述描述方法進行任意組合,加強身份驗證功能。這些數(shù)據(jù)庫的高級安全技術,能進一步提升登錄機制的安全級別。比如網(wǎng)絡身份認證機制,Oracle支持密碼技術的第三方身份網(wǎng)絡認證服務,如Kerberos或Sesame等[2]。同時數(shù)據(jù)庫自身包含有Oracle Wallet manager,Oracle Enterprise Security Manager等基礎結構組件。支持基于公鑰密碼學的身份驗證系統(tǒng),向用戶客戶端頒發(fā)數(shù)字證書,客戶端可以使用它們向企業(yè)數(shù)據(jù)庫服務器進行身份驗證。
1.2 權限管理
Oracle授權方式能很好滿足不同等級的用戶需求。它主要在兩個方面進行授權,一個是用戶的訪問或者操作應用上面的各種限制,另外一個是允許某些用戶訪問,處理或者更改數(shù)據(jù)。在用戶資源限制上面,Oracle通過允許創(chuàng)建數(shù)量眾多的概要文件,這些文件可以精確控制每個用戶使用系統(tǒng)的資源數(shù)量,包含CUP使用時間、連接會話的數(shù)量、邏輯輸入輸出次數(shù)的限制和空閑時間等控制[3]。對于Oracle這種大型多用戶數(shù)據(jù)庫系統(tǒng),昂貴的系統(tǒng)資源控制非常有必要。一個或者多個用戶過多的消耗資源,會影響到其他的數(shù)據(jù)庫用戶正常使用,進而影響到整個數(shù)據(jù)庫性能。
為了完善角色管理,Oracle數(shù)據(jù)庫引入了執(zhí)行用戶權限分析的功能(Oracle Database Vault with Database),數(shù)據(jù)庫存儲權限分析通過識別數(shù)據(jù)庫用戶在運行時使用的實際權限,幫助提高應用程序的安全性。評估標識為未使用的權限是否可能被吊銷,這有助于減少攻擊面并實現(xiàn)最小權限模型。權限分析可以集成到應用程序開發(fā)過程中,幫助創(chuàng)建更安全的應用程序。
1.3 數(shù)據(jù)庫加密技術
企業(yè)和組織機構,有時會發(fā)生未經(jīng)授權的數(shù)據(jù)訪問,例如:黑客會針對操作系統(tǒng)級別進行攻擊,非法獲取相關數(shù)據(jù)文件。也有可能由于內(nèi)部人員管理不善,導致數(shù)據(jù)庫的數(shù)據(jù)別盜。這些未經(jīng)授權的數(shù)據(jù)文件一旦發(fā)生泄密或泄露,將會對擁有數(shù)據(jù)庫的企業(yè)或組織帶來巨大負面影響。Oracle數(shù)據(jù)庫的Oracle Advanced Security with Database組件提供透明數(shù)據(jù)加密(Transparent Data Encryption),能夠有效防范類似數(shù)據(jù)泄露。TDE用一個數(shù)據(jù)加密密鑰和主加密密鑰組成的雙層加密密鑰管理體系對現(xiàn)有聯(lián)機數(shù)據(jù)進行加密。數(shù)據(jù)的寫入存儲自動加密,從存儲設備讀取時候能自動解密。加密和解密的過程都很快,不需要額外的停機操作。
1.4 數(shù)據(jù)庫審核機制
Oracle數(shù)據(jù)庫提供審計功能,專門用于監(jiān)視用戶所執(zhí)行對數(shù)據(jù)庫的操作。數(shù)據(jù)庫會將對用戶的審核跟蹤的結果,自動存放在OS文件或者數(shù)據(jù)庫系統(tǒng)表空間文件中[5]。Oracle數(shù)據(jù)庫的審核功能很強,它可以用于對某些模式的審核,比如數(shù)據(jù)庫的表或者行采取了當前的操作,影響了特定的內(nèi)容;也可以用于調查可疑的活動,比如授權用戶正刪除表數(shù)據(jù),審計管理人員可以審核數(shù)據(jù)庫相關連接活動,以及這些活動所有表被成功刪除的數(shù)據(jù);甚至可以監(jiān)視和收集數(shù)據(jù)庫的活動信息。比如統(tǒng)計有多少表正執(zhí)行更新的操作,高峰時期,執(zhí)行多少次的邏輯輸入和輸出操作等等。
數(shù)據(jù)庫的審核跟蹤,不僅僅可以記錄操作用戶名、執(zhí)行操作和時間等信息,還可以記錄操作實例名、會話標識符、終端的標識符和使用系統(tǒng)權限等眾多信息。這就為安全審計人員提供充足的信息和警告,以便于跟蹤系統(tǒng)漏洞,消除隱患。
1.5 數(shù)據(jù)庫備份和恢復
數(shù)據(jù)庫存儲的數(shù)據(jù)作為應用程序的核心,其重要性不言而喻。理由上來說,只要有數(shù)據(jù)的傳輸、數(shù)據(jù)的存儲和數(shù)據(jù)的交換,那就有可能會產(chǎn)生數(shù)據(jù)故障。發(fā)生數(shù)據(jù)故障的原因和形式很多,可以分為以下主要的三種形式:①系統(tǒng)故障,例如數(shù)據(jù)庫服務器硬件漏電短路,所引起系統(tǒng)斷電,運行意外終止事件;②事務故障,例如事務的邏輯運算錯誤,發(fā)生溢出錯誤等;③ 介質故障,例如數(shù)據(jù)庫服務器硬盤損壞,導致數(shù)據(jù)無法正常讀取數(shù)據(jù)庫文件等。實際上,黑客的惡意攻擊數(shù)據(jù)庫成功,也會導致數(shù)據(jù)故障,例如計算機病毒入侵。上述的故障都可能引發(fā)嚴重后果,比如數(shù)據(jù)丟失、數(shù)據(jù)被非法修改、數(shù)據(jù)缺失引起數(shù)據(jù)庫服務器崩潰等。數(shù)據(jù)庫系統(tǒng)管理人員運用專業(yè)知識維護數(shù)據(jù)庫安全性、完整性和準確性。但是世上沒有萬無一失的信息保護措施,因此數(shù)據(jù)備份和恢復是數(shù)據(jù)庫最后的防線。
Oracle數(shù)據(jù)支持多種備份模式,例如物理的冷熱備份和邏輯備份。備份恢復又分為非歸檔模式和歸檔模式。該數(shù)據(jù)庫的備份模式比較靈活多樣,比如邏輯備份中,提供三種不同的操作方式,表方式導出、全庫方式導出和用戶方式導出。用戶也可以根據(jù)實際需要,實現(xiàn)三種不同方式的增量導出:完全增量導出、增量型導出和累計增量型導出。數(shù)據(jù)庫還提供專業(yè)的恢復和備份工具RMAN,可以用來備份和恢復數(shù)據(jù)庫文件、歸檔日志和控制文件,以及執(zhí)行完全或不完全的數(shù)據(jù)庫恢復[6]。
Oracle數(shù)據(jù)庫所提供多種不同方式的備份恢復方法,能有效減低數(shù)據(jù)意外丟失后果,以最小的代價,迅速恢復相關數(shù)據(jù)和數(shù)據(jù)庫服務器正常運行。