第6章 數(shù)據(jù)庫的安全技術(shù).ppt_第1頁
第6章 數(shù)據(jù)庫的安全技術(shù).ppt_第2頁
第6章 數(shù)據(jù)庫的安全技術(shù).ppt_第3頁
第6章 數(shù)據(jù)庫的安全技術(shù).ppt_第4頁
第6章 數(shù)據(jù)庫的安全技術(shù).ppt_第5頁
已閱讀5頁,還剩52頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、信息系統(tǒng)安全 電 子 教 程 信息管理教研室 張 勇 E-mail: Http:/,第六章 數(shù)據(jù)庫安全技術(shù),信息系統(tǒng)安全,本章主要內(nèi)容,6.1 數(shù)據(jù)庫系統(tǒng)的組成 6.2 數(shù)據(jù)庫系統(tǒng)安全性概述 6.3 數(shù)據(jù)庫的數(shù)據(jù)保護(hù) 6.4 數(shù)據(jù)庫的備份與恢復(fù) 6.5 SQL Server的安全管理與策略 6.6 應(yīng)用示例:數(shù)據(jù)庫加密系統(tǒng),本章學(xué)習(xí)要點(diǎn),本章介紹數(shù)據(jù)庫系統(tǒng)的組成、安全性要求、安全特性;數(shù)據(jù)庫的數(shù)據(jù)保護(hù);數(shù)據(jù)庫的備份與恢復(fù);數(shù)據(jù)庫系統(tǒng)的安全保護(hù)實(shí)例。 通過本章的學(xué)習(xí),應(yīng)掌握以下內(nèi)容: (1)理解數(shù)據(jù)庫系統(tǒng)的安全性要求、面臨安全威脅的類型、基本安全架構(gòu)和安全特性; (2)了解數(shù)據(jù)庫安全控制模型;掌

2、握數(shù)據(jù)庫的備份與恢復(fù)方法; (3)理解數(shù)據(jù)庫系統(tǒng)安全保護(hù)應(yīng)用; (4)掌握SQL Server 2000數(shù)據(jù)庫的安全保護(hù)方法、策略。,6.1 數(shù)據(jù)庫系統(tǒng)的組成,數(shù)據(jù)庫系統(tǒng)是由兩部分組成: 一部分是數(shù)據(jù)庫,按一定的方式存取數(shù)據(jù); 一部分是數(shù)據(jù)庫管理系統(tǒng),為用戶及應(yīng)用程序提供數(shù)據(jù)訪問,并具有對數(shù)據(jù)庫進(jìn)行管理、維護(hù)等多種功能。 數(shù)據(jù)庫組織形式的數(shù)據(jù)特征: 具有共享性、獨(dú)立性、一致性、完整性和訪問控制性 。,1.數(shù)據(jù)庫 數(shù)據(jù)庫是若干數(shù)據(jù)的集合體。這些數(shù)據(jù)以一定的序列存在于計(jì)算機(jī)的外存儲器上。 2.數(shù)據(jù)庫管理系統(tǒng) 數(shù)據(jù)庫管理系統(tǒng) ( DBMS-Database Management System)是專門

3、負(fù)責(zé)數(shù)據(jù)庫管理和維護(hù)的計(jì)算機(jī)軟件系統(tǒng)。它是數(shù)據(jù)庫系統(tǒng)的核心,對數(shù)據(jù)庫系統(tǒng)的功能和性能有著決定性影響,DBMS即負(fù)責(zé)數(shù)據(jù)庫的維護(hù)工作,又要按數(shù)據(jù)庫管理員的要求保證數(shù)據(jù)庫的安全性和完整性。,6.1 數(shù)據(jù)庫系統(tǒng)的組成,3.數(shù)據(jù)庫特性 多用戶 高可用性 頻繁的更新 大文件 安全性與可靠性問題復(fù)雜 很多數(shù)據(jù)庫應(yīng)用于客戶機(jī)服務(wù)器(ClientServer)平臺。在Server端,數(shù)據(jù)庫由Server上的DBMS進(jìn)行管理。由于ClientServer結(jié)構(gòu)允許服務(wù)器有多個(gè)客戶端,各個(gè)終端對于數(shù)據(jù)的完整性和一致性要求很高,這就涉及到數(shù)據(jù)庫的安全性與可靠性問題。,6.1 數(shù)據(jù)庫系統(tǒng)的組成,6.2 數(shù)據(jù)庫系統(tǒng)安全性

