国产一级一区二区_segui88久久综合9999_97久久夜色精品国产_欧美色网一区二区

掃一掃
關注微信公眾號

SQL Server 中的身份安全
2007-12-11   

在SQL Server中安全連接包括身份驗證和用戶授權是兩個方面。驗證(authentication)是指檢驗用戶的身份標識,在用戶登錄SQL Server時進行,授權(authorization)是指允許用戶做些什么,即賦予用戶訪問數據或執行命令的限。

一、驗證方法

構造安全策略的第一個步是確定SQL Server用哪種方式驗證用戶。

一般地,如果服務器可以訪問域控制器,我們應該使用Windows身份驗證。

在驗證過程中,SQL Server接收到操作系統傳遞的一個訪問標記(其中包含了用戶的SID和用戶組的SID),然后SQL Server通過訪問標記中的SID和Master數據庫Sysxlogins表中的一個清單進行匹配。并以這些SID為基礎授予訪問權限。

當用戶處于域外,或使用非信任連接嘗試連接域中的SQL Server時,首先選取SQL身份驗證。

如果使用SQL Server驗證的登錄,它最大的好處是很容易實現,使用上也較方便。最大的缺點在于SQL Server驗證的登錄只對特定的服務器有效,也就是說,在一個多域環境中管理比較困難。    
使用SQL Server進行驗證的第二個重要的缺點是,管理成本較高。對于每一個數據庫,我們必須分別地為它管理權限。如果某個用戶對兩個數據庫有相同的權限要求,我們必須手工設置兩個數據庫的權限,或者編寫腳本設置權限。如果用戶數量較少,如30個以下,而且這些用戶的權限變化不是很頻繁,SQL Server驗證的登錄較適用。

二、Web環境

然而,Internet環境對SQLServer的安全連接的要求特殊---因為域的安全特性,在Web應用中使用Windows驗證很不方便。所以,在Internet環境中,進行驗證的典型方法是把一組SQL Server登錄名稱和密碼嵌入到Web服務器上運行的程序中,比如ASP頁面腳本;然后,由Web服務器負責驗證用戶,應用程序則使用它自己的登錄帳戶(或者是系統管理員sa帳戶)為用戶提供連接,這種方式很方便也有效。這也是目前大多數應用程序開發人員和網站設計者更喜歡 SQL Server 身份驗證的原因,因為他們熟悉登錄和密碼功能。

這種驗證存在的安全隱患顯而易見,其中最主要的是它不具備對用戶在服務器上的活動進行審核的能力,完全依賴于Web應用程序實現用戶驗證,當SQL Server需要限定用戶權限時不同的用戶之間不易區別。

不過,如果你使用的是IIS,你還可以采用四種方法來加強安全:

第一種常用方法是為每一個網站和每一個虛擬目錄創建一個匿名用戶的帳戶。此后,所有應用程序登錄SQL Server時都使用該安全環境。我們可以通過授予匿名帳戶合適的權限,改進審核和驗證功能。

第二種方法是讓所有網站使用基本驗證。此時,只有當用戶在對話框中輸入了合法的帳戶和密碼,IIS才會允許他們訪問頁面。IIS依靠一個Windows安全數據庫實現登錄身份驗證,安全數據庫既可以在本地服務器上,也可以在域控制器上。當用戶運行一個訪問SQL Server數據庫的程序或者腳本時,IIS把用戶為了瀏覽頁面而提供的身份信息發送給服務器。如果你使用這種方法,應該記住:在通常情況下,瀏覽器與服務器之間的密碼傳送一般是不加密的,對于那些使用基本驗證而安全又很重要的網站,你最好使用SSL(Secure Sockets Layer,安全套接字)來加強安全性能。

第三種方法基于在客戶端只使用IE瀏覽器的情況。可以在Web網站上和虛擬目錄上都啟用驗證。IE會把用戶登錄計算機的身份信息發送給IIS,當該用戶試圖登錄SQL Server時IIS就使用這些登錄信息。使用這種簡化的方法時,我們可以在一個遠程網站的域上對用戶身份進行驗證(該遠程網站要登錄到一個與運行著Web服務器的域有著信任關系的域中)。

