456成人影院在线观看_亚洲a毛片_日韩9999_伊人网老司机_一本免费视频_最近高清日本免费

IT之道-艾銻知道

您當前位置: 主頁 > IT服務 > 服務器服務 >

服務器云運維知識打造SQL Server2000的安全策略教程


2020-04-16 13:09 作者:艾銻無限 瀏覽量:

服務器運維知識打造SQL Server2000的安全策略教程

 
Microsoft建立了一種既靈活又強大的安全管理機制,它能夠對用戶訪問SQL Server服務器系統和數據庫的安全進行全面地管理。按照本文介紹的步驟,你可以為SQL Server 7.0(或2000)構造出一個靈活的、可管理的安全策略,而且它的安全性經得起考驗。

  一、驗證方法選擇

  本文對驗證(authentication)和授權(authorization)這兩個概念作不同的解釋。驗證是指檢驗用戶的身份標識;授權是指允許用戶做些什么。在本文的討論中,驗證過程在用戶登錄SQL Server的時候出現,授權過程在用戶試圖訪問數據或執行命令的時候出現。

  構造安全策略的第一個步驟是確定SQL Server用哪種方式驗證用戶。SQL Server的驗證是把一組帳戶、密碼與Master數據庫Sysxlogins表中的一個清單進行匹配。Windows NT/2000的驗證是請求域控制器檢查用戶身份的合法性。一般地,如果服務器可以訪問域控制器,我們應該使用Windows NT/2000驗證。域控制器可以是Win2K服務器,也可以是NT服務器。無論在哪種情況下,SQL Server都接收到一個訪問標記(Access Token)。訪問標記是在驗證過程中構造出來的一個特殊列表,其中包含了用戶的SID(安全標識號)以及一系列用戶所在組的SID。正如本文后面所介紹的,SQL Server以這些SID為基礎授予訪問權限。注意,操作系統如何構造訪問標記并不重要,SQL Server只使用訪問標記中的SID。也就是說,不論你使用SQL Server 2000、SQL Server 7.0、Win2K還是NT進行驗證都無關緊要,結果都一樣。

  如果使用SQL Server驗證的登錄,它最大的好處是很容易通過Enterprise Manager實現,最大的缺點在于SQL Server驗證的登錄只對特定的服務器有效,也就是說,在一個多服務器的環境中管理比較困難。使用SQL Server進行驗證的第二個重要的缺點是,對于每一個數據庫,我們必須分別地為它管理權限。如果某個用戶對兩個數據庫有相同的權限要求,我們必須手工設置兩個數據庫的權限,或者編寫腳本設置權限。如果用戶數量較少,比如25個以下,而且這些用戶的權限變化不是很頻繁,SQL Server驗證的登錄或許適用。但是,在幾乎所有的其他情況下(有一些例外情況,例如直接管理安全問題的應用),這種登錄方式的管理負擔將超過它的優點。

  二、Web環境中的驗證

  即使最好的安全策略也常常在一種情形前屈服,這種情形就是在Web應用中使用SQL Server的數據。在這種情形下,進行驗證的典型方法是把一組SQL Server登錄名稱和密碼嵌入到Web服務器上運行的程序,比如ASP頁面或者CGI腳本;然后,由Web服務器負責驗證用戶,應用程序則使用它自己的登錄帳戶(或者是系統管理員sa帳戶,或者為了方便起見,使用Sysadmin服務器角色中的登錄帳戶)為用戶訪問數據。

  這種安排有幾個缺點,其中最重要的包括:它不具備對用戶在服務器上的活動進行審核的能力,完全依賴于Web應用程序實現用戶驗證,當SQL Server需要限定用戶權限時不同的用戶之間不易區別。如果你使用的是IIS 5.0或者IIS 4.0,你可以用四種方法驗證用戶。第一種方法是為每一個網站和每一個虛擬目錄創建一個匿名用戶的NT帳戶。此后,所有應用程序登錄SQL Server時都使用該安全環境。我們可以通過授予NT匿名帳戶合適的權限,改進審核和驗證功能。

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

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

  最后,如果用戶都有個人數字證書,你可以把那些證書映射到本地域的NT帳戶上。個人數字證書與服務器數字證書以同樣的技術為基礎,它證明用戶身份標識的合法性,所以可以取代NT的Challenge/Response(質詢/回應)驗證算法。Netscape和IE都自動在每一個頁面請求中把證書信息發送給IIS。IIS提供了一個讓管理員把證書映射到NT帳戶的工具。因此,我們可以用數字證書取代通常的提供帳戶名字和密碼的登錄過程。
  由此可見,通過NT帳戶驗證用戶時我們可以使用多種實現方法。即使當用戶通過IIS跨越Internet連接SQL Server時,選擇仍舊存在。因此,你應該把NT驗證作為首選的用戶身份驗證辦法。

  三、設置全局組

  構造安全策略的下一個步驟是確定用戶應該屬于什么組。通常,每一個組織或應用程序的用戶都可以按照他們對數據的特定訪問要求分成許多類別。例如,會計應用軟件的用戶一般包括:數據輸入操作員,數據輸入管理員,報表編寫員,會計師,審計員,財務經理等。每一組用戶都有不同的數據庫訪問要求。

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

  除了面向特定應用程序的組之外,我們還需要幾個基本組?;窘M的成員負責管理服務器。按照習慣,我們可以創建下面這些基本組: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,以及 DB_Name Users(其中DB_Name是服務器上一個數據庫的名字)。當然,如果必要的話,你還可以創建其他組。

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

  為那些沒有直接在Sysxlogins系統表里面登記的組授權時,我們不能使用Enterpris Managr,因為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存儲過程的第一個參數要求是帳戶的完整路徑。例如,BigCo域的JoeS應該是bigco\joes(如果你想用本地帳戶,則路徑應該是server_name\joes)。

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

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

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

  四、允許數據庫訪問

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

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

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

  五、分配權限

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

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

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

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

  六、簡化安全管理

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


