數(shù)據(jù)庫完整性與安全性實驗_第1頁
數(shù)據(jù)庫完整性與安全性實驗_第2頁
數(shù)據(jù)庫完整性與安全性實驗_第3頁
數(shù)據(jù)庫完整性與安全性實驗_第4頁
數(shù)據(jù)庫完整性與安全性實驗_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、(一)、 安全性實驗內(nèi)容與要求:SQL Server 數(shù)據(jù)庫實驗:SQL Server提供了多種安全機制。主要的有如下3條:1最小權(quán)限原則:SQL Server通過給不同用戶賦予不同權(quán)限的方式來保證安全。本原則要求只給某用戶完成工作所必須的權(quán)限,以盡量減小用戶有意或無意的錯誤對數(shù)據(jù)庫造成的損害。2CIA原則:C:機密性,未授權(quán)者或使用非法手段無法訪問數(shù)據(jù)。I:完整性,未授權(quán)者或使用非法手段無法修改數(shù)據(jù)。A:可用性,已授權(quán)者可隨時使用數(shù)據(jù)。3深度防護:實際上任何一個程序都運行在操作系統(tǒng)上,一臺計算機上還有其它應(yīng)用程序。所以SQL Server的安全不能僅僅考慮本身的安全,而必須結(jié)合操作系統(tǒng)安全及

2、其它相關(guān)因素(比如殺毒軟件和防火墻)來考慮。這就是深度防護。SQL Server僅僅運行在Windows操作系統(tǒng)上,允許直接使用Windows用戶作為SQL Server用戶,由于是同一公司的產(chǎn)品,其和操作系統(tǒng)的聯(lián)系和配合特別緊密,為其它數(shù)據(jù)庫所遠遠不及的。在SQL Server服務(wù)器及其它Windows服務(wù)器上,應(yīng)該進行多方面的安全配置:包括操作系統(tǒng)補丁管理、管理員用戶和組管理、其它本地用戶組管理和設(shè)置本地安全策略。為了提供網(wǎng)絡(luò)上的客戶端訪問,還需要進行端點等相關(guān)設(shè)置。SQL Server對兩種實體提供安全機制。分別是登錄名(以前曾稱為login,現(xiàn)在在T-SQL中仍然這樣使用,但為避免混淆

3、,Microsoft已經(jīng)開始改稱其為服務(wù)器主體)和用戶名(user,就是數(shù)據(jù)庫主體)?,F(xiàn)在有3種登錄名:windows域登錄名(就是域用戶),windows本地登錄名(本地用戶)和SQL Server登錄名。用戶登錄以后,SQL Server將其映射為自己的user,進行相應(yīng)安全管理。從而提供了兩種身份認證模式:Windows認證模式和SQL Server認證模式。1Windows認證模式SQL Server數(shù)據(jù)庫系統(tǒng)通常運行在NT服務(wù)器平臺或基于NT 構(gòu)架的Windows server上,而NT作為網(wǎng)絡(luò)操作系統(tǒng),本身就具備管理登錄、驗證用戶合法性的能力,所以Windows認證模式正是利用這一

4、用戶安全性和賬號管理的機制,允許SQL Server也可以使用NT的用戶名和口令。在該模式下,用戶只要通過Windows的認證就可連接到SQL Server,而SQL Server本身也不需要管理一套登錄數(shù)據(jù)。2SQL Server認證模式在SQL Server認證模式下,用戶在連接到SQL Server時必須提供建立在SQL Server上的用戶名(登錄名)和登錄密碼,這些登錄信息存儲在系統(tǒng)表syslogins中,與NT的登錄賬號無關(guān)。SQL Server自己執(zhí)行認證處理,如果輸入的登錄信息與系統(tǒng)表syslogins 中的某條記錄相匹配則表明登錄成功。注:該方式常用于系統(tǒng)開發(fā)中,因為客戶機常

5、常與服務(wù)器不是同一臺計算機,甚至也不在同一個windows域中,所以使用該方式進行登錄比較方便。實驗內(nèi)容:1. 以DBA身份(可以是SQL Server上的sa或者windows上的系統(tǒng)管理組的某個成員)登陸系統(tǒng),在圖形界面下創(chuàng)建新登錄,新建登錄用戶可以使用Windows認證模式和SQL Server認證模式。首先,右鍵安全性,再選擇登錄名,最后選擇新建登錄名,便可以彈出如下的窗口,我們填寫要新建的登錄名,以及選擇登錄方式(windows身份驗證還是SQL Server身份驗證)。點擊確定,便可以成功的新建登錄。2. 使用T-SQL命令create login login-name 和crea

