[摘要] 對基于B/S三層體系結構下的大型關系數據庫的安全機制,從用戶管理、授權機制、靜態設置、角色管理、審計監控、數據跟蹤,多側面、多角度討論了數據安全管理。
[關鍵詞] 角色 視圖 權限
構建一種由系統開發人員采用軟件技術在后臺開發完成,由信息系統用戶在客戶端應用層面上實現的通用數據庫安全管理控制服務模塊,通過它的運作配合信息系統用戶的管理,從客戶端到數據庫服務器端,實現層層設防。本文所研究的目標是:在已有的C2級DBMS的基礎上,為信息系統搭建通用模塊,在中間層實現以強制訪問控制為主要特征的B類安全要求。
一、DBSC安全管理方案的分析
1.DBMS安全訪問控制機制
當前流行的數據庫管理系統大都是關系型數據庫管理系統,它們支持應用系統的三層體系結構和分布式數據庫。其實現數據庫安全性的技術和效果在如下幾個方面是具有共同性的。
(1)定義角色。數據庫的權限管理是一項十分艱巨的工作,系統中的用戶及應用程序都要有一定的權限集,才能進行工作。對于一個具有諸多表,諸多用戶及各種不同職責的應用環境,一旦應用系統改變了,用戶的權限也需要相應的改變,DBA就需要做很多工作來完成這些改變。基于角色的權限管理較好的解決了這些問題,只需根據部門和企業的安全政策、操作規則劃分出不同的數據庫角色,通常可以為系統的每個職務定義一個數據庫角色,然后根據需要把這些角色授予相應用戶,即使某職務的權限發生了改變,也需要簡單的該職務相對應的角色的權限,而不必修改該職務的每一個用戶的權限。
(2)建立視圖。視圖是從表和其他視圖導出的虛表,一樣由列組成。它不但可以簡化用戶對數據庫的操作,而且也提供了實現數據庫安全性的手段。如果希望一個基本表的某些行或列不讓某些用戶知道,就可以由表的屬主或DBA利用創建視圖的方法對表的若干行或若千列進行授權,對不同用戶定義不同視圖,且在用戶視圖中不包括保密的列,然后為這些用戶提供某個視圖而不是整張表。
(3)建立觸發器。觸發器是為響應對表執行的插入、更新或刪除操作而執行的一種特殊的存儲過程。當進行上述任何一項操作時,就會自動啟動觸發器。觸發器通常用于強制執行實現業務規則,實現獨特的安全要求,諸如限制對數據庫的訪問的時間等等。它們能監視更改并確保更改符合建立的業務規則。
(4)備份恢復策略。數據備份與恢復是實現信息安全運行的重要技術之一,能保證信息系統因各種原因遭到破壞時,能盡快投入使用。不同的數據庫擁有不同的備份恢復方法。一般來說,數據庫的備份有導出/導入、冷備份、熱備份;數據庫的恢復可以通過磁盤鏡像、數據庫備份文件和數據庫在線日志三種方式完成。
2.應用服務器端安全訪問控制
(1)用戶賬號管理設計。建立一個口令安全策略,以維護數據庫用戶的登錄安全。DBSC采用以下策略:
自建方法:來限制用戶使用系統和數據庫資源,管理用戶口令,從而有效的阻止對數據庫口令的攻擊。DBSC使用自建方法實現了以下功能:①終止用戶口令——設置用戶賬戶的最大使用期限,要求數據庫用戶定期的修改他們的口令;②重新使用用戶口令——鎖住一個過期的賬戶或者多次注冊失敗的賬戶,并且對他們進行使能管理;③組合用戶口令——強制用戶的口令為一種標準的組合。
通過以上參數的動態合理配置,能減少口令被猜中、窮舉的可能性,增強了口令的安全。
(2)角色代理設計。在DBSC中我們采用一種方式—“角色代理”來管理用戶初級權限并來防止上面出現的安全“漏洞”。即將所有客戶端用戶信息轉移到一個只由DBA管理的角色用戶,通過動態的激活和回收使客戶端應用程序在獲得特定的角色前不能對后臺數據庫進行操作。
(3)權限管理設計。角色代理,僅僅完成用戶的初級權限分配。從應用系統上來說,不同的用戶可以操作的業務子系統是不同的;從數據庫服務器上來說,有著相同模塊操作權限的不同用戶,他們操作表、視圖、行列的權限又各不相同,這主要是由他們各自崗位的不同所決定的。使用應用程序的用戶應該是數據庫管理系統中的普通用戶,與其在數據庫服務器上的身份保持一致;應用系統需要按功能劃分為不同的業務子系統,用戶只能對他有權使用的業務子系統而涉及的數據庫對象有相應的使用權限。
(4)安全審計。在數據安全控制器DBSC中,提供權限跟蹤安全審計功能,對于所有提交到數據庫的訪問信息,記錄其中的重要事件,主要有:①登錄審計表;②用戶數據庫操作審計表。
(5)敏感數據加密。由于敏感數據的可變性低,數據安全控制器DBSC利用“敏感字段表”靜態指定敏感數據,動態進行加密的方式實現。
(6)在線日志備份。在線文件日志是在DBSC進行安全審計的時候同步生成的,它以文件格式記錄所有提交數據庫并成功執行的SQL語句、用戶名、操作時間等相關信息。其作用就是在數據庫被意外破壞后,配合數據庫服務器端提供的備份策略,對已經恢復到“某一時間點上”數據庫,逐條執行在其中記錄的數據庫操作,以實現數據庫服務器的“最近點恢復”。
二、結論
數據庫安全控制器基于三層體系結構,具有以下幾方面的優點:
1.DBSC的安全管理集成在應用系統中,駐留在應用服務器端,作為信息系統的一個子功能,將用戶賬號管理、權限分配、審計、數據備份都提升到應用服務器這一層。
2.通過方案的設計可以看出,本方案充分利用了數據庫本身所提供的功能強大的安全機制,將這個整個應用系統的安全管理構架在數據庫的安全管理之上。
參考文獻:
[1]劉啟原劉怡:數據庫與信息系統的安全,科學出版社,2000.1
[2]邵佩英:分布式數據庫系統及其應用,科學出版社,2000.6