4、概述,數(shù)據(jù)庫的完整性 元素的完整性 可審計(jì)性 訪問控制 用戶認(rèn)證 可用性 數(shù)據(jù)庫系統(tǒng)的基本安全要求是一些基本性的問題,如訪問控制,偽裝數(shù)據(jù)的排除、用戶的認(rèn)證和可靠性。表 61列出數(shù)據(jù)庫系統(tǒng)對安全性的要求。,6.2.1 數(shù)據(jù)庫系統(tǒng)的安全性要求,表 61 數(shù)據(jù)庫系統(tǒng)對安全性的要求,6.2 數(shù)據(jù)庫系統(tǒng)安全性概述,1.系統(tǒng)運(yùn)行安全 系統(tǒng)運(yùn)行安全包括:法律、政策的保護(hù),如用戶是否有合法權(quán)利,政策是否允許等;物理控制安全,如機(jī)房加鎖等;硬件運(yùn)行安全;操作系統(tǒng)安全,如數(shù)據(jù)文件是否保護(hù)等;災(zāi)害、故障恢復(fù);死鎖的避免和解除;電磁信息泄漏防止。 2.系統(tǒng)信息安全 系統(tǒng)信息安全包括:用戶口令字鑒別;用戶存取權(quán)限控制

5、;數(shù)據(jù)存取權(quán)限、方式控制;審計(jì)跟蹤;數(shù)據(jù)加密。,6.2.2 數(shù)據(jù)庫系統(tǒng)的安全的含義,6.2 數(shù)據(jù)庫系統(tǒng)安全性概述,事務(wù)內(nèi)部的故障 系統(tǒng)范圍內(nèi)的故障 介質(zhì)故障 計(jì)算機(jī)病毒與黑客 其中,數(shù)據(jù)庫系統(tǒng)故障又稱為數(shù)據(jù)庫軟故障,是指系統(tǒng)突然停止運(yùn)行時(shí)造成的數(shù)據(jù)庫故障。如CPU故障、突然斷電,操作系統(tǒng)故障。 介質(zhì)故障又稱數(shù)據(jù)庫硬故障,主要指外存故障,如磁盤磁頭碰撞,瞬時(shí)的強(qiáng)磁場干擾等。,6.2.3 數(shù)據(jù)庫的故障類型,6.2 數(shù)據(jù)庫系統(tǒng)安全性概述,1.用戶分類 不同類型的用戶授予不同的數(shù)據(jù)管理權(quán)限。一般將權(quán)限分為三類:數(shù)據(jù)庫登錄權(quán)限類、資源管理權(quán)限類和數(shù)據(jù)庫管理員權(quán)限類。 2.數(shù)據(jù)分類 DBMS提供了將數(shù)據(jù)分

6、類的功能,即建立視圖。 3.審計(jì)功能 大型DBMS提供的審計(jì)功能是一個(gè)十分重要的安全措施 ,有兩種方式的審計(jì),即用戶審計(jì)和系統(tǒng)審計(jì)。,6.2.4 數(shù)據(jù)庫系統(tǒng)的基本安全架構(gòu),6.2 數(shù)據(jù)庫系統(tǒng)安全性概述,數(shù)據(jù)獨(dú)立性 數(shù)據(jù)安全性 數(shù)據(jù)的完整性 并發(fā)控制 故障恢復(fù) 數(shù)據(jù)庫系統(tǒng)的數(shù)據(jù)獨(dú)立性分為物理獨(dú)立性和邏輯獨(dú)立性;數(shù)據(jù)完整性包括數(shù)據(jù)的正確性、有效性和一致性。,6.2.5 數(shù)據(jù)庫系統(tǒng)的安全特性,6.2 數(shù)據(jù)庫系統(tǒng)安全性概述,6.3 數(shù)據(jù)庫的數(shù)據(jù)保護(hù),一般計(jì)算機(jī)系統(tǒng)中,安全措施是分級和分層設(shè)置的,其數(shù)據(jù)庫安全控制模型如圖61所示。,6.3.1 數(shù)據(jù)庫的安全性,1.用戶標(biāo)識和鑒定 通過核對用戶的名字或身份