6、te login login-name from windows重復(fù)第1步的內(nèi)容。我們執(zhí)行了如下的T-SQL命令:運行的結(jié)果如圖所示,我們看到在安全性-登錄名的目錄下,已經(jīng)有了名為majunyi的登錄名,這表明我們之前進行的操作已經(jīng)成功了:3. 在服務(wù)器角色選項卡中賦予新建用戶角色。完成后查找T-SQL中對應(yīng)命令,在圖形界面上撤消該權(quán)限后使用命令完成授予權(quán)限和收回權(quán)限的任務(wù)。我們在服務(wù)器角色選項卡中選擇了新建服務(wù)器角色,新建了一個名為majunyiX 服務(wù)器角色,并將安全對象選為我們剛剛創(chuàng)建的登錄名majunyi,并開啟所有權(quán)限。之后,我們打開在這個服務(wù)器角色,再將登錄名majunyi的權(quán)限全

7、部取消,如下圖所示。執(zhí)行如下的SQL代碼,即可將權(quán)限授予登錄名majunyi:執(zhí)行后,我們看到,權(quán)限已經(jīng)被授予了:執(zhí)行如下的SQL代碼,即可將登錄名majunyi的權(quán)限取消:查看執(zhí)行后的結(jié)果,我們又發(fā)現(xiàn)權(quán)限被去除了。4. 將新建用戶映射到移動通信數(shù)據(jù)庫某用戶。執(zhí)行相關(guān)SQL操作,檢查該用戶的權(quán)限。用戶在權(quán)限范圍內(nèi)、超出權(quán)限范圍訪問相應(yīng)數(shù)據(jù)對象,查看訪問結(jié)果和DBMS的反映。我們執(zhí)行了如下的代碼,來將新建登錄名majunyi 映射到我們存有移動通信數(shù)據(jù)的數(shù)據(jù)庫DB_EXP中。我們右鍵了數(shù)據(jù)庫DB_EXP,選擇屬性,再查看權(quán)限??梢钥吹轿覀儎倓傆成溥M來的用戶majunyi,以及他的權(quán)限(如圖所示)

8、。為了進一步的驗證權(quán)限的影響,我們將用戶majunyi的權(quán)限設(shè)置為拒絕新建表。接下來,我們用用戶majunyi連接數(shù)據(jù)庫,再執(zhí)行一條新建表的語句,查看執(zhí)行的效果,我們執(zhí)行了如下的語句:執(zhí)行后的結(jié)果如圖所示,果不其然,由于權(quán)限的限制,用戶majunyid 建表操作被拒絕了,沒有執(zhí)行成功。5. 對特定服務(wù)器對象設(shè)置權(quán)限,雙擊登陸名以后選擇安全對象,賦予該登錄名對服務(wù)器內(nèi)的某個對象的權(quán)限。執(zhí)行相關(guān)SQL操作,檢查該用戶的權(quán)限。用戶在權(quán)限范圍內(nèi)、超出權(quán)限范圍訪問相應(yīng)數(shù)據(jù)對象,查看訪問結(jié)果和DBMS的反映。如下圖所示,我們雙擊了登錄名majunyi,并選擇了安全對象,在安全對象JUNYIMA-PC中,我

9、們拒絕了他創(chuàng)建服務(wù)器角色的權(quán)限。之后,我們便執(zhí)行下面的SQL語句,嘗試去創(chuàng)建一個服務(wù)器角色,看看會有什么樣的反映。執(zhí)行后的結(jié)果如下圖所示,可見,由于權(quán)限的限制,用戶majunyi創(chuàng)建服務(wù)器角色的操作失敗了,并且系統(tǒng)給出了“用戶沒有此權(quán)限”的提示。6. 分別在圖形化界面、命令行中,撤銷用戶權(quán)限。當(dāng)我們在圖形界面時,我們首先需要雙擊需要進行更改的用戶名,再選擇安全對象。將我們想要撤銷的權(quán)限的對勾給去掉(如圖所示),最后點擊確定,便可以完成此操作。當(dāng)我們使用命令行時,我們可以執(zhí)行如下的SQL腳本,來進行消除用戶權(quán)限的操作。如下圖所示的代碼執(zhí)行后,將會將原來賦予用戶majunyi可以查看任意數(shù)據(jù)庫的權(quán)

10、限改成拒絕。7. 分別在圖形化界面、命令行中,刪除數(shù)據(jù)庫用戶。當(dāng)我們在圖形化界面中時,如圖所示,我們右鍵想要刪除的用戶,選擇刪除,即可。8. 根據(jù)實際操作,指出服務(wù)器角色和數(shù)據(jù)庫角色有多少種,分別有什么權(quán)限?如上圖所示,默認的數(shù)據(jù)庫角色成員身份有9種,分別為db_accessadmin, db_backupoperator, db_datareader, db_datawriter, db_denydatareader, db_denydatawriter, db_owner, db_securityadmin 下面我將詳細的介紹一下這幾個數(shù)據(jù)庫角色成員身份。db_accessadmin: 可

