資源描述:
《sybase數(shù)據(jù)庫(kù)安全》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、安全性控制的層次結(jié)構(gòu) Sybase數(shù)據(jù)庫(kù)為開(kāi)發(fā)者提供了有效的安全性控制策略,既注重?cái)?shù)據(jù)訪問(wèn)的安全性和監(jiān)督用戶的登錄,又兼顧了用戶在使用數(shù)據(jù)時(shí)對(duì)速度的要求。Sybase中的安全性是依靠分層解決的,它的安全措施也是一級(jí)一級(jí)層層設(shè)置的,真正做到了層層設(shè)防。第一層是注冊(cè)和用戶許可,保護(hù)對(duì)服務(wù)器的基本存??;第二層是存取控制,對(duì)不同用戶設(shè)定不同的權(quán)限,使數(shù)據(jù)庫(kù)得到最大限度的保護(hù);第三層是增加限制數(shù)據(jù)存取的視圖和存儲(chǔ)過(guò)程,在數(shù)據(jù)庫(kù)與用戶之間建立一道屏障?! “踩詥?wèn)題的基本原則 Sybase基于上述層次結(jié)構(gòu)的安全體系,提出以下幾點(diǎn)實(shí)施安全的原則: 選擇性
2、訪問(wèn)控制(DiscretionaryAccessControlsDAC),DAC用來(lái)決定用戶是否有權(quán)訪問(wèn)數(shù)據(jù)庫(kù)對(duì)象; 驗(yàn)證,驗(yàn)證就是保證只有授權(quán)的合法用戶才能注冊(cè)和訪問(wèn); 授權(quán),對(duì)不同的用戶訪問(wèn)數(shù)據(jù)庫(kù)授予不同的權(quán)限; 審計(jì),監(jiān)視系統(tǒng)發(fā)生的一切事件?! ybase的安全控制策略 基于上述四點(diǎn)原則,Sybase提供了四種基本策略進(jìn)行安全性控制?! ≡趧?chuàng)建服務(wù)器時(shí),Sybase將所有權(quán)限都分配給系統(tǒng)管理員,系統(tǒng)管理員可以在服務(wù)器上增加注冊(cè)者(Logins)(只有系統(tǒng)管理員有此權(quán)限)。Logins可以登錄服務(wù)器但不能訪問(wèn)數(shù)據(jù)庫(kù)。數(shù)據(jù)庫(kù)屬主(DB
3、O)有權(quán)增加用戶(users),users可以使用分配給它的數(shù)據(jù)庫(kù)。當(dāng)users訪數(shù)據(jù)庫(kù)時(shí),首先以Logins身份進(jìn)入服務(wù)器,系統(tǒng)自動(dòng)打開(kāi)默認(rèn)數(shù)據(jù)庫(kù),Logins身份轉(zhuǎn)化為users身份?! ≡谟脩舻卿浐?,系統(tǒng)要通過(guò)口令進(jìn)行驗(yàn)證,以防止非法用戶盜用他人的用戶名進(jìn)行登錄。這一驗(yàn)證步驟在登錄時(shí)的注冊(cè)對(duì)話框中出現(xiàn),注冊(cè)與驗(yàn)證同時(shí)進(jìn)行,用戶名與口令有一個(gè)不符,登錄請(qǐng)求被拒絕?! ?quán)限使得用戶在數(shù)據(jù)庫(kù)中活動(dòng)范圍僅被容許在小范圍內(nèi),大大提高了數(shù)據(jù)庫(kù)的安全性。在Sybase系統(tǒng)中,對(duì)象的所有者或創(chuàng)建者自動(dòng)被授予對(duì)對(duì)象的許可權(quán)。所有者則有權(quán)決定把許可權(quán)授予其他用
4、戶。Sybase提供了GRANT和REVOKE命令,以便授予或取消許可權(quán)。數(shù)據(jù)庫(kù)所有者和系統(tǒng)管理員享有特殊許可權(quán),包括數(shù)據(jù)庫(kù)所有者(DatabaseOwner,DBO)對(duì)自己所擁有的數(shù)據(jù)庫(kù)中的一切對(duì)象具有全部許可權(quán);系統(tǒng)管理員(SystemAdministrantion,SA)享有服務(wù)器內(nèi)的所有數(shù)據(jù)庫(kù)的一切對(duì)象的許可權(quán)?! ybase提供了AuditServer,它是能夠全面審計(jì)跟蹤服務(wù)器上一切活動(dòng)的工具,在某些情況下,我們難以阻止非法操作的發(fā)生,但至少可以監(jiān)視非法操作,并采取跟蹤措施,找出非法執(zhí)行操作的人。 除了以上四點(diǎn)基本策略,Sybas
5、e數(shù)據(jù)庫(kù)中還提供了兩種對(duì)象??視圖和存儲(chǔ)過(guò)程用于增強(qiáng)系統(tǒng)的安全性?! ∫晥D和存儲(chǔ)過(guò)程像數(shù)據(jù)庫(kù)中的其他對(duì)象,也要進(jìn)行權(quán)限設(shè)定,這樣用戶只能取得對(duì)視圖和存儲(chǔ)過(guò)程的授權(quán),而無(wú)法訪問(wèn)底層表。視圖可以限制底層表的可見(jiàn)列,從而限制用戶能查詢的數(shù)據(jù)列的種類(lèi),還能通過(guò)應(yīng)用Where子句限制表返回的行?! ∠旅嬉跃唧w實(shí)例說(shuō)明Sybase的安全性控制策略。假設(shè)開(kāi)發(fā)一個(gè)新項(xiàng)目,需要建一個(gè)服務(wù)器,命名為Server,系統(tǒng)自動(dòng)產(chǎn)生SA,并要求輸入口令(在此我們均假設(shè)口令為Null)。SA通過(guò)Logins對(duì)話框(或用SQL語(yǔ)句)為服務(wù)器增加注冊(cè)Logins,則Logins有
6、權(quán)訪問(wèn)Sybase,SA創(chuàng)建數(shù)據(jù)庫(kù)DB(SA在數(shù)據(jù)庫(kù)DB中的身份為數(shù)據(jù)庫(kù)所有者DBO),同時(shí)創(chuàng)建兩個(gè)用戶USER??1(設(shè)置登錄名為L(zhǎng)ogin,默認(rèn)服務(wù)器為DB)和USER??2這兩個(gè)用戶只能訪問(wèn)數(shù)據(jù)庫(kù)DB。DB中有兩張表TABLE??1(COLUMN??1INT,COLUMN??2CHAR(5))和TABLE??2?! SER??1要訪問(wèn)DB時(shí),首先以Login登錄服務(wù)器,默認(rèn)數(shù)據(jù)庫(kù)DB被打開(kāi),Login的身份就會(huì)化為USER-1。在完成了登錄和驗(yàn)證后,我們可以通過(guò)授權(quán)進(jìn)行安全性控制。授權(quán)命令要由數(shù)據(jù)庫(kù)屬主SA發(fā)出:GRANTALLONTAB
7、LE-1,TABLE-2TOUSER-1則USER-1擁有對(duì)TABLE-1,TABLE-2的所有權(quán)限。當(dāng)然,SA也可以收回權(quán)限:REVODEDELETEONTABLE1FROMUSER-1,樣,USER-1就不能對(duì)TABLE-1進(jìn)行刪除操作。 視圖和存儲(chǔ)過(guò)程就象架設(shè)在用戶與底層表之間的一道橋梁,用戶只能對(duì)視圖和存儲(chǔ)過(guò)程進(jìn)行操作,而無(wú)法直接訪問(wèn)底層表。下面創(chuàng)建一個(gè)視圖人為例子?! REATEVIEWVIEW-1 ASSELECTCOLUMN-1FROMTABLE-1 GRANTALLONVIEW-1TOUSER-2 USER-2通過(guò)VIE
8、W-1可以訪問(wèn)COLUMN-1而無(wú)法訪問(wèn)COLUMN-2,這就是VIEW-1的屏作用。再用存儲(chǔ)過(guò)程舉一個(gè)屏蔽行的例子。 CREATEP