隨著Web數(shù)據(jù)庫的應(yīng)用越來越廣泛,Web數(shù)據(jù)庫的安全問題日益突出,如何才能保證和加強(qiáng)數(shù)據(jù)庫的安全性已成為目前必須要解決的問題。
Web數(shù)據(jù)庫是數(shù)據(jù)庫技術(shù)與Web技術(shù)的結(jié)合,其中存在諸多安全隱患,如通過網(wǎng)絡(luò)傳輸?shù)挠脩裘兔艽a很容易被人竊取。用戶讀取的數(shù)據(jù)可能被截取、篡改等。如何保障Web數(shù)據(jù)庫的安全運(yùn)行呢?
建立安全模型
通常,安全措施是計(jì)算機(jī)系統(tǒng)中用戶使用數(shù)據(jù)庫應(yīng)用程序一直到訪問后臺數(shù)據(jù)庫要經(jīng)過的安全認(rèn)證過程。
當(dāng)用戶訪問數(shù)據(jù)庫時(shí)首先通過數(shù)據(jù)庫應(yīng)用程序進(jìn)入到數(shù)據(jù)庫系統(tǒng),這時(shí)數(shù)據(jù)庫應(yīng)用程序?qū)⒂脩籼峤坏挠脩裘c口令(口令密文)交給數(shù)據(jù)庫管理系統(tǒng)進(jìn)行認(rèn)證,在確定其身份合法后,才能進(jìn)入下一步的操作。當(dāng)要對數(shù)據(jù)庫中的對象(表、視圖、觸發(fā)器、存儲過程等)進(jìn)行操作時(shí),也必須通過數(shù)據(jù)庫訪問的身份認(rèn)證,只有通過了數(shù)據(jù)庫的身份認(rèn)證才能對數(shù)據(jù)庫對象進(jìn)行實(shí)際的操作。
通過身份認(rèn)證的用戶,只是擁有了進(jìn)入應(yīng)用系統(tǒng)和數(shù)據(jù)庫的“憑證”,但用戶在應(yīng)用系統(tǒng)和數(shù)據(jù)庫中可以進(jìn)行什么樣的操作,就要依靠“訪問控制”和“存取控制”的權(quán)限分配和約束。其中“訪問控制”與應(yīng)用系統(tǒng)相關(guān),決定當(dāng)前用戶可以對應(yīng)用系統(tǒng)中哪些模塊、模塊中的哪些工作流程進(jìn)行管理;“存取控制”與數(shù)據(jù)庫相關(guān)聯(lián),決定當(dāng)前用戶可以對數(shù)據(jù)庫中的哪些對象進(jìn)行操作,以及可以進(jìn)行何種操作。雖然“訪問控制”和“存取控制”可以將用戶的應(yīng)用系統(tǒng)訪問范圍最小化,數(shù)據(jù)對象操作權(quán)限最低化,但是就數(shù)據(jù)庫本身而言,利用這種視圖、觸發(fā)器、存儲過程等方法來保護(hù)數(shù)據(jù)和對一些敏感數(shù)據(jù)的“加密存儲”也是數(shù)據(jù)庫管理系統(tǒng)提供的安全策略。
審計(jì)追蹤和數(shù)據(jù)備份
目前還沒有任何一種可行的方法來徹底解決合法用戶在通過身份認(rèn)證后濫用特權(quán)的問題,但審計(jì)追蹤仍是保證數(shù)據(jù)庫安全不可缺的一道重要防線。
審計(jì)是一種監(jiān)視措施,跟蹤記錄有關(guān)數(shù)據(jù)的訪問活動(dòng)。審計(jì)追蹤把用戶對數(shù)據(jù)庫的所有操作自動(dòng)記錄下來,存放在審計(jì)日志中(Audit Log)。記錄的內(nèi)容一般包括:操作類型(如修改、查詢、刪除),操作終端標(biāo)識與操作者標(biāo)識,操作日期和時(shí)間,操作所涉及到相關(guān)數(shù)據(jù)(如基本表、視圖、記錄、屬性等),數(shù)據(jù)庫的前象和后象等。利用這些信息,可以進(jìn)一步找出非法存取數(shù)據(jù)的庫人、時(shí)間和內(nèi)容等。
數(shù)據(jù)庫管理系統(tǒng)往往都將其作為可選特征,允許相應(yīng)的操作語句可靈活的打開或關(guān)閉審計(jì)功能。
數(shù)據(jù)庫備份恢復(fù)策略
計(jì)算機(jī)同其他設(shè)備一樣,都可能發(fā)生故障。計(jì)算機(jī)故障的原因多種多樣,包括磁盤故障、電源故障、軟件故障、災(zāi)害故障以及人為破壞等。一旦發(fā)生這種情況,就可能造成數(shù)據(jù)庫的丟失。因此數(shù)據(jù)庫系統(tǒng)必須采取必要的措施,以保證發(fā)生故障時(shí),可以恢復(fù)數(shù)據(jù)庫。數(shù)據(jù)庫系統(tǒng)管理系統(tǒng)的備份和恢復(fù)機(jī)制就是保證在數(shù)據(jù)庫系統(tǒng)出故障時(shí),能夠?qū)?shù)據(jù)庫系統(tǒng)還原到正常狀態(tài)。
數(shù)據(jù)備份(建立冗余數(shù)據(jù))是指定期或不定期地對數(shù)據(jù)庫進(jìn)行復(fù)制。可以將數(shù)據(jù)復(fù)制到本地機(jī)制上,也可以復(fù)制到其他機(jī)器上。恢復(fù)方法通常是可以利用利用備份技術(shù)、事務(wù)日志技術(shù)、鏡像技術(shù)完成。
視圖機(jī)制和數(shù)據(jù)加密
為不同的用戶定義不同的視圖,可以限制各個(gè)用戶的訪問范圍。通過視圖機(jī)制把要保護(hù)的數(shù)據(jù)對無權(quán)存取這些數(shù)據(jù)的用戶隱藏起來,從而自動(dòng)地對數(shù)據(jù)庫提供一定程度的安全保護(hù)。但是視圖機(jī)制的安全性保護(hù)不太精細(xì),往往不能達(dá)到應(yīng)用系統(tǒng)的要求,其主要功能在于提供了數(shù)據(jù)庫的邏輯獨(dú)立性。在實(shí)際應(yīng)用中,通常將視圖機(jī)制與授權(quán)機(jī)制結(jié)合起來使用,首先用視圖機(jī)制屏蔽一部分保密數(shù)據(jù),然后在視圖機(jī)制上進(jìn)一步定義存取權(quán)限。
數(shù)據(jù)加密(Data Encryption)是防止數(shù)據(jù)庫中數(shù)據(jù)存儲和傳輸中失密的有效手段。加密的基本思想是根據(jù)一定的算法將原始數(shù)據(jù)(明文plaintext)加密成為不可直接識別的格式(密文,ciphertext),數(shù)據(jù)以密文的方式存儲和傳播。 Web數(shù)據(jù)庫的安全威脅涉及許多方面,是一個(gè)全局性的問題,而且黑客的攻擊手段和方法不斷翻新,因此要根據(jù)企業(yè)的實(shí)際需求綜合考慮各種技術(shù),構(gòu)建一個(gè)有機(jī)的結(jié)合體。
同時(shí)也要清醒地認(rèn)識到一個(gè)很好的安全解決方案不僅是純粹的技術(shù)問題,而且還需要法律、管理、社會因素的配合。
◆常見Web數(shù)據(jù)庫安全技術(shù)
用戶標(biāo)識和鑒別:
用戶標(biāo)識與鑒定的方法有多種,為了獲得更強(qiáng)的安全性,通常是多種方法并用。系統(tǒng)通過核對口令來判別用戶的真?zhèn)巍_@種方法簡單易行,但是也是一個(gè)不安全的方法,不能抵御口令的猜測攻擊;另外,攻擊者可能竊聽通信信道或進(jìn)行網(wǎng)絡(luò)窺探(sniffer),口令的明文傳輸使得攻擊者只要能在口令傳輸過程中獲得口令,系統(tǒng)就會被攻破。口令以明文形式在通信信道上傳輸容易被竊取,因此人們通常采用更復(fù)雜的方法--口令加密,口令以密文形式在通信信道上傳輸。
智能卡技術(shù):
智能卡由微處理器、存儲器、輸入輸出設(shè)備組成,其中微處理器可計(jì)算該卡的一個(gè)序列號(ID)和其他數(shù)據(jù)的加密形式,ID保證智能卡的真實(shí)性,持卡人就能訪問系統(tǒng)。在使用智能卡時(shí),為了安全起見,許多系統(tǒng)要卡和身份識別碼(PIN)同時(shí)使用,二者缺一不可。
使用智能卡進(jìn)行身份認(rèn)證的優(yōu)點(diǎn):智能卡提供的是硬件保護(hù)措施和加密算法,較傳統(tǒng)的口令鑒別方法更好,安全性能增加;缺點(diǎn):攜帶不方便且開戶費(fèi)用較高。
主體特征鑒別:
主體認(rèn)證技術(shù)以人體唯一的、可靠的、穩(wěn)定的生物特征(如指紋、虹膜、臉部、掌紋等)為依據(jù),采用計(jì)算機(jī)的強(qiáng)大網(wǎng)絡(luò)功能和網(wǎng)絡(luò)技術(shù)進(jìn)行圖像處理和模式識別。
主體特征鑒別技術(shù)優(yōu)點(diǎn):安全性、可靠性和有效性與傳的身份認(rèn)證手段相比產(chǎn)生了質(zhì)的飛躍,適合安全級別較高的場所;缺點(diǎn):生物特征信息采集、認(rèn)證裝備的成本較高,人身特征識別軟件識別率有待提高。