7、(ID),決定該用戶對系統(tǒng) 的使用權(quán)。數(shù)據(jù)庫系統(tǒng)不允許一個(gè)未經(jīng)授權(quán)的用戶對數(shù)據(jù) 庫進(jìn)行操作。 方法一:用戶用ID和口令登錄時(shí),系統(tǒng)用一張用戶口 令表去鑒別用戶ID。特點(diǎn)方法簡便,但保密性不是很高。 方法二:標(biāo)識鑒定的方法。用戶先標(biāo)識自己與系統(tǒng)給 出一個(gè)隨機(jī)數(shù),按照某個(gè)特定的過程或函數(shù)進(jìn)行計(jì)算后給 出結(jié)果值,系統(tǒng)同樣按照這個(gè)過程或函數(shù)對隨機(jī)數(shù)進(jìn)行計(jì) 算,如果用戶輸入的相等則證明此用戶合法,可為用戶分 配權(quán)限。否則,是非合法用戶,拒絕進(jìn)入數(shù)據(jù)庫系統(tǒng)。,6.3.1 數(shù)據(jù)庫的安全性,6.3 數(shù)據(jù)庫的數(shù)據(jù)保護(hù),2.存取控制 對于存取權(quán)限的定義稱為授權(quán)。這些定義經(jīng)過編譯后 存儲在數(shù)據(jù)字典中。每當(dāng)用戶發(fā)出數(shù)

8、據(jù)庫的操作請求后, DBMS查找數(shù)據(jù)字典,根據(jù)用戶權(quán)限進(jìn)行合法權(quán)檢查。若用 戶的操作請求超出了定義的權(quán)限,系統(tǒng)拒絕此操作。授權(quán) 編譯程序和合法權(quán)檢查機(jī)制一起組成安全性子系統(tǒng)。 數(shù)據(jù)庫系統(tǒng)中,不同的用戶對象有不同的操作權(quán)力。 對數(shù)據(jù)庫的操作權(quán)限一般包括查詢權(quán)、記錄的修改權(quán)、索 引的建立權(quán)、數(shù)據(jù)庫的創(chuàng)建權(quán)。把這些權(quán)力按一定的規(guī)則 授予用戶,以保證用戶的操作在自己的權(quán)限范圍之內(nèi)。,6.3.1 數(shù)據(jù)庫的安全性,6.3 數(shù)據(jù)庫的數(shù)據(jù)保護(hù),3.數(shù)據(jù)分類 數(shù)據(jù)庫系統(tǒng)對安全性的處理是把數(shù)據(jù)分級。為每一數(shù) 據(jù)對象(文件,或字段等)賦予一定的保密級。 例如;絕密極、保密級、秘密級和公用級。對于用戶, 成類似的級別

9、。系統(tǒng)便可規(guī)定兩條規(guī)則: (1)用戶1只能查看比他級別低的或同級的數(shù)據(jù)。 (2)用戶1只能修改和他同級的數(shù)據(jù)。,6.3.1 數(shù)據(jù)庫的安全性,6.3 數(shù)據(jù)庫的數(shù)據(jù)保護(hù),4.數(shù)據(jù)庫加密 (1)數(shù)據(jù)庫加密的特點(diǎn) 1)數(shù)據(jù)庫密碼系統(tǒng)采用公開密鑰; 2)多級密鑰結(jié)構(gòu) ; 3)加密機(jī)制是既可加密又可解密的可逆過程 ; 4)加密算法適應(yīng)數(shù)據(jù)庫系統(tǒng)的特性。 (2)數(shù)據(jù)庫加密的范圍 1)索引字段不能加密 ; 2)關(guān)系運(yùn)算的比較字段不能加密 ; 3)表間的連接碼字段不能加密。,6.3.1 數(shù)據(jù)庫的安全性,6.3 數(shù)據(jù)庫的數(shù)據(jù)保護(hù),4.數(shù)據(jù)庫加密 (3)數(shù)據(jù)庫加密對數(shù)據(jù)庫管理系統(tǒng)原有功能的影響 1)無法實(shí)現(xiàn)對數(shù)據(jù)制

