淺談數(shù)據(jù)庫的網(wǎng)絡(luò)信息安全
車培珍 2009/2/17
(接上頁)1)用戶身份驗(yàn)證
該方法由系統(tǒng)提供一定的方式讓用戶標(biāo)識(shí)自己的身份。每次用戶請(qǐng)求進(jìn)入系統(tǒng)時(shí),系統(tǒng)必須對(duì)用戶身份的合法性進(jìn)行鑒別認(rèn)證。用戶要登錄系統(tǒng)時(shí),必須向系統(tǒng)提供用戶標(biāo)識(shí)和鑒別信息,以供安全系統(tǒng)識(shí)別認(rèn)證。目前,身份驗(yàn)證采用的最常用、最方便的方法是設(shè)置口令法。但近年來,一些更加有效的身份驗(yàn)證技術(shù)迅速發(fā)展起來,如智能卡技術(shù)、物理特征(指紋、虹膜等)認(rèn)證技術(shù)等具有高強(qiáng)度的身份驗(yàn)證技術(shù)日益成熟,并取得了不少應(yīng)用成果,為將來達(dá)到更高的安全強(qiáng)度要求打下了堅(jiān)實(shí)的理論基礎(chǔ)。
(2)用戶身份識(shí)別
用戶身份識(shí)別以數(shù)據(jù)庫授權(quán)為基礎(chǔ),只有經(jīng)過數(shù)據(jù)庫授權(quán)和驗(yàn)證的用戶才是合法的用戶。數(shù)據(jù)庫授權(quán)技術(shù)包括授權(quán)用戶表、用戶授權(quán)表、系統(tǒng)的讀出/寫入規(guī)則和自動(dòng)查詢修改技術(shù)。
4.2.2訪問控制
訪問控制是從計(jì)算機(jī)系統(tǒng)的處理功能方面對(duì)數(shù)據(jù)提供保護(hù),是數(shù)據(jù)庫系統(tǒng)內(nèi)部對(duì)已經(jīng)進(jìn)入系統(tǒng)的用戶的訪問控制,是安全數(shù)據(jù)保護(hù)的前沿屏障。它是數(shù)據(jù)庫安全系統(tǒng)中的核心技術(shù),也是最有效的安全手段,限制了訪問者和執(zhí)行程序可以進(jìn)行的操作,這樣通過訪問控制就可防止安全漏洞隱患。DBMS中對(duì)數(shù)據(jù)庫的訪問控制是建立在操作系統(tǒng)和網(wǎng)絡(luò)的安全機(jī)制基礎(chǔ)之上的。只有被識(shí)別被授權(quán)的用戶才有對(duì)數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行輸入、刪除、修改和查詢等權(quán)限。通常采用下面兩種方法進(jìn)行訪問控制:
(1)按功能模塊對(duì)用戶授權(quán)
每個(gè)功能模塊對(duì)不同用戶設(shè)置不同權(quán)限,如無權(quán)進(jìn)入本模塊、僅可查詢、可更新可查詢、全部功能可使用等,而且功能模塊名、用戶名與權(quán)限編碼可保存在同一數(shù)據(jù)庫。
(2)將數(shù)據(jù)庫系統(tǒng)權(quán)限賦予用戶
通常為了提高數(shù)據(jù)庫的信息安全訪問,用戶在進(jìn)行正常的訪問前服務(wù)器往往都需要認(rèn)證用戶的身份、確認(rèn)用戶是否被授權(quán)。為了加強(qiáng)身份認(rèn)證和訪問控制,適應(yīng)對(duì)大規(guī)模用戶和海量數(shù)據(jù)資源的管理,通常DBMS主要使用的是基于角色的訪問控制RBAC(Rolebasedaccesscontrol)。
4.3.備份與恢復(fù)
數(shù)據(jù)備份與恢復(fù)是實(shí)現(xiàn)數(shù)據(jù)庫系統(tǒng)安全運(yùn)行的重要技術(shù)。數(shù)據(jù)庫系統(tǒng)總免不了發(fā)生系統(tǒng)故障,一旦系統(tǒng)發(fā)生故障,重要數(shù)據(jù)總免不了遭到損壞。為防止重要數(shù)據(jù)的丟失或損壞,數(shù)據(jù)庫管理員應(yīng)及早做好數(shù)據(jù)庫備份,這樣當(dāng)系統(tǒng)發(fā)生故障時(shí),管理員就能利用已有的數(shù)據(jù)備份,把數(shù)據(jù)庫恢復(fù)到原來的狀態(tài),以便保持?jǐn)?shù)據(jù)的完整性和一致性。一般來說,數(shù)據(jù)庫備份常用的備份方法有:靜態(tài)備份(關(guān)閉數(shù)據(jù)庫時(shí)將其備份)、動(dòng)態(tài)備份(數(shù)據(jù)庫運(yùn)行時(shí)將其備份)和邏輯備份(利用軟件技術(shù)實(shí)現(xiàn)原始數(shù)據(jù)庫內(nèi)容的鏡像)等;而數(shù)據(jù)庫恢復(fù)則可以通過磁盤鏡像、數(shù)據(jù)庫備份文件和數(shù)據(jù)庫在線日志三種方式來完成。
4.4.建立安全的審計(jì)機(jī)制
審計(jì)就是對(duì)指定用戶在數(shù)據(jù)庫中的操作進(jìn)行監(jiān)控和記錄的一種數(shù)據(jù)庫功能。這里主要以O(shè)racle數(shù)據(jù)庫為例,Oracle數(shù)據(jù)庫沒有為審計(jì)數(shù)據(jù)提供獨(dú)立的導(dǎo)出、備份和恢復(fù)機(jī)制,用戶每導(dǎo)出和刪除1條審計(jì)記錄都需要自己來書寫程序,并且審計(jì)記錄所需要的存儲(chǔ)空間也是Oracle數(shù)據(jù)庫所提供。如果審計(jì)數(shù)據(jù)是保存在操作系統(tǒng)中的文件中,那么審計(jì)記錄的保護(hù)完全依賴于操作系統(tǒng)的安全性和對(duì)文件的加密措施。顯然,現(xiàn)有的數(shù)據(jù)庫管理系統(tǒng)的審計(jì)保護(hù)功能存在不足,應(yīng)從以下2方面改進(jìn):建立單獨(dú)的審計(jì)系統(tǒng)和審計(jì)員,審計(jì)數(shù)據(jù)需要存放在單獨(dú)的審計(jì)文件中,而不像Oracle那樣存在數(shù)據(jù)庫中,只有審計(jì)員才能訪問這些審計(jì)數(shù)據(jù)。可以把用戶大致分為審計(jì)員、數(shù)據(jù)庫用戶、系統(tǒng)安全員3類,這三者相互牽制,各司其職。分別在3個(gè)地方進(jìn)行審計(jì)控制。為了保證數(shù)據(jù)庫系統(tǒng)的安全審計(jì)功能,還需要考慮到系統(tǒng)能夠?qū)Π踩趾κ录龀鲎詣?dòng)響應(yīng),提供審計(jì)自動(dòng)報(bào)警功能。當(dāng)系統(tǒng)檢測(cè)到有危害到系統(tǒng)安全的事件發(fā)生并達(dá)到預(yù)定的閾值時(shí),要給出報(bào)警信息,同時(shí)還會(huì)自動(dòng)斷開用戶的連接,終止服務(wù)器端的相應(yīng)線程,并阻止該用戶再次登錄系統(tǒng)。
5 開發(fā)環(huán)境的安全技術(shù)分析
5.1 數(shù)據(jù)庫訪問技術(shù)
一般的數(shù)據(jù)庫開發(fā)工具如 Delphi 5 都提供了一些數(shù)據(jù)庫對(duì)象組件,它們封裝了 BDE 的功能。這樣,開發(fā)數(shù)據(jù)庫應(yīng)用程序就不必知道 BDE 的功能。其次,還提供了數(shù)據(jù)感知組件可以與數(shù)據(jù)訪問組件彼此通信,這樣,建立數(shù)據(jù)庫應(yīng)用程序的界面就變得簡(jiǎn)單。 SQL Links 為連接 Oracle 、 Sybase 、 Informix 、 Microsoft SQL Server 、 DB2 和 InterBase 提供了專門的驅(qū)動(dòng)程序,還可以通過 ODBC 連接其他數(shù)據(jù)庫。
5.2 SQL 編程技術(shù)
SQL 是一組符合工業(yè)標(biāo)準(zhǔn)的數(shù)據(jù)庫操作命令集,它可以在 Delphi 這樣的編(未完,下一頁)
|