祝振欣
摘要:如何實現(xiàn)數(shù)據(jù)庫安全,是數(shù)據(jù)庫設(shè)計的重要環(huán)節(jié),也是數(shù)據(jù)庫管理系統(tǒng)中最重要部分。大量重要數(shù)據(jù)存放于數(shù)據(jù)庫中,如果無法保障數(shù)據(jù)庫的安全,則可能導致系統(tǒng)中的重要數(shù)據(jù)被竊取、丟失或損毀等危害。該文通過對數(shù)據(jù)庫的安全機制、訪問控制策略的分析,提出了針對數(shù)據(jù)庫安全設(shè)計的建議。
關(guān)鍵詞:數(shù)據(jù)庫;安全機制;安全策略;安全設(shè)計;訪問控制
中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2016)17-0009-02
現(xiàn)在是信息化時代,信息化離不開數(shù)據(jù)庫的建設(shè),數(shù)據(jù)庫是電子商務(wù)系統(tǒng)、信息管理系統(tǒng)、金融系統(tǒng)以及ERP系統(tǒng)的基礎(chǔ),保存著企業(yè)、客戶等重要的商業(yè)數(shù)據(jù)和信息,如交易信息、工程數(shù)據(jù)和個人資料等。因此,保證數(shù)據(jù)庫安全性是每個數(shù)據(jù)庫管理員的責任。
1 數(shù)據(jù)庫系統(tǒng)的安全機制
在現(xiàn)實應(yīng)用中,數(shù)據(jù)的安全性是數(shù)據(jù)庫的一個重要特性,安全性是指系統(tǒng)保護數(shù)據(jù)以防止被非法使用而造成的數(shù)據(jù)泄漏、破壞更改。數(shù)據(jù)庫系統(tǒng)安全機制分為四個等級:
1.1 操作系統(tǒng)安全機制
通常情況下,數(shù)據(jù)庫管理系統(tǒng)運行在一特定操作系統(tǒng)平臺下,所以操作系統(tǒng)的安全性直接到數(shù)據(jù)庫的安全。在用戶使用計算機實現(xiàn)對數(shù)據(jù)庫服務(wù)器的訪問時,首先應(yīng)該獲得操作系統(tǒng)的使用權(quán)限。操作系統(tǒng)安全性是管理員工作之一。
1.2 網(wǎng)絡(luò)傳輸安全機制
在網(wǎng)絡(luò)時代,防止數(shù)據(jù)傳輸過程中的安全,通常會采用對數(shù)據(jù)加密的方式進行。1)數(shù)據(jù)加密:數(shù)據(jù)加密是所有數(shù)據(jù)庫級別的操作,數(shù)據(jù)在定到磁盤時進行加密,從磁盤讀的時候解密,可以保護數(shù)據(jù)庫中的業(yè)務(wù)數(shù)據(jù)而不必對現(xiàn)有的應(yīng)用程序做修改。2)備份加密:備份加密的方式可以防止數(shù)據(jù)泄漏和被竄改,備份的恢復(fù)可以限于特殊的用戶。
1.3 數(shù)據(jù)庫級安全機制
用戶在通過服務(wù)器級安全性檢查后,將面對不同的數(shù)據(jù)庫接口。在建立不同用戶的登錄賬號時,應(yīng)該確定用戶登錄時的默認數(shù)據(jù)庫,并需要給用戶分配權(quán)限。固定數(shù)據(jù)庫角色存在于每個數(shù)據(jù)庫中,在數(shù)據(jù)庫級別提供管理特權(quán)分組。管理員可將任何有效的數(shù)據(jù)用戶添加為固定數(shù)據(jù)庫角色成員,第一個成員都獲得應(yīng)用于固定數(shù)據(jù)庫角色的權(quán)限。在特殊情況下,我們需要創(chuàng)建一個自定義的數(shù)據(jù)庫角色。
1.4 對象級安全機制
數(shù)據(jù)庫對象安全機制包括對數(shù)據(jù)表和列的安全設(shè)置,是對用戶權(quán)限審查的最后一個安全等級。數(shù)據(jù)對象的訪問權(quán)限指定了用戶針對數(shù)據(jù)操作的許可、數(shù)據(jù)對象的引用。用戶訪問數(shù)據(jù)時的處理過程:1)用戶必須先登錄進行身份識別,并被確認為合法用戶。2)用戶在訪問的數(shù)據(jù)庫中有對應(yīng)的賬號,在此賬號上定義數(shù)據(jù)庫管理的安全策略。3)審核用戶是否有訪問數(shù)據(jù)庫對象的權(quán)限,經(jīng)過許可權(quán)限的驗證,才可以對數(shù)據(jù)的訪問。通常,為了減少系統(tǒng)開銷,在對象級安全管理上應(yīng)該在大多數(shù)場合賦予用戶廣泛的權(quán)限,具體情況實施具體的訪問權(quán)限設(shè)置。
2 數(shù)據(jù)庫訪問控制策略
2.1 數(shù)據(jù)庫訪問控制系統(tǒng)
訪問控制是允許或限制用戶訪問能力及范圍的一種方法。最初的研究和應(yīng)用主要是為了防止機密信息被未經(jīng)授權(quán)者訪問,現(xiàn)在主要在商業(yè)領(lǐng)域進行應(yīng)用,其的目的是使用戶只能對取得授權(quán)的數(shù)據(jù)庫操作。
訪問控制系統(tǒng)主要包括:
1) 主體,即發(fā)出訪問動作、操作要求的實體,一般指用戶或者某進程。
2) 客體,指被調(diào)用的程序或數(shù)據(jù)訪問。
3) 安全訪問規(guī)則,一般用來確定主體是否擁有對客體的訪問能力。
2.2 數(shù)據(jù)庫訪問控制方式
數(shù)據(jù)庫訪問控制方式有自主訪問控制、基于角色訪問控制和強制訪問控制等三種方式。
1) 自主訪問控制
自主訪問控制,指允許把訪問控制權(quán)的授予和取消留給個體用戶來判斷,具有某種訪問特權(quán)的用戶可以把該種訪問許可傳遞給其他用戶。
2) 基于角色訪問控制
在RBAC中,訪問決策是基于角色的。角色,指一個或一群用戶在組織內(nèi)可執(zhí)行操作的集合。使用角色來集中管理數(shù)據(jù)庫或服務(wù)器的權(quán)限,按照角色的作用范圍,可以將角色分為服務(wù)器角色和數(shù)據(jù)庫角色。服務(wù)器角色是對服務(wù)器級別的權(quán)限分配,而數(shù)據(jù)庫角色是針對具體數(shù)據(jù)庫的權(quán)限分配。數(shù)據(jù)庫角色可分為:固定數(shù)據(jù)庫角色;用戶定義的數(shù)據(jù)庫角色;應(yīng)用程序角色等。
3) 強制訪問控制
強制訪問控制,是一種限制訪問客體的手段,主要以包含在這些客體中信息敏感性和訪問這些信息主體的正式授權(quán)信息為基礎(chǔ),對于不同類型的信息采取不同層次的安全策略
2.3 數(shù)據(jù)庫數(shù)據(jù)加密方案
1) 身份驗證器:加密菶表中的數(shù)據(jù)時,加密算法將使數(shù)據(jù)變得無法閱讀。此類加密的數(shù)據(jù)是無法閱讀的,卻可以被具有該表數(shù)據(jù)修改權(quán)限的用戶操作。身份驗證器是加密數(shù)據(jù)與愛迪生段特定數(shù)據(jù)的結(jié)合,用于確保不會發(fā)生數(shù)據(jù)行的非法移動。
2) 對稱密鑰加密:對稱密鑰加密能提供比密碼加密更高的加密強度,同時能夠支持更多的算法。對稱密鑰在加密大規(guī)模數(shù)據(jù)時是比較高效的。在使用對稱密鑰進行更多的加解密操作前,首先打開相應(yīng)的密鑰。
3) 稱密鑰加密:百對稱密鑰加密常用于加密對稱密鑰,而不是直接加密數(shù)據(jù),因為對稱算法在加解密時通常更為高效。其使用密碼或數(shù)據(jù)庫主密碼保護非對稱密鑰有兩點好處:其一,使用時可自動解密不需要輸入密碼;其二,比單獨使用密碼保護更具有優(yōu)勢。
4) 證書加密:證書中保存了大量的信息,包括擁有者,發(fā)布者以及有效期限。證書可以被單獨備份,也可以使用證書直接對數(shù)據(jù)進行加解密操作。
3 數(shù)據(jù)庫安全設(shè)計
安全策略主要包括安全密碼和安全賬號、日志記錄檢測、數(shù)據(jù)庫安全設(shè)置、操作系統(tǒng)安全設(shè)置、擴展存儲過程管理、網(wǎng)絡(luò)及協(xié)議安全管理等方面的策略。
3.1 用戶身份認證及權(quán)限控制
數(shù)據(jù)庫系統(tǒng)安全的第一道防線即是用戶身份認證及權(quán)限控制。用戶身份即系統(tǒng)創(chuàng)建的安全登錄名,用戶以此訪問數(shù)據(jù)庫,通過驗證用戶名稱和口令,防止非法用戶訪問到數(shù)據(jù)庫,進而對數(shù)據(jù)庫進行非法存取和一些破壞操作,這也是身份認證系統(tǒng)的最基本功能。權(quán)限控制即系統(tǒng)為了限定用戶的訪問權(quán)限,而授予用戶一定的權(quán)限,用來限制用戶操縱數(shù)據(jù)庫的權(quán)力,即能保證用戶在授權(quán)范圍內(nèi)對數(shù)據(jù)庫實體的存取執(zhí)行權(quán)限,又能阻止用戶訪問非授權(quán)數(shù)據(jù)。
3.2 數(shù)據(jù)庫加密
加密數(shù)據(jù)能夠保護機密信息不被竊取,數(shù)據(jù)加密是對數(shù)據(jù)形式進行轉(zhuǎn)換和重新排列的過程,在對數(shù)據(jù)進行讀取時,必須使用密鑰進行解密,否則通常無法直接閱讀經(jīng)過加密算法處理的數(shù)據(jù),保護加密所使用的密鑰是保障數(shù)據(jù)安全的一個至關(guān)重要的問題。1)身份驗證器,是加密數(shù)據(jù)與某段特定數(shù)據(jù)的結(jié)合,用于確保不會發(fā)生數(shù)據(jù)行的非法移動。2)對稱密鑰加密,能夠提供更高的加密強度,同時能夠支持更多的算法。3)非對稱密鑰加密,用于加密對兒密鑰,而不是直接加密數(shù)據(jù)。證書加密,類似于非密鑰,證書中存儲了更多的信息,包括證書打腫臉充胖子者、發(fā)布者和有效期限等。
3.3 加強數(shù)據(jù)庫日志的記錄
事務(wù)日志是數(shù)據(jù)庫中已發(fā)生的所有修改和執(zhí)行每次修改的事務(wù)的一連串記錄。事務(wù)日志記錄每個事務(wù)的開始,所有針對數(shù)據(jù)庫的訪問均有記錄,通過激活實例屬性,打開“安全性”選項,設(shè)定“審核級別”為全部,則登錄數(shù)據(jù)庫的所有賬號就被詳細記錄在數(shù)據(jù)庫日志里。通過定期查看數(shù)據(jù)庫日志記錄,進而檢測是否存在可疑或非法的登錄事件,保護數(shù)據(jù)庫的安全。
3.4 網(wǎng)絡(luò)數(shù)據(jù)庫備份與恢復(fù)
數(shù)據(jù)庫是許多組織的任務(wù)關(guān)鍵組件,是所有重要數(shù)據(jù)的存儲。而數(shù)據(jù)庫故障會帶來巨大的損失,而這可以通過實現(xiàn)數(shù)據(jù)恢復(fù)計劃來避免。
備份數(shù)據(jù)庫并確保在災(zāi)難出現(xiàn)后能夠?qū)⑵浼皶r恢復(fù)到預(yù)期的狀態(tài),是數(shù)據(jù)庫管理員不可推卸的職責。網(wǎng)絡(luò)備份一般通過專業(yè)的數(shù)據(jù)存儲管理軟件結(jié)合相應(yīng)的硬件和存儲設(shè)備來實現(xiàn),工程師通過特殊的手段讀取卻在正常狀態(tài)下不可見、不可讀、無法讀的數(shù)據(jù)。數(shù)據(jù)恢復(fù)是指通過技術(shù)手段,將保存在服務(wù)器硬盤、移動硬盤、臺式機硬盤等設(shè)備上丟失的電子數(shù)據(jù)進行搶救和恢復(fù)的技術(shù)。
參考文獻:
[1]馬軍. 數(shù)據(jù)庫操作技術(shù)大全[M].北京:電子工業(yè)出版社,2008.6.
[2]郭鄭州. SQL Server2008完全學習手冊[M].北京:清華大學出版社,2011.1.