10、約因素的定義 ; 2)失去密文數(shù)據(jù)的排序、分組和分類作用; 3)SQL語言中的內(nèi)部函數(shù)將對加密數(shù)據(jù)失去作用; 4)DBMS的一些應(yīng)用開發(fā)工具的使用受到限制。,6.3.1 數(shù)據(jù)庫的安全性,6.3 數(shù)據(jù)庫的數(shù)據(jù)保護(hù),數(shù)據(jù)的完整性指:防止數(shù)據(jù)庫中存在不符合語義的數(shù) 據(jù),防止錯(cuò)誤信息的輸入和輸出。 數(shù)據(jù)完整性包括:數(shù)據(jù)正確性、有效性和一致性。 數(shù)據(jù)庫中的所有數(shù)據(jù)都必須滿足自己的完整性約束條 件,這些約束包括以下幾種: 1.數(shù)據(jù)類型與值域的約束(字符型、整型、實(shí)型 ); 2.關(guān)鍵字約束(主關(guān)鍵字、外關(guān)鍵字約束 ); 3.數(shù)據(jù)聯(lián)系的約束(靜態(tài)約束與動態(tài)約束如,年令更新舊值不能大于新值)。,6.3.2 數(shù)據(jù)

11、庫中數(shù)據(jù)的完整性,6.3 數(shù)據(jù)庫的數(shù)據(jù)保護(hù),并發(fā)控制的概念 大型多用戶數(shù)據(jù)庫中的數(shù)據(jù)資源必須是共享的,為了 充分利用數(shù)據(jù)庫資源,應(yīng)允許多個(gè)用戶并行操作的數(shù)據(jù)庫。 數(shù)據(jù)庫對這種并行操作進(jìn)行的控制即并發(fā)控制。 并發(fā)控制方法 并發(fā)控制的主要方法是封鎖技術(shù)(Locking )。當(dāng)事 務(wù)1修改數(shù)據(jù)時(shí),將數(shù)據(jù)封鎖,這樣事務(wù)1讀取和修改數(shù)據(jù) 時(shí),其他事務(wù)不能對數(shù)據(jù)進(jìn)行讀取和修改,直到事務(wù)1解 除封鎖。,6.3.3 數(shù)據(jù)庫并發(fā)控制,6.3 數(shù)據(jù)庫的數(shù)據(jù)保護(hù),6.4 數(shù)據(jù)庫的備份與恢復(fù),數(shù)據(jù)庫的備份大致有三種類型 1.冷備份:冷備份是在沒有最終用戶訪問它的情況下關(guān)閉 數(shù)據(jù)庫,并將其備份,這是保持?jǐn)?shù)據(jù)完整性的最好

12、辦法。 2.熱備份:熱備份是在數(shù)據(jù)庫正在被寫入的數(shù)據(jù)更新時(shí)進(jìn) 行,日志文件將需要作更新或更改的業(yè)務(wù)指令“堆起來”, 而不真正將任何數(shù)據(jù)值寫入數(shù)據(jù)庫記錄。 3.邏輯備份:邏輯備份使用軟件技術(shù)從數(shù)據(jù)庫提取數(shù)據(jù)并 將結(jié)果寫入一個(gè)輸出文件。,6.4.1 數(shù)據(jù)庫的備份,數(shù)據(jù)庫的恢復(fù)技術(shù)有如下2種: (1)單純以備份為基礎(chǔ)的恢復(fù)技術(shù); (2)以備份和日志為基礎(chǔ)的恢復(fù)技術(shù)。如圖6-2所示。,6.4.2 數(shù)據(jù)庫的恢復(fù),6.4 數(shù)據(jù)庫的備份與恢復(fù),6.5 SQL Server的安全管理與策略,1.SQL Server的安全體系 SQL Server的安全性是從下面三個(gè)層次來實(shí)現(xiàn)的: 第一層 數(shù)據(jù)庫安全管理,包括

