成人在线你懂的-成人在线免费小视频-成人在线免费网站-成人在线免费视频观看-日韩精品国产一区二区-日韩精品国产一区

掃一掃
關注微信公眾號

Sybase數據庫安全性控制策略
2007-06-01   

計算機系統的安全性一直都是令開發者頭痛的問題,特別是在數據庫系統中,由于數據大量集中存放,且為眾多用戶直接共享,安全性問題更為突出。安全性問題給我們帶來的危害無須多言,世界上多家大型銀行都在不同程度上遭受到非法入侵者的襲擊,但由于商業原因,這些銀行都不愿意公布損失程度,使安全性問題更難以解決。Sybase作為一種大型數據庫系統,其安全性控制策略較為典型。

安全性控制的層次結構

Sybase數據庫為開發者提供了有效的安全性控制策略,既注重數據訪問的安全性和監督用戶的登錄,又兼顧了用戶在使用數據時對速度的要求。Sybase中的安全性是依靠分層解決的,它的安全措施也是一級一級層層設置的,真正做到了層層設防。第一層是注冊和用戶許可,保護對服務器的基本存取;第二層是存取控制,對不同用戶設定不同的權限,使數據庫得到最大限度的保護;第三層是增加限制數據存取的視圖和存儲過程,在數據庫與用戶之間建立一道屏障。

安全性問題的基本原則

Sybase基于上述層次結構的安全體系,提出以下幾點實施安全的原則:

1、選擇性訪問控制(Discretionary Access Controls DAC),DAC用來決定用戶是否有權訪問數據庫對象;
2、驗證,驗證就是保證只有授權的合法用戶才能注冊和訪問;
3、授權,對不同的用戶訪問數據庫授予不同的權限;
4、審計,監視系統發生的一切事件。

Sybase的安全控制策略

基于上述四點原則,Sybase提供了四種基本策略進行安全性控制。

在創建服務器時,Sybase將所有權限都分配給系統管理員,系統管理員可以在服務器上增加注冊者(Logins)(只有系統管理員有此權限)。Logins可以登錄服務器但不能訪問數據庫。數據庫屬主(DBO)有權增加用戶(users),users可以使用分配給它的數據庫。當users訪數據庫時,首先以Logins身份進入服務器,系統自動打開默認數據庫,Logins身份轉化為users身份。

在用戶登錄后,系統要通過口令進行驗證,以防止非法用戶盜用他人的用戶名進行登錄。這一驗證步驟在登錄時的注冊對話框中出現,注冊與驗證同時進行,用戶名與口令有一個不符,登錄請求被拒絕。

權限使得用戶在數據庫中活動范圍僅被容許在小范圍內,大大提高了數據庫的安全性。在Sybase系統中,對象的所有者或創建者自動被授予對對象的許可權。所有者則有權決定把許可權授予其他用戶。Sybase提供了GRANT和REVOKE命令,以便授予或取消許可權。數據庫所有者和系統管理員享有特殊許可權,包括數據庫所有者(Database Owner,DBO)對自己所擁有的數據庫中的一切對象具有全部許可權;系統管理員(System Administrantion,SA)享有服務器內的所有數據庫的一切對象的許可權。

Sybase提供了Audit Server,它是能夠全面審計跟蹤服務器上一切活動的工具,在某些情況下,我們難以阻止非法操作的發生,但至少可以監視非法操作,并采取跟蹤措施,找出非法執行操作的人。

除了以上四點基本策略,Sybase數據庫中還提供了兩種對象——視圖和存儲過程用于增強系統的安全性。

視圖和存儲過程像數據庫中的其他對象,也要進行權限設定,這樣用戶只能取得對視圖和存儲過程的授權,而無法訪問底層表。視圖可以限制底層表的可見列,從而限制用戶能查詢的數據列的種類,還能通過應用Where子句限制表返回的行。

下面以具體實例說明Sybase的安全性控制策略。假設開發一個新項目,需要建一個服務器,命名為Server,系統自動產生SA,并要求輸入口令(在此我們均假設口令為Null)。SA通過Logins對話框(或用SQL語句)為服務器增加注冊Logins,則Logins有權訪問Sybase,SA創建數據庫DB(SA在數據庫DB中的身份為數據庫所有者DBO),同時創建兩個用戶USER?1(設置登錄名為Login,默認服務器為DB)和USER?2這兩個用戶只能訪問數據庫DB。DB中有兩張表TABLE?1(COLUMN?1 INT,COLUMN?2 CHAR(5))和TABLE 2。

USER 1要訪問DB時,首先以Login登錄服務器,默認數據庫DB被打開,Login的身份就會化為USER-1。在完成了登錄和驗證后,我們可以通過授權進行安全性控制。授權命令要由數據庫屬主SA發出:GRANT ALL ON TABLE-1,TABLE-2 TO USER-1則USER-1擁有對TABLE-1,TABLE-2的所有權限。當然,SA也可以收回權限:REVODE DELETE ON TABLE1 FROM USER-1,樣,USER-1就不能對TABLE-1進行刪除操作。

視圖和存儲過程就象架設在用戶與底層表之間的一道橋梁,用戶只能對視圖和存儲過程進行操作,而無法直接訪問底層表。下面創建一個視圖人為例子。

CREATE VIEW VIEW-1 
AS SELECT COLUMN-1 FROM TABLE-1
GRANT ALL ON VIEW-1 TO USER-2

USER-2通過VIEW-1可以訪問COLUMN-1而無法訪問COLUMN-2,這就是VIEW-1的屏作用。再用存儲過程舉一個屏蔽行的例子。

CREATE PROCEDURE PROC-1 
AS SELECT FROM TABLE-1
WHERE (COLUMN-11)
GRANT EXECUTE ON PROC-1 TO USER-2

當用戶查詢時,只能看到COLUMN-1列值為1的行,其他行已經被PROC-1屏蔽掉了。

雖然Sybase為我們提供了強大的安全體系保障,但我們也要看到,安全問題不可能通過系統得到徹底解決,并且過分注重安全問題反而會降低系統效率。如何運用系統提供的安全策略就有賴于開發者的智慧了。


熱詞搜索:

上一篇:新反垃圾郵件技術獲支持 優于微軟Sender ID
下一篇:兩招填補Windows 2003 DNS服務器漏洞

分享到: 收藏
主站蜘蛛池模板: 龙的传人第四季| 明天属于我们法剧免费观看| 大场久美子| 陈浩民演的电视剧大全| 水儿武士电影完整免费观看| 辐射避难所掉脑袋问题答案 | 免费取姓名| 冰之下| 血色樱花| 颂赞诗歌| 男同视频在线| 乡村女老师| 战长沙每个人的结局| 读书笔记经典常谈| 日别视频| 美女罐头| 李志毅| 基础综合英语邱东林电子版答案| 咸猪手| 青山知可子全部电影| 天台的月光| 违规吃喝研讨发言材料| 科特·柯本| 艳妇乳肉豪妇荡乳ⅹxxo电影 | 性感的秘书| 女同视频网站| 庞勇| 天河电影演员表| 热情电影| 现代企业管理| 意外的春天 电影| 裸色亮片| 诗经中使用叠词的诗句| 娄际成| 章家瑞| 我自己说了算作文| 儿媳妇电视剧在线观看| 向东海| 十一码复式中奖表图片| 何昊阳| 小戏骨|