直播中
關(guān)于網(wǎng)絡(luò)數(shù)據(jù)庫里一些商業(yè)數(shù)據(jù)被盜竊后公布于網(wǎng)上;公司商業(yè)網(wǎng)站的產(chǎn)品網(wǎng)站報價格數(shù)據(jù)又被惡意修改……類似這樣的案例,在網(wǎng)上搜索了一下,實在不少。其原因只有一個,就是來自網(wǎng)絡(luò)上對Web數(shù)據(jù)庫攻擊。那么,在Web環(huán)境下的數(shù)據(jù)庫是否能有足夠的安全為企業(yè)服務(wù)呢?答案是肯定的。
Web數(shù)據(jù)庫是基于Internet/Intranet的應(yīng)用系統(tǒng),由于互連網(wǎng)開放性和通信協(xié)議的安全缺陷,以及在網(wǎng)絡(luò)環(huán)境中數(shù)據(jù)存儲和對其訪問與處理的分布性特點(diǎn),網(wǎng)上傳輸?shù)臄?shù)據(jù)容易受到破壞、竊取、篡改、轉(zhuǎn)移和丟失。這些危害通常是對網(wǎng)絡(luò)的攻擊引起的。到現(xiàn)在,針對Web數(shù)據(jù)庫的應(yīng)用級入侵已經(jīng)變得越來越猖獗,如SQL注入、跨站點(diǎn)腳本攻擊和未經(jīng)授權(quán)的用戶訪問等。所有這些入侵都有可能繞過前臺安全系統(tǒng)并對數(shù)據(jù)庫系統(tǒng)攻擊。如何保證Web數(shù)據(jù)庫的安全性已成為新的課題。
第一關(guān)、對用戶安全管理
Web數(shù)據(jù)庫是個極為復(fù)雜的系統(tǒng),因此很難進(jìn)行正確的配置和安全網(wǎng)站維護(hù),當(dāng)然,必須首先要保證的就是數(shù)據(jù)庫用戶的權(quán)限的安全性。當(dāng)用戶通過Web方式要對數(shù)據(jù)庫中的對象(表、視圖、觸發(fā)器、存儲過程等)進(jìn)行操作時,必須通過數(shù)據(jù)庫訪問的身份認(rèn)證。多數(shù)數(shù)據(jù)庫系統(tǒng)還有眾所周知的默認(rèn)賬號和密碼,可支持對數(shù)據(jù)庫資源的各級訪問。因此,很多重要的數(shù)據(jù)庫系統(tǒng)很可能受到威協(xié)。用戶存取權(quán)限是指不同的用戶對于不同的數(shù)據(jù)對象有不同的操作權(quán)限。存取權(quán)限由兩個要素組成:數(shù)據(jù)對象和操作類型。定義一個用戶的存取權(quán)限就是要定義這個用戶可以在哪些數(shù)據(jù)對象上進(jìn)行哪些類型的操作。權(quán)限分系統(tǒng)權(quán)限和對象權(quán)限兩種。系統(tǒng)權(quán)限由DBA授予某些數(shù)據(jù)庫用戶,只有得到系統(tǒng)權(quán)限,才能成為數(shù)據(jù)庫用戶。對象權(quán)限是授予數(shù)據(jù)庫用戶對某些數(shù)據(jù)對象進(jìn)行某些操作的權(quán)限,它既可由DBA授權(quán),也可由數(shù)據(jù)對象的創(chuàng)建者授予。
第二關(guān)、定義視圖
為不同的用戶定義不同的視圖,可以限制用戶的訪問范圍。通過視圖機(jī)制把需要保密的數(shù)據(jù)對無權(quán)存取這些數(shù)據(jù)的用戶隱藏起來,可以對數(shù)據(jù)庫提供一定程度的安全保護(hù)。實際應(yīng)用中常將視圖機(jī)制與授權(quán)機(jī)制結(jié)合起來使用,首先用視圖機(jī)制屏蔽一部分保密數(shù)據(jù),然后在視圖上進(jìn)一步進(jìn)行授權(quán)。
第三關(guān)、數(shù)據(jù)加密
數(shù)據(jù)安全隱患無處不在。一些機(jī)密數(shù)據(jù)庫、商業(yè)數(shù)據(jù)等必須防止它人非法訪問、修改、拷貝。如何保證數(shù)據(jù)安全?數(shù)據(jù)加密是應(yīng)用最廣、成本最低廉而相對最可靠的方法。數(shù)據(jù)加密是保護(hù)數(shù)據(jù)在存儲和傳遞過程中不被竊取或修改的有效手段。數(shù)據(jù)加密系統(tǒng)包括對系統(tǒng)的不同部分要選擇何種加密算法、需要多高的安全級別、各算法之間如何協(xié)作等因素。在系統(tǒng)的不同部分要綜合考慮執(zhí)行效率與安全性之間的平衡。因為一般來講安全性總是以犧牲系統(tǒng)效率為代網(wǎng)站報價的。如果要在Internet上的兩個客戶端傳遞安全數(shù)據(jù),這就要求客戶端之間可以彼此判斷對方的身份,傳遞的數(shù)據(jù)必須加密,當(dāng)數(shù)據(jù)在傳輸中被更改時可以被發(fā)覺。
第四關(guān)、事務(wù)管理和故障恢復(fù)
事務(wù)管理和故障恢復(fù)主要是對付系統(tǒng)內(nèi)發(fā)生的自然因素故障,保證數(shù)據(jù)和事務(wù)的一致性和完整性。
故障恢復(fù)的主要措施是進(jìn)行日志記錄和數(shù)據(jù)復(fù)制。在網(wǎng)絡(luò)數(shù)據(jù)庫系統(tǒng)中,分布事務(wù)首先要分解為多個子事務(wù)到各個站點(diǎn)上去執(zhí)行,各個服務(wù)器之間還必須采取合理的算法進(jìn)行分布式并發(fā)控制和提交,以保證事務(wù)的完整性。事務(wù)運(yùn)行的每一步結(jié)果都記錄在系統(tǒng)日志文件中,并且對重要數(shù)據(jù)進(jìn)行復(fù)制,發(fā)生故障時根據(jù)日志文件利用數(shù)據(jù)副本準(zhǔn)確地完成事務(wù)的恢復(fù)。