13、登錄和用戶授權(quán)、存儲過程管理等,確保對服務(wù)器的訪問安全性 第二層是操作系統(tǒng)安全管理,包括檢測日志記錄、管理員帳號的管理等; 第三層是網(wǎng)絡(luò)安全管理,通過端口設(shè)置、防火墻技術(shù)等網(wǎng)絡(luò)技術(shù)來實(shí)現(xiàn)數(shù)據(jù)的安全性。,6.5.1 SQL Server的安全體系和安全認(rèn)證,SQL Server的安全體系如圖 63所示。,6.5 SQL Server的安全管理與策略,2. SQL Server的安全認(rèn)證 當(dāng)SQL Server在Windows環(huán)境中運(yùn)行時(shí),SQL Server 2000提供了下面兩種確認(rèn)用戶的認(rèn)證模式: (1)Windows認(rèn)證模式 Windows認(rèn)證模式利用Windows操作系統(tǒng)對于用戶登錄 和

14、用戶帳號管理的安全機(jī)制,允許SQL Server也可以使用 Windows的用戶名和口令。用戶只需要通過Windows的認(rèn) 證,就可以連接到SQL Server。,6.5.1 SQL Server的安全體系和安全認(rèn)證,6.5 SQL Server的安全管理與策略,(2)混合認(rèn)證模式 在混合認(rèn)證模式下,SQL Server系統(tǒng)可以采用 Windows認(rèn)證進(jìn)程或SQL Server認(rèn)證進(jìn)程。 當(dāng)連接服務(wù)器的用戶通過信任連接協(xié)議(NP和TCP/IP) 登錄系統(tǒng)時(shí),SQL Server采用Windows認(rèn)證進(jìn)程;當(dāng)用戶 連接服務(wù)器時(shí)采用非信任連接協(xié)議,數(shù)據(jù)庫系統(tǒng)就會采用 SQL Server認(rèn)證進(jìn)程。

15、,6.5.1 SQL Server的安全體系和安全認(rèn)證,6.5 SQL Server的安全管理與策略,安全管理是數(shù)據(jù)庫管理系統(tǒng)必須提供的功能,其中包 含兩個(gè)層次: 一是用戶是否有權(quán)限登錄到系統(tǒng)及如何登錄的管理; 二是用戶能否使用數(shù)據(jù)庫中的對象并執(zhí)行相應(yīng)操作的管理。 SQL Server的安全管理主要包括以下四個(gè)方面: 數(shù)據(jù)庫登錄管理 數(shù)據(jù)庫用戶管理 數(shù)據(jù)庫角色管理 數(shù)據(jù)庫權(quán)限管理,6.5.2 SQL Server的安全管理,6.5 SQL Server的安全管理與策略,1.數(shù)據(jù)庫登錄管理 用戶必須提供正確的登錄帳號才能訪問SQL Server 系統(tǒng),這些帳號包括Windows登錄帳號和SQL

16、Server登錄 帳號。 SQL Server根據(jù)連接的數(shù)據(jù)庫,授予用戶不同的訪 問權(quán)限,并保留相同的密碼。用戶必須有服務(wù)器的登錄 或連接權(quán)限,SQL Server將密碼與登錄聯(lián)系,沒有登錄 到數(shù)據(jù)庫服務(wù)器的用戶,將不能訪問服務(wù)器中的任何數(shù) 據(jù)庫。,6.5.2 SQL Server的安全管理,6.5 SQL Server的安全管理與策略,對SQL Server數(shù)據(jù)庫登錄的管理有兩種方法: 1)企業(yè)管理器(SQL Server Enterprise Manager) 2)系統(tǒng)存貯過程sp 下面介紹利用系統(tǒng)存儲過程管理登錄。 (1)使用系統(tǒng)存儲過程sp_addlogin創(chuàng)建登錄帳號 sp_addl

17、ogin存儲過程使用Transact SQL語句,語法如下: sp_addlogin loginname=登錄名,password=密碼,defaultdb=數(shù)據(jù)庫,defaultlanguage=語言,sid=安全識別編號,encryptopt=加密選項(xiàng),6.5.2 SQL Server的安全管理,6.5 SQL Server的安全管理與策略,例 61 創(chuàng)建一個(gè)登錄后連接DB1000數(shù)據(jù)庫、密碼為“good”的用戶“song”,并指定SID。 EXEC sp_addlogin song, good, DB1000, NULL, 00a bcd 12345678 例62 將登錄用戶“song”