11、以添加或刪除用戶 IDdb_backupoperator: 可以發(fā)出 DBCC、CHECKPOINT 和 BACKUP 語句。db_datareader: 可以選擇數(shù)據(jù)庫內(nèi)任何用戶表中的所有數(shù)據(jù)。db_datawriter: 可以更改數(shù)據(jù)庫內(nèi)任何用戶表中的所有數(shù)據(jù)。db_denydatareader: 不能選擇數(shù)據(jù)庫內(nèi)任何用戶表中的任何數(shù)據(jù)。db_denydatawriter: 不能更改數(shù)據(jù)庫內(nèi)任何用戶表中的任何數(shù)據(jù)。db_owner: 在數(shù)據(jù)庫中有全部權(quán)限。db_securityadmin: 可以管理全部權(quán)限、對象所有權(quán)、角色和角色成員資格。 如上圖所示,默認的服務(wù)器角色有7個,分別為bul

12、kadmin, dbcreator, diskadmin, processadmin, scurityadmin, serveradmin, setupadmin. 下面我將詳細的介紹他們。Bulkadmin:固定服務(wù)器角色的成員可以運行 BULK INSERT 語句Dbcreator:固定服務(wù)器角色的成員可以創(chuàng)建數(shù)據(jù)庫,并更改還原自己的數(shù)據(jù)庫。Diskadmin:固定服務(wù)器角色的成員用于管理磁盤文件。Processadmin:固定服務(wù)器角色的成員可以終止 SQL Server 實例中運行的進程。Scurityadmin:固定服務(wù)器角色的成員將管理登錄名及其屬性。它們可以 GRANT、DENY

13、 和 REVOKE 服務(wù)器級權(quán)限。也可以 GRANT、DENY 和 REVOKE 數(shù)據(jù)庫級權(quán)限。另外,它們可以重置 SQL Server 登錄名的密碼。Serveradmin:固定服務(wù)器角色的成員可以更改服務(wù)器范圍的配置選項和關(guān)閉服務(wù)器。Setupadmin:固定服務(wù)器角色的成員可以添加和刪除鏈接服務(wù)器,并且也可以執(zhí)行某些系統(tǒng)存儲過程。9. 創(chuàng)建數(shù)據(jù)庫時,還會自動創(chuàng)建 SYS、GUEST 和 dbo 組。通過幫助文檔,了解這些組在數(shù)據(jù)庫中起到的作用。數(shù)據(jù)庫設(shè)備從邏輯上被劃分為數(shù)據(jù)庫段以允許將某一特定的對象放置在指定的段上(創(chuàng)建對象時指定),數(shù)據(jù)庫設(shè)備可擁有多達192個段,一段可使用255個邏輯

14、設(shè)備上的存儲空間。當(dāng)用戶創(chuàng)建一個數(shù)據(jù)庫時,SQL SERVER 會自動在該數(shù)據(jù)庫中創(chuàng)建三個段: SYSTEM、LOGSEGMENT 、DEFAULT,這三個段分別用來存儲數(shù)據(jù)庫的系統(tǒng)表、事務(wù)日志和其他數(shù)據(jù)庫對象。10. 以DBA身份登陸系統(tǒng),創(chuàng)建用戶組,為用戶組授予(grant)或撤銷(revoke)針對數(shù)據(jù)庫中表、視圖等不同數(shù)據(jù)對象的不同的訪問權(quán)限。首先,我們以windows用戶登錄并連接到數(shù)據(jù)庫,并針對用戶majunyi執(zhí)行如下的SQL代碼,即可將權(quán)限授予登錄名majunyi, 在這里我選擇了所有的權(quán)限,即試圖將用戶majunyi賦予所用的數(shù)據(jù)庫權(quán)限:執(zhí)行這一段SQL腳本后,我們使用圖形界

15、面查看用戶majunyi的權(quán)限。我們可以看到,權(quán)限已經(jīng)被授予給他了:執(zhí)行如下的SQL代碼,即可將登錄名majunyi的權(quán)限取消:再次進入圖形界面,查看SQL腳本執(zhí)行后的結(jié)果,我們又發(fā)現(xiàn)權(quán)限被去除了。11. 將組成員資格授予現(xiàn)有用戶或組,現(xiàn)有用戶或組訪問數(shù)據(jù)庫對象,查看訪問結(jié)果。撤銷現(xiàn)有用戶或組的組成員資格,查看訪問結(jié)果。我們右鍵了數(shù)據(jù)庫DB_EXP,選擇屬性,再查看權(quán)限??梢钥吹轿覀儎倓傆成溥M來的用戶majunyi,以及他的權(quán)限(如圖所示)。為了進一步的驗證權(quán)限的影響,我們將用戶majunyi的權(quán)限設(shè)置為拒絕新建表。接下來,我們用用戶majunyi連接數(shù)據(jù)庫,再執(zhí)行一條新建表的語句,查看執(zhí)行的效果,我們執(zhí)行了如下的語句:執(zhí)行后的結(jié)果如圖所示,果不其然,由于權(quán)限的限制,用戶majunyid 建表操作被拒絕了,沒有執(zhí)行成功。12. 分別在圖形化界面、命令行中從數(shù)據(jù)庫刪除組。當(dāng)我們在圖形化界面中時,如圖所示,我們右鍵想要刪除的用戶,選擇刪除,即可。當(dāng)我們使用命令行進行刪除用戶的操作時,我們需要執(zhí)行如下的

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論