最后,如果用戶都有個人數字證書,你可以把那些證書映射到本地域的帳戶上。個人數字證書與服務器數字證書以同樣的技術為基礎,它證明用戶身份標識的合法性,所以可以取代windows的驗證算法。瀏覽器會自動在每一個頁面請求中把證書信息發送給IIS。因此,我們可以用數字證書取代通常的提供帳戶名字和密碼的登錄過程。

由此可見,即使當用戶通過IIS跨越Internet連接SQL Server時,我們仍可以使用針對Internet的多種安全策略來加強這種安全。其他的方法還有,根據企業的軟硬件環境來選用。

不過,從以上討論可以看出,使用Windows集成的身份驗證是相對更明智的選擇。

三、設置訪問組

既然使用Windows賬戶來構造安全連接,那下一個步驟是確定用戶應該屬于什么組。通常,每一個組織或應用程序的用戶都可以按照他們對數據的特定訪問要求分成許多類別。例如,財務軟件的用戶一般包括:數據(憑證)輸入員,數據管理員,會計師,審計師,財務經理等。每一組用戶都有不同的數據庫訪問要求。

控制數據訪問權限最簡單的方法是,對于每一組用戶,分別地為它創建一個滿足該組用戶權限要求的、域內全局有效的組。我們既可以為每一個應用分別創建組,也可以創建適用于整個企業的、涵蓋用戶類別的組。當然,如果你想要能夠精確地了解組成員可以做些什么,為每一個應用程序分別創建組是一種較好的選擇。例如,在前面的會計系統中,我們應該創建Data Entry Operators、Accounting Managers等組。原則上,為了簡化管理,最好為組取一個能夠明確表示出作用的名字。

除了面向特定應用程序的組之外,我們還需要幾個基本組。基本組的成員負責管理服務器。按照習慣,我們可以創建下面這些基本組:SQL Server Administrators,SQL Server Users,SQL Server Denied Users,SQL Server DB Creators,SQL Server Security Operators,SQL Server Database Security Operators,SQL Server Developers,以及財務數據庫用戶組。當然,如果必要的話,你還可以創建其他組。

創建了全局組之后,接下來我們可以授予它們訪問SQL Server的權限。首先為SQL Server Users授予登錄權限,把Master數據庫設置為它的默認數據庫,但不要授予它訪問任何其他數據庫的權限,也不要把這個登錄帳戶設置為任何服務器角色的成員。接著再為SQL Server Denied Users重復這個過程,但這次要拒絕登錄訪問。在SQL Server中,拒絕權限始終優先。創建了這兩個組之后,我們就有了一種允許或拒絕用戶訪問服務器的便捷方法。

為那些沒有直接在Sysxlogins系統表里面登記的組授權時,我們不能使用Enterprise Manager,因為Enterprise Manager只允許我們從現有登錄名字的列表選擇,而不是域內所有組的列表。要訪問所有的組,請打開Query Analyzer,然后用系統存儲過程sp_addsrvrolemember以及sp_addrolemember進行授權。