18、的密碼由“good1”改為“good2”。 EXEC sp_password good1, good2, song,6.5.2 SQL Server的安全管理,6.5 SQL Server的安全管理與策略,(2)使用系統(tǒng)存儲過程sp_helplogins顯示登錄系統(tǒng)管理 員sa可以使用系統(tǒng)存儲過程sp_helplogins來查看當(dāng)前數(shù) 據(jù)庫服務(wù)器中的登錄信息,語法如下: sp_helplogins loginname=登錄名 若未提供登錄名,返回結(jié)果將包括當(dāng)前數(shù)據(jù)庫服務(wù)器 中的所有登錄信息。 (3)使用系統(tǒng)存儲過程sp_droplogin刪除登錄 系統(tǒng)管理員sa可以使用系統(tǒng)存儲過程sp_dro

19、plogin從數(shù)據(jù)庫中刪除登錄。其語法如下: sp_droplogin loginname=登錄名,6.5.2 SQL Server的安全管理,6.5 SQL Server的安全管理與策略,2.數(shù)據(jù)庫用戶管理 用戶名實(shí)際上是訪問同一服務(wù)器上的不同數(shù)據(jù)庫的標(biāo) 識,用戶在數(shù)據(jù)庫中的操作能力取決于用戶的權(quán)限。 (1)使用系統(tǒng)存儲過程sp_adduser創(chuàng)建用戶,語法如下: sp_adduser loginname=登錄名, username=用戶 名,groupname=角色名 需要注意的是:這里的登錄名loginname不能無效,用戶名username不能為空。,6.5.2 SQL Server的

20、安全管理,6.5 SQL Server的安全管理與策略,例 63 在數(shù)據(jù)庫DB1000的角色“secret”中創(chuàng)建用戶“Wang”,使用“Myway”登錄。 USE DB1000 EXEC sp_adduser Myway,Wang,secret (2)使用系統(tǒng)存儲過程sp_dropuser刪除用戶,語法如下: sp_dropuser username=用戶名 例 64 在數(shù)據(jù)庫DB1000中刪除用戶“Wang” USE DB1000 EXEC sp_dropuser Wang,6.5.2 SQL Server的安全管理,6.5 SQL Server的安全管理與策略,3.數(shù)據(jù)庫角色管理 數(shù)據(jù)庫

21、角色是指為管理相同權(quán)限的用戶而設(shè)置的用戶組,也就是說,同一角色下的用戶權(quán)限都是相同的。 在SQL Server數(shù)據(jù)庫中,把相同權(quán)限的一組用戶設(shè)置為某一角色后,當(dāng)對該角色進(jìn)行權(quán)限設(shè)置時(shí),這些用戶就自動繼承修改后的權(quán)限。 SQL Server數(shù)據(jù)庫的角色通??梢苑譃槿悾?數(shù)據(jù)庫服務(wù)器角色 數(shù)據(jù)庫角色 應(yīng)用程序角色,6.5.2 SQL Server的安全管理,6.5 SQL Server的安全管理與策略,(1)SQL Server數(shù)據(jù)庫角色分類 數(shù)據(jù)庫服務(wù)器角色:都是SQL Server內(nèi)置的,即不能對其進(jìn)行添加、修改和刪除,只能向其中加入用戶或者其他角色。 數(shù)據(jù)庫角色:是為某一用戶或某一組用戶授

22、予不同級別的管理或訪問數(shù)據(jù)庫以及數(shù)據(jù)庫對象的權(quán)限,這些權(quán)限是數(shù)據(jù)庫專有的。 應(yīng)用程序角色:是一種比較特殊的角色。如通過特定應(yīng)用程序間接地存取數(shù)據(jù)庫中的數(shù)據(jù)時(shí),所使用的角色。,6.5.2 SQL Server的安全管理,6.5 SQL Server的安全管理與策略,(2)利用系統(tǒng)存儲過程管理角色 管理數(shù)據(jù)庫服務(wù)器角色 在SQL Server中,管理服務(wù)器角色的存儲過程主要有 兩個(gè)sp_addsrvrolemember,sp_dropsrvrolemember 系統(tǒng)存儲過程sp_addsrvrolemember可以將某一登錄 帳號加入到服務(wù)器角色中,使其成為該服務(wù)器角色的成員。 其語法形式如下:

23、sp_addsrvrolemember login,role,6.5.2 SQL Server的安全管理,6.5 SQL Server的安全管理與策略,管理數(shù)據(jù)庫角色 管理數(shù)據(jù)庫角色的系統(tǒng)存儲過程見下表:,6.5 SQL Server的安全管理與策略,用戶在進(jìn)行數(shù)據(jù)庫的角色管理時(shí),需要注意以下4點(diǎn): 固定數(shù)據(jù)庫服務(wù)器角色或固定數(shù)據(jù)庫角色不能被增加、修改或刪除,也就是說定義角色只能是在數(shù)據(jù)庫級別上。 只有固定數(shù)據(jù)庫服務(wù)器角色才能執(zhí)行系統(tǒng)存儲過程sp_addsrvrolemember,把一個(gè)登錄帳號添加為一個(gè)固定數(shù)據(jù)庫服務(wù)器角色的成員。,6.5.2 SQL Server的安全管理,6.5 SQL

24、Server的安全管理與策略,只有固定數(shù)據(jù)庫服務(wù)器角色db_owner的成員才可以添 加任意成員到數(shù)據(jù)庫角色中,角色所有者只能在其所擁有 的角色中添加成員。 應(yīng)用程序角色不包括任何用戶。通過應(yīng)用程序角色, 各個(gè)應(yīng)用程序授予的訪問權(quán)是不同的。使用應(yīng)用程序角色 時(shí),必須提供密碼并激活角色才能使用。,6.5.2 SQL Server的安全管理,6.5 SQL Server的安全管理與策略,4.數(shù)據(jù)庫權(quán)限管理 設(shè)置用戶對數(shù)據(jù)庫的操作權(quán)限稱為授權(quán),SQL Server中對于未授權(quán)的用戶將無法訪問或存取數(shù)據(jù)庫數(shù)據(jù)。 通常權(quán)限分為以下三種: 1)對象權(quán)限:指允許用戶或角色創(chuàng)建、修改或刪除數(shù)據(jù)庫對象,以及允許

25、備份和恢復(fù)數(shù)據(jù)庫和事務(wù)日志。 2)語句權(quán)限:指允許對數(shù)據(jù)庫對象(包括表、視圖)進(jìn)行查詢、添加、修改和刪除操作,以及允許執(zhí)行存儲過程。 3)暗示性權(quán)限:指系統(tǒng)預(yù)定義的固定數(shù)據(jù)庫服務(wù)器角色成員、數(shù)據(jù)庫擁有者(DBO)和數(shù)據(jù)庫對象擁有者(DBOO)所擁有的權(quán)限。,6.5.2 SQL Server的安全管理,6.5 SQL Server的安全管理與策略,SQL Server數(shù)據(jù)庫權(quán)限的管理 權(quán)限管理主要針對對象權(quán)限和語句權(quán)限,通常權(quán)限有三種狀態(tài):授予權(quán)限、撤消權(quán)限、拒絕訪問。 例 65 將創(chuàng)建數(shù)據(jù)庫和視圖的權(quán)限授予DB1000數(shù)據(jù)庫中的RedRole角色。 USE DB1000 GO GRANT CR

26、EATE DATABASE, CREATE TABLE TO RedRole GO,6.5.2 SQL Server的安全管理,6.5 SQL Server的安全管理與策略,1.SQL Server的安全策略 采取恰當(dāng)?shù)陌踩呗詠響?yīng)對SQL Server數(shù)據(jù)庫中的安全漏洞和不當(dāng)配置是很重要的,下面介紹4種常用的安全策略: 安全密碼和安全帳號策略 日志記錄檢測策略 擴(kuò)展存儲過程管理策略 網(wǎng)絡(luò)及協(xié)議安全管理策略,6.5.3 SQL Server的安全策略及常用安全工具,6.5 SQL Server的安全管理與策略,2.SQL Server的常用安全工具 (1)Sscheck.exe Sscheck

27、.exe是微軟發(fā)布的一種SQL Server安全檢查工 具,用于定位和禁用容易受Slammer蠕蟲程序攻擊的SQL Server 2000和SQL Server 2000 Desktop Engine(MSDE 2000)實(shí)例。,6.5.3 SQL Server的安全策略及常用安全工具,6.5 SQL Server的安全管理與策略,2.SQL Server的常用安全工具 (2)Sqlscan.exe Sqlscan.exe是微軟發(fā)布的一種SQL Server安全掃描工 具,用于定位SQL Server 2000和MSDE 2000實(shí)例。該掃 描程序還可以掃描Windows域或特定范圍內(nèi)的IP地

