淺談資料庫系統安全保護機制

losingb發表於2011-07-06
1  引言
       隨著計算機及網路技術的發展和廣發應用,越來越多的關鍵業務系統執行在資料庫平臺上。資料庫中的資料作為一個組織中的數字財產,一旦洩露或丟失就可能讓組織蒙受經濟損失,或者失去客戶和公眾的信任。本文將從實際安全保護經驗出發,結合《資訊系統安全等級保護基本要求》提出具體的資料庫系統安全保護措施。

2  資料庫系統安全保護機制
      GB/T 22239-2008《資訊系統安全等級保護基本要求》的技術基本要求中,為保證資料庫系統的安全,要求實現包括身份驗證、訪問控制、資料加密、審計跟蹤以及資料備份與恢復的安全功能。

2.1  有效保護資料庫系統使用者口令認證
       口令認證方式是鑑別資料庫系統使用者身份最基本的方式。因此,實施嚴格的賬號和密碼管理機制是實現資料庫系統安全的重點。資料庫系統使用者安全策略包括以下幾方面。

(1) 保護預設的使用者賬號。在新的資料庫系統安裝時,通常會安裝若干預設賬號,而這些賬號、密碼以及許可權在網際網路上都是公開的,恰恰為攻擊者提供了機會和目標。因此,為確保賬號的安全,應避免因安裝不需要的賬號而帶來不必要的危險。

(2) 管理並確保密碼安全。一個未經慎重選擇又從未變更過的密碼對於資料庫系統來說,是巨大的安全隱患之一。根據密碼複雜性規則,通常需要驗證密碼是否和賬號一致、密碼是否超過一定字元長度、密碼是否和過去的密碼一致、密碼是否很容易被猜測到。因此,在制定資料庫系統密碼規範時,應該包括密碼生存週期。寬限時間、密碼重複使用(最大)時間、登入失效、賬號鎖定和密碼驗證功能。以Oracle資料庫系統為例,設定使用者密碼規範的程式如下:
SQL>CREATE PROFILE strong_pwd LIMIT
PASSWORD_LIFE_TIME 90
PASSWORD_GRACE_TIME 15
PASSWORD_REUSE_TIME 180
PASSWORD_REUSE_MAX UNLIMITED
FALLED_LOGIN_ATTEMPTS 5
PASSWORD_LOCK_TIME 5
PASSWORD_VERIFY_FUNCTION password_strong_name

(3)  刪除陳舊賬號。在確保資料庫系統安全的過程中,一個良好的習慣是刪除不再使用或不再需要的賬號,過期的賬號至少應該被鎖定或被刪除。此外,之前在資料庫系統中已經安裝但現在需要被刪除的資料庫應用也會造成安全風險。

2.2   加強對資料庫系統的訪問控制
訪問控制是允許或禁止訪問資源的過程。基於角色的訪問控制是一種資料庫許可權管理機制,它根據不同的職能崗位劃分角色,資源訪問許可權被封裝在角色中,而使用者被賦予角色,通過角色來間接訪問資源。在給角色或使用者授權時,必須遵循最小許可權和特權分離的基本安全原則。

(1)  最小許可權原則是隻需授予列級許可權的不授予表級許可權,只需授予表級許可權的不授予庫級許可權,只需授予物件許可權的不授予系統許可權。此外,在確定不需要使用某種許可權時要及時收回角色和許可權。最小許可權原則有效地限制、分割了使用者對資料資源進行訪問時的許可權,降低了非法使用者或非法操作可能給系統及資料帶來的損失。
(2)  特權分離原則是利用角色間約束能力實現權利之間的制約,即資料庫管理員、系統安全員和系統審計員三個角色是互斥的,一個使用者最多擁有這三個角色之一。特權分離原則有利於保證權力之間的制衡和監督,能減少未經授權訪問和欺詐行為發生的概率。

       在《資訊系統安全等級保護基本要求》第三級以上要求中,提出實現強制訪問控制功能。強制訪問控制機制對資料庫系統中的每個存取物件指派一個密級,對每個使用者授予一個存取級,任意一個物件,只有具有合法存取級的使用者才可以存取,可以有效地防止木馬類的惡意攻擊。目前,實現強制訪問控功能要求的方法除採用安全資料庫管理系統外,還可以通過部署第三方安全增強產品實現資料庫強制存取控制機制。

2.3   確保重要資料的加密
資料加密是保證資料庫系統中資料保密性和完整性的有效手段。資料庫系統的加密措施是指對資料庫系統中的重要資料進行加密處理,確保只有當系統的合法使用者訪問有許可權的資料時,系統才把相應的資料進行解密操作,否則,資料庫系統應當保持重要資料的加密狀態,以防止非法使用者利用竊取到的明文資訊對系統進行攻擊。

2.4   保護訪問資料庫的進出網路通道
雖然防病毒軟體和防火牆提供了一定級別的安全防護,但並不能因此認為網路通訊就是安全的。資料庫監聽器作為連線資料庫服務端得網路程式,正經受著巨大的攻擊風險。首要的任務是對監聽過程進行密碼保護,而改變預設埠也是確保資料庫監聽器安全的一種好辦法。通過配置資料庫監聽器,可以使其允許或不允許客戶IP地址的訪問。這也是保護資料庫不受非預期使用者訪問的簡單而有效的方法。

2.5  建立安全的審計機制
審計就是對指定使用者在資料庫系統中的操作進行監控和記錄的一種資料庫功能。審計功能在資料庫系統中執行時,自動將對資料庫的所有操作記錄在審計日誌中,包括使用者登入操作、對資料庫的操作及系統功能的使用等。審計日誌記錄可用於事後監督,同時對日誌的分析還可用於預防入侵,從而提高資料庫系統的安全。
以Oracle資料庫系統為例,以下程式可實現對使用者author執行SELECT操作的審計:audit SELECT table by author;

2.6   實施備份與故障恢復措施
備份與恢復是實現資料庫系統安全執行的重要技術之一,是確保資料庫系統因各種原因發生系統故障時,能儘快投入再使用的重要保證。按照資料庫系統所遭受破壞程度的不同,備份與恢復措施又分為災難性備份和非災難性備份。
(1)  災難性備份措施是通過設定主資料庫系統的遠端異地備份,以備資料庫系統不能正常執行時啟用。
(2)  非災難性備份措施是採用資料庫標準備份、專用備份裝置等方式進行全系統備份、差異備份和增量備份,以確保在資料庫系統失效時,利用已有的資料備份能儘快有效地把資料庫還原到錯誤發生的前一刻上,同時保持資料的完整性和一致性。

3  結語
       本文依據《資訊系統安全等級保護基本要求》,從資料庫系統的身份驗證、訪問控制、資料加密、審計跟蹤以及資料備份與恢復等方面提出了具體的安全保護措施,這些措施在實際運用中還應該根據具體應用環境的安全需要,緊密結合網路安全、作業系統安全進行分析,並制定統一的安全管理策略。資料庫系統安全防範是一個永久性的問題,只有通過不斷的改進和完善安全手段,才能保證系統的正常執行,以及提高系統的可靠性。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/25496391/viewspace-701535/,如需轉載,請註明出處,否則將追究法律責任。

相關文章