更多IT知識請關注北京艾銻無限科技有限公司

相關文章

IT外包服務
二維碼 關閉
主站蜘蛛池模板: 亚洲s色大片_日本黄色影视_67194熟妇在线永久免费观看_亚洲精品沙发午睡系列_国产精品久久这里只有精品_国产91小视频在线观看_亚洲熟女综合色一区二区三区_大香伊蕉在人线国产av | 偷拍成人一区亚洲欧美_国产v无毛_国内精品伊人久久久久影院对白_国产裸体xxxx视频在线播放_老赵揉着粉嫩的双乳小说_精品一区二区av_超碰福利久久_久久精品一区二区三区不卡牛牛 | 69网站在线观看_国产在线看片免费视频在线观看_国产一区二区免费网站_女人精25xxxxx免费视频_久久久二区_日韩中文字幕在线_一级片在线免费_国产精品1234 | 午夜精品福利视频_国产日韩欧美东南在线_日韩美国1级大片_99视频国产热精品_久草热精品_18无码粉嫩小泬无套在线观看_强壮的公次次弄得我高潮a片日本_亚洲伦理片在线观看 | 高级毛片_521av永久免费网_日韩国产欧美亚洲v片_欧美xxxav_麻豆精品A片免费观看_一级毛片免费毛片一级毛片免费_女人18毛片水最多_青草久久精品 | 国产精品银行在线播放_色老头av亚洲一区二区男男_avhd高清101在线谜片最新_边吃奶亚洲一区二区_欧美成人看片一区二三区图文_97夜夜澡人人爽人人喊中国片_91麻豆免费版_日韩中文字幕一区二区高清99 | 日本iv一区二区三区_永久免费人禽AV在线观看_国产精品99久久久久久小说_久一视频在线_九九热一区二区_搡女人真爽免费视频大全软件_亚洲第一中文字幕在线_亚洲欧美成人一区二区 | 九色免费视频_国产精品一区二区亚洲_www.久久综合_亚洲九九影院_日本国产免费_狠狠色噜噜狠狠狠狠色综合久AV_亚洲精品美女久久777777_中文一区二 | 中文字幕不卡免费视频_亚洲欧美日韩另类精品一区_少妇午夜三级伦理影院播放器_亚洲精品乱码久久观看网_久青草无码视频在线观看_在线不卡a资源高清_欧美第2页_亚洲国产成人在线播放 | 東热精品中字久久无码五月天_大地资源在线观看免费高清一_国产69精品久久久久9999人_日本中文字幕视频在线观看_yy6969久久亚洲精品_一级做a爰片久久毛片一_91在线观看视频_www.中出 | 美丽姑娘免费高清观看_欧美黑人狂躁日本寡妇_亚洲精品久久无码AV片亚洲有色_国产日韩欧美另类_西西大尺度美軳人人体bt_一个人看的免费视频WWW中文字幕_天堂网www天堂在线资源库_伊人黄网 | 91狠狠狠狠狠狠狠狠_国产不卡一区在线_国产自国产一二三区高清在线_免费亚洲视频在线观看_久久精品欧美一区二区三区不卡_99久久精品国产交换_欧美日韩人妻精品一区二区在线_国产免费看av | 天天人人干_字幕专区码中文欧美在线_九色视频免费在线观看_日本又色又爽又黄的a片中文字幕_久久99精品国产麻豆婷婷洗澡_精品少妇一区二区三区免费观_动漫精品无码h在线观看_最近免费韩国日本HD中文字幕 | 国产视频手机在线观看_日韩av免费一区二区_成人性生交大片兜免费看r_又黄又硬又湿又刺激视频免费_久久久精品人妻久久影视_99国产精品欲a_国产成人啪精品视频免费网站_JAPANESE国产在线观看 | 夜鲁夜鲁很鲁在线视频视频_深夜福利免费看_天天骑天天干_亚洲精品无码一区二区四区_天天爽夜夜爽成人爽_欧美视频色_996热re视频精品视频这里_天天摸夜夜添夜夜无码 | 免费看片子_99精品国产再热久久无毒不卡_xxxx日韩_亚洲不卡一区二区三区四区_欧美bwbwbwbwbw_性妲己一级淫片免费放_国产精品毛片av999999_在线观看免费人成视频色 | 在线综合色_不付费看污软件片_日韩国产成人无码AV毛片_国产xxxxx视频_国产无吗一区二区三区在线欢_亚洲国产欧美中文手机在线_日本乳首の奶水在线观看视频_最近中文字幕mv免费视频 | 亚洲蜜芽在线精品一区_国产日韩欧美一区二区_狠狠躁夜夜躁av蜜臀少妇_黄色一级片免费在线观看_亚洲精品在线观看视频_亚洲毛片在线视频_国产精品久人妻精品老妇_日本在线视频免费 | 亚洲视频久久_成年人a视频_91天堂_4438╳全国最大色倩网址_www.亚洲成人_youjizz日韩_色婷婷91_久久婷婷五月综合色丁香 | 日韩免费成人在线_国产成人无码一二三区视频_妖精视频www网站入口_永久免费看毛片_91精品视频免费看_一区二区三区香蕉视频_一本大道东京热无码_国产99久久亚洲综合精品西瓜tv | 人人人爽人人爽人人AV_欧美大黑BBBBBBBBB_亚洲国产成人久久一区www妖精_男人添女人下部高潮视频_99久久久久久中文字幕一区_国产精品毛片a∨一区二区三区_久久国产激情_亚洲最色网 | 欧美高清69_国产成人在线一区_久久久91麻豆精品国产一区_御姐av在线_色欲狠狠躁天天躁无码中文字幕_天堂久久一区二区_蝌蚪91在线_狠狠爱综合 国内精品伊人久久久久AV影院_国产欧美洲中文字幕_国产天天骚_黄色大全免费观看_av免费人人干_无码一区自拍偷拍第二页_天堂va蜜桃_成人午夜黄色 | 一级毛片一级毛片一级毛片aa一_国av在线_日韩美女乱淫作爱欣赏_日本a∨视频_久久久久久久久91_久久众筹精品私拍模特_97久久精品_午夜1234 | 精品久久久久久中文字幕无码软件_上海富婆按摩高潮不断_AV天堂久久天堂AV_成年人免费观看视频网站_日韩新片在线观看_欧美另类人妻制服丝袜_秋霞久久久_欧美性黑人极品hd | 国产成人亚洲综合_在线观看免费不卡avav_国产精品揄拍一区二区久久_97无码人妻福利免费公开在线视频_chinesepronhdvideos国产91_青青草国产成人a∨_91久久国产视频_欧美成人福利 | 青青青国产依人在线_亚洲国产无色码在线播放_男女好痛好深好爽视频_亚洲欧美一区在线观看_天天爽天天狠久久久综合麻豆_日韩人妻无码喷潮中出_亚洲大香线伊人婷婷五月_天天夜天天操 | 福利社午夜影院_婷婷色怡春院_精品国产肉丝袜久久_好紧好滑好湿好爽免费视频_久日av_9的国产精选久久_japan凌虐bdsm日本_超碰97人人做人人爱少妇 | 少妇高清一区二区免费看_精品久久久久久久久久久久久久久久久久_国产真实迷奷系列_99国产精品99久久久久久粉嫩_国产高潮流白浆免费视频_欧美黑人添添高潮a片www_国产精品视品_久久免费看少妇高潮a片特黄 | 91精品国产高清一区二区性色_99热国产在线_国产伦理久久久久久妇女_99热新网址_久久国产精品亚洲人一区二区三区_欧美老人巨大xxxx做受视频_人妻AⅤ无码专区_干干日日 | 国产真实乱子伦视频播放_国产日韩大片_一级高清免费毛片_亚洲kkkk4444在线播放_最近中文国语字幕在线播放视频_久久在线精品视频_国产精品久久久久久久久免费桃花_永久免费AV无码网站BT | 麻豆国产精品色欲av亚洲三区_午夜少妇在线观看视频_欧美亚洲第一页_久久小草_国产高清视频色欲_亚洲av无码成h人动漫无遮挡不卡_在线亚洲一区二区_美女被强遭的免费网站视频 | 亚洲m码欧洲s码sss222_午夜伦4480yy私人影院免费_成人一区二区在线观看_国内精品免费一区二区三区_久草91视频_91视频导航_蜜臀av免费_玖玖国产 | 精品国产99久久久久久_偷窥目拍性综合图区_亚洲黄色小说网_国产一区成人在线_久久午夜无码免费_偷偷草网站_久久在线视频免费观看_国产精品乱战久久久 | 国内精品久久久久国产盗摄_国产免费一区二区在线a片视频_国产一区二区美女_无码精品人妻免费_午夜精品_91av久久_羞羞视频网站免费_精品在线免费看 | JAPANESEHD熟女熟妇伦_国产精品5c5c5c_国产6区_国产精品人妻一码二码_极品少妇被猛的白浆直喷白浆_91麻豆精品国产自产在线观看一区_在线国产福利_妺妺窝人体色777777 | 国产初高中生视频在线观看_GOGO少妇无码肉肉视频_奇米777四色成人影视_日本黄色五级片_色婷婷成人做爰视频免费_谍战剧惊弦免费观看_在线观看xxxx7777视频_免费a网 | 国产成人精品亚洲精品_2017最新高清无码网站_欧美成人黄色_一区二区视频免费_性大片爱赏网免费观看_欧美性受xxxx黑人xxxy爽_精品久久久噜噜噜久久_7777久久香蕉成人影院 | 手机毛片网_一级毛片大全免费播放_精国品产一区二区三区有限公司_在线观看黄动漫_日本三级视频网站_羞羞答答av_奇米影视777me_欧美日韩在线观看免费 | 最新国产一区_精品91久久久久_国模吧久久_色婷婷在线精品国自产拍_日韩在线高清_一级黄色片aaa_日本理论中文字幕_亚洲无码一区二区三区 | 国产成人亚洲精品另类动态图_欧美一乱一性一交一视频_100日本xxxxxxxxx15_日本老妇人乱xxy_日韩欧美综合在线视频_日韩专区一区_4455四色永久在线_久久艹色 | 国产乱理伦片a级在线观看_日本私人网站在线观看_小明成人永久免费视频在线观看_女教师巨大乳孔中文字幕_高潮喷水抽搐无码免费_久热导航_伊人亚洲精品_国产主播一区二区三区在线观看 |