28、址,識 別出容易受Slammer蠕蟲程序攻擊的SQL Server實(shí)例。,6.5.3 SQL Server的安全策略及常用安全工具,6.5 SQL Server的安全管理與策略,6.6 應(yīng)用示例:數(shù)據(jù)庫加密系統(tǒng),1.數(shù)據(jù)庫加密的必要性 OS和DBMS對數(shù)據(jù)庫文件本身仍然缺乏有效保護(hù)措施; 數(shù)據(jù)庫加密對內(nèi)部網(wǎng)絡(luò)安全管理是非常重要的。 2.數(shù)據(jù)庫加密的基本要求 字段加密 密鑰動態(tài)管理 合理處理數(shù)據(jù) 不影響合法用戶操作,6.6.1 數(shù)據(jù)庫加密系統(tǒng)概述,3.在不同層次實(shí)現(xiàn)數(shù)據(jù)庫加密 OS層加密 DBMS內(nèi)核層加密 DBMS外層加密,6.6.1 數(shù)據(jù)庫加密系統(tǒng)概述,6.6 應(yīng)用示例:數(shù)據(jù)庫加密系統(tǒng),4.

29、加密系統(tǒng)的有關(guān)問題 在用戶進(jìn)入系統(tǒng)時(shí)進(jìn)行兩級安全控制 這種控制可以采用多種方式,包括設(shè)置數(shù)據(jù)庫用戶名 口令,或者利用IC卡讀寫器/指紋識別器進(jìn)行用戶認(rèn)證。 防止非法拷貝 對于純軟件系統(tǒng),可以采用軟指紋技術(shù)防止非法拷 貝,每臺都安裝加密卡等硬部件客戶機(jī)安全性會更好。 安全的數(shù)據(jù)抽取方式 有兩種卸出和裝入數(shù)據(jù)庫中加密數(shù)據(jù)的方式:一是 密文方式卸出;二是明文方式卸出。,6.6.1 數(shù)據(jù)庫加密系統(tǒng)概述,6.6 應(yīng)用示例:數(shù)據(jù)庫加密系統(tǒng),5.系統(tǒng)結(jié)構(gòu) 數(shù)據(jù)庫加密系統(tǒng)分成兩個(gè)功能獨(dú)立的主要部件:一 個(gè)是加密字典管理程序,另一個(gè)是數(shù)據(jù)庫加/解密引擎, 體系結(jié)構(gòu)如圖 6-6 所示。,6.6.1 數(shù)據(jù)庫加密系統(tǒng)

30、概述,6.6 應(yīng)用示例:數(shù)據(jù)庫加密系統(tǒng),1.數(shù)據(jù)庫密碼 應(yīng)用于數(shù)據(jù)庫加密的加密算法稱為數(shù)據(jù)庫密碼。加密 算法根據(jù)不同需要可分為:序列密碼、分組密碼、公開密 鑰密碼。 2.密鑰管理方法 數(shù)據(jù)庫加密需要實(shí)行二級密鑰管理。一級密鑰為主密 鑰,二級密鑰為工作密鑰。 3.密鑰的安全保護(hù) 主密鑰的安全需要解決:主密鑰的生成、主密鑰的存 儲、主密鑰的更換這幾個(gè)問題。,6.6.2 數(shù)據(jù)庫加密系統(tǒng)的密鑰管理,6.6 應(yīng)用示例:數(shù)據(jù)庫加密系統(tǒng),1.加/解密引擎體系結(jié)構(gòu) 數(shù)據(jù)庫加/解密引擎系統(tǒng)結(jié)構(gòu)如圖 68所示。 2.加解密處理 “加解密處理模塊”是數(shù)據(jù)庫加密引擎的核心模塊, 包括數(shù)據(jù)庫加解密引擎的初始化、內(nèi)部專用命令的處理加 密字典信息檢索、加密字典緩沖區(qū)的管理、SQL命令的加 密變換、查詢

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論