對于操作服務器的各個組,我們可以用sp_addsrvrolemember存儲過程把各個登錄加入到合適的服務器角色:SQL Server Administrators成為Sysadmins角色的成員,SQL Server DB Creators成為Dbcreator角色的成員,SQL Server Security Operators成為Securityadmin角色的成員。注意sp_addsrvrolemember存儲過程的第一個參數要求是帳戶的完整路徑。例如,Benet域的zhang應該是Benet\zhang(如果你想用本地帳戶,則路徑應該是server_name\zhang

要創建在所有新數據庫中都存在的用戶,你可以修改Model數據庫。為了簡化工作,SQL Server自動把所有對Model數據庫的改動復制到新的數據庫。只要正確運用Model數據庫,我們無需定制每一個新創建的數據庫。另外,我們可以用sp_addrolemember存儲過程把SQL Server Security Operators加入到db_securityadmin,把SQL Server Developers加入到db_owner角色。

注意我們仍然沒有授權任何組或帳戶訪問數據庫。事實上,我們不能通過Enterprise Manager授權數據庫訪問,因為Enterprise Manager的用戶界面只允許我們把數據庫訪問權限授予合法的登錄帳戶。SQL Server不要求windows帳戶在我們把它設置為數據庫角色的成員或分配對象權限之前能夠訪問數據庫,但Enterprise Manager有這種限制。盡管如此,只要我們使用的是sp_addrolemember存儲過程而不是Enterprise Manager,就可以在不授予域內NT帳戶數據庫訪問權限的情況下為任意windows帳戶分配權限。

到這里為止,對Model數據庫的設置已經完成。但是,如果你的用戶群體對企業范圍內各個應用數據庫有著類似的訪問要求,你可以把下面這些操作移到Model數據庫上進行,而不是在面向特定應用的數據庫上進行。

四、允許數據庫訪問

在數據庫內部,與迄今為止我們對登錄驗證的處理方式不同,我們可以把權限分配給角色而不是直接把它們分配給全局組。這種能力使得我們能夠輕松地在安全策略中使用SQL Server驗證的登錄。即使你從來沒有想要使用SQL Server登錄帳戶,仍建議分配權限給角色,因為這樣你能夠為未來可能出現的變化做好準備。

創建了數據庫之后,我們可以用sp_grantdbaccess存儲過程授權DB_Name Users組訪問它。但應該注意的是,與sp_grantdbaccess對應的sp_denydbaccess存儲過程并不存在,也就是說,你不能按照拒絕對服務器訪問的方法拒絕對數據庫的訪問。如果要拒絕數據庫訪問,我們可以創建另外一個名為 Denied Users的全局組,授權它訪問數據庫,然后把它設置為db_denydatareader以及db_denydatawriter角色的成員。注意SQL語句權限的分配,這里的角色只限制對對象的訪問,但不限制對DDL(Data Definition Language,數據定義語言)命令的訪問。

正如對登錄過程的處理,如果訪問標記中的任意SID已經在Sysusers系統表登記,SQL將允許用戶訪問數據庫。因此,我們既可以通過用戶的個人windows帳戶SID授權用戶訪問數據庫,也可以通過用戶所在的一個(或者多個)組的SID授權。為了簡化管理,我們可以創建一個用戶數據庫的Users組擁有數據庫訪問權限,同時不把訪問權授予所有其他的組。這樣,我們只需簡單地在一個全局組中添加或者刪除成員就可以增加或者減少數據庫用戶。

五、分配權限

實施安全連接的最后一個步驟是創建用戶定義的數據庫角色,然后分配權限。完成這個步驟最簡單的方法是創建一些名字與全局組名字配套的角色。例如對于前面例子中的會計系統,我們可以創建Accounting Data Entry Operators、Accounting Data Entry Managers之類的角色。由于會計數據庫中的角色與帳務處理任務有關,你可能想要縮短這些角色的名字。然而,如果角色名字與全局組的名字配套,你可以減少混亂,能夠更方便地判斷出哪些組屬于特定的角色。

創建好角色之后就可以分配權限。在這個過程中,我們只需用到標準DCL:GRANT、REVOKE和DENY命令。
這里請注意DENY權限,這個權限優先于所有其他權限。如果用戶是任意具有DENY權限的角色或者組的成員,SQL Server將拒絕用戶訪問對象。

接下來我們就可以加入所有SQL Server驗證的登錄。用戶定義的數據庫角色可以包含SQL Server登錄以及windows全局組、本地組、個人帳戶。用戶定義的數據庫角色可以作為各種登錄的通用容器,我們使用用戶定義角色而不是直接把權限分配給全局組的主要原因就在于此。

由于內建的角色一般適用于整個數據庫而不是單獨的對象,因此這里建議你只使用兩個內建的數據庫角色,即db_securityadmin和db_owner。其他內建數據庫角色,例如db_datareader,它授予對數據庫里面所有對象的SELECT權限。雖然你可以用db_datareader角色授予SELECT權限,然后有選擇地對個別用戶或組拒絕SELECT權限,但使用這種方法時,你可能忘記為某些用戶或者對象設置權限。一種更簡單、更直接而且不容易出現錯誤的方法是為這些特殊的用戶創建一個用戶定義的角色,然后只把那些用戶訪問對象所需要的權限授予這個用戶定義的角色。

六、總結

SQL Server驗證的登錄不僅能夠方便地實現,而且與windows驗證的登錄相比,它更容易編寫到應用程序里。但是,如果用戶的數量超過30,或者服務器數量在一個以上,或者每個用戶都可以訪問一個以上的數據庫,或者數據庫有多個管理員,SQL Server驗證的登錄不容易管理。由于SQL Server沒有顯示用戶有效權限的工具,要記憶每個用戶具有哪些權限以及他們為何要得到這些權限就更加困難。即使對于一個數據庫管理員還要擔負其他責任的小型系統,簡化安全策略也有助于減輕問題的復雜程度。因此,首選的方法應該是使用windows驗證的登錄,然后通過一些精心選擇的全局組和數據庫角色完善數據庫訪問管理。

下面是一些簡化安全策略的經驗規則:

1.用戶通過SQL Server 服務器角色獲得服務器訪問,通過對特定數據庫用戶組獲得數據庫訪問。

2.用戶通過加入全局組獲得權限,而全局組通過加入角色獲得權限,角色直接擁有數據庫里的權限。

3.需要多種權限的用戶通過加入多個全局組的方式獲得權限。

只要規劃得恰當,你能夠在域控制器上完成所有的訪問和權限維護工作,使得服務器反映出你在域控制器上進行的各種設置調整。雖然實際應用中情況可能有所變化,但以上介紹的基本措施仍舊適用,它們能夠幫助你構造出很容易管理的數據庫安全連接策略。


熱詞搜索:

上一篇:數據安全:企業認真應對未充分利用的數據中心
下一篇:用WSE在Web服務中驗證用戶身份(1)

分享到: 收藏
国产一级一区二区_segui88久久综合9999_97久久夜色精品国产_欧美色网一区二区
欧美一级免费观看| 91麻豆成人久久精品二区三区| 亚洲高清在线精品| 成人黄色片在线观看| 精品91自产拍在线观看一区| 激情久久五月天| 久久久www成人免费无遮挡大片| 奇米亚洲午夜久久精品| 日韩亚洲电影在线| 国产一区二区三区观看| 欧美国产精品v| 欧美性欧美巨大黑白大战| 亚洲国产视频网站| 69堂精品视频| 国产精品一级黄| 亚洲丝袜美腿综合| 欧美日韩一区高清| 国产在线精品一区二区不卡了 | 久久久av毛片精品| 不卡av免费在线观看| 亚洲成a人v欧美综合天堂| 欧美一区2区视频在线观看| 国产一区二区电影| 亚洲精品日韩专区silk| 在线成人av影院| 成人精品一区二区三区中文字幕| 亚洲手机成人高清视频| 日韩一区二区三区观看| 99视频有精品| 久久精品国产亚洲一区二区三区| 国产精品美女久久久久久久久久久| 欧美日韩精品综合在线| 国产a区久久久| 婷婷开心激情综合| 成人免费一区二区三区在线观看 | 欧美成人a∨高清免费观看| 成人性生交大片免费看在线播放| 亚洲综合在线观看视频| 国产丝袜欧美中文另类| 欧美久久免费观看| 99久久久精品| 美女mm1313爽爽久久久蜜臀| 伊人开心综合网| 中文字幕巨乱亚洲| 欧美一级电影网站| 欧美自拍丝袜亚洲| jlzzjlzz国产精品久久| 国产精品羞羞答答xxdd| 奇米综合一区二区三区精品视频| 一区二区三区在线看| 国产精品欧美一区二区三区| 2020国产精品久久精品美国| 欧美电影在哪看比较好| 在线欧美日韩国产| 91女人视频在线观看| 国产99精品国产| 国产福利一区二区三区在线视频| 老鸭窝一区二区久久精品| 五月天一区二区| 午夜久久久久久久久久一区二区| 亚洲精选视频在线| 国产精品久久久久久久久久免费看| 日韩午夜av电影| 日韩三级高清在线| 欧美岛国在线观看| 日韩一区二区三区精品视频| 欧美喷水一区二区| 欧美剧情电影在线观看完整版免费励志电影 | 亚洲国产裸拍裸体视频在线观看乱了 | 69久久99精品久久久久婷婷| 欧美一区中文字幕| 日韩一区二区精品| 日韩欧美资源站| 中文字幕免费观看一区| 日韩毛片高清在线播放| 亚洲免费观看高清完整版在线| 亚洲欧美日韩一区二区三区在线观看| 亚洲欧美另类综合偷拍| 亚洲一区二区高清| 日韩不卡一二三区| 国产在线精品一区在线观看麻豆| 国产在线不卡一区| 国产成人免费视频网站高清观看视频| 99精品视频免费在线观看| 97精品国产97久久久久久久久久久久| 99精品久久久久久| 久久网这里都是精品| 中文在线资源观看网站视频免费不卡| 中文字幕一区二区三区精华液| 亚洲精选一二三| 精品一区中文字幕| 91丨porny丨中文| 日韩欧美成人一区| 中文字幕免费一区| 亚洲成在线观看| 成人午夜电影小说| 成人免费视频app| 欧美在线高清视频| 欧美mv和日韩mv的网站| 亚洲精品欧美激情| 欧美性感一区二区三区| 26uuu国产日韩综合| 亚洲欧美怡红院| 久久国产三级精品| 91成人免费在线| 国产女同性恋一区二区| 性感美女久久精品| 99热这里都是精品| 日本一区二区三区国色天香| 五月婷婷欧美视频| 成人一道本在线| 日韩欧美一级二级| 亚洲欧美电影一区二区| 激情国产一区二区 | 免费看黄色91| 国产一本一道久久香蕉| 国产又黄又大久久| 国产suv精品一区二区6| 欧美日韩亚洲综合| 国产精品家庭影院| 春色校园综合激情亚洲| 99久久免费视频.com| 色综合久久久久| 欧洲国内综合视频| 欧美一区中文字幕| 欧美另类变人与禽xxxxx| 一区二区三区色| 国产嫩草影院久久久久| 国产69精品一区二区亚洲孕妇| 91啪九色porn原创视频在线观看| 欧美亚洲国产怡红院影院| 91精品国产综合久久精品性色| 亚洲综合激情另类小说区| 日本中文字幕不卡| 国产成人精品免费在线| 在线视频你懂得一区| 精品卡一卡二卡三卡四在线| 韩国欧美国产1区| 一本一道综合狠狠老| 一区二区免费看| 国产精品影视在线观看| 韩国欧美一区二区| 中文字幕乱码一区二区免费| 极品瑜伽女神91| 2014亚洲片线观看视频免费| 精品亚洲国内自在自线福利| 欧美乱妇一区二区三区不卡视频| 午夜欧美视频在线观看| 国产精品一区二区果冻传媒| 成人国产精品视频| 欧美丝袜丝交足nylons图片| 99国产精品视频免费观看| 亚洲欧洲美洲综合色网| 亚洲精品视频一区二区| 激情图区综合网| 色一情一乱一乱一91av| 国产日韩精品久久久| 91丨porny丨中文| 日韩你懂的在线播放| 中文字幕一区二区三区在线播放| 日本一不卡视频| 久久久久成人黄色影片| 日韩黄色免费电影| 久久女同性恋中文字幕| 天天免费综合色| 色婷婷综合在线| 日韩一区欧美小说| 国产美女精品人人做人人爽| 欧美精品乱码久久久久久| 亚洲三级免费观看| 国产99久久久国产精品| 欧美xxxxxxxx| 一区二区三区av电影| 日韩欧美二区三区| 免费xxxx性欧美18vr| 欧美日韩成人一区二区| 依依成人综合视频| 日韩欧美卡一卡二| 亚洲国产一区二区在线播放| 理论片日本一区| 日韩欧美一卡二卡| 91在线免费播放| 日本免费新一区视频| 久久综合99re88久久爱| 欧美日韩亚洲另类| 亚洲图片欧美一区| 色域天天综合网| 亚洲欧美日韩精品久久久久| 精品国产伦一区二区三区免费| 免费一级欧美片在线观看| 91精品在线麻豆| 久久精品国产亚洲aⅴ | 美女视频网站黄色亚洲| 椎名由奈av一区二区三区| 国产精品亚洲а∨天堂免在线| 精品福利在线导航| 国产精品自拍毛片| www亚洲一区| 99riav久久精品riav| 26uuu国产在线精品一区二区|