亚洲韩日午夜视频,欧美日韩在线精品一区二区三区,韩国超清无码一区二区三区,亚洲国产成人影院播放,久草新在线,在线看片AV色

您好,歡迎來到思海網(wǎng)絡(luò),我們將竭誠為您提供優(yōu)質(zhì)的服務(wù)! 誠征網(wǎng)絡(luò)推廣 | 網(wǎng)站備案 | 幫助中心 | 軟件下載 | 購買流程 | 付款方式 | 聯(lián)系我們 [ 會員登錄/注冊 ]
促銷推廣
客服中心
業(yè)務(wù)咨詢
有事點(diǎn)擊這里…  531199185
有事點(diǎn)擊這里…  61352289
點(diǎn)擊這里給我發(fā)消息  81721488
有事點(diǎn)擊這里…  376585780
有事點(diǎn)擊這里…  872642803
有事點(diǎn)擊這里…  459248018
有事點(diǎn)擊這里…  61352288
有事點(diǎn)擊這里…  380791050
技術(shù)支持
有事點(diǎn)擊這里…  714236853
有事點(diǎn)擊這里…  719304487
有事點(diǎn)擊這里…  1208894568
有事點(diǎn)擊這里…  61352289
在線客服
有事點(diǎn)擊這里…  531199185
有事點(diǎn)擊這里…  61352288
有事點(diǎn)擊這里…  983054746
有事點(diǎn)擊這里…  893984210
當(dāng)前位置:首頁 >> 技術(shù)文章 >> 文章瀏覽
技術(shù)文章

如何配置一個(gè)安全穩(wěn)定的SQL SERVER的數(shù)據(jù)庫

添加時(shí)間:2014-10-27 21:26:31  添加: 思海網(wǎng)絡(luò) 
一、首先你要確認(rèn)你的鑒別模式:WIN NT鑒別模式呢還是混合模式,其中混合模式包括WIN NT鑒別模式和SQL SERVER 鑒別模式實(shí)施鑒別模式的步驟1、核實(shí)采用了可信連接2、設(shè)置鑒別模式3、關(guān)閉和重啟MSSQLServer服務(wù)程序4、創(chuàng)建WIN NT分組和用戶5、授權(quán)WIN NT分組和用戶可存取SQL Server6、為用非可信任連接的用戶創(chuàng)建SQL Server登錄帳號

二、為用戶和角色分配登錄帳號三、給角色分配登錄權(quán)四、為用戶和角色分配許可權(quán)限

  在改進(jìn)SQL Server 7.0系列所實(shí)現(xiàn)的安全機(jī)制的過程中,Microsoft建立了一種既靈活又強(qiáng)大的安全管理機(jī)制,它能夠?qū)τ脩粼L問SQL Server服務(wù)器系統(tǒng)和數(shù)據(jù)庫的安全進(jìn)行全面地管理。按照本文介紹的步驟,你可以為SQL Server 7.0(或2000)構(gòu)造出一個(gè)靈活的、可管理的安全策略,而且它的安全性經(jīng)得起考驗(yàn)。 

一、驗(yàn)證方法選擇   本文對驗(yàn)證(authentication)和授權(quán)(authorization)這兩個(gè)概念作不同的解釋。驗(yàn)證是指檢驗(yàn)用戶的身份標(biāo)識;授權(quán)是指允許用戶做些什么。在本文的討論中,驗(yàn)證過程在用戶登錄SQL Server的時(shí)候出現(xiàn),授權(quán)過程在用戶試圖訪問數(shù)據(jù)或執(zhí)行命令的時(shí)候出現(xiàn)。   構(gòu)造安全策略的第一個(gè)步驟是確定SQL Server用哪種方式驗(yàn)證用戶。SQL Server的驗(yàn)證是把一組帳戶、密碼與Master數(shù)據(jù)庫Sysxlogins表中的一個(gè)清單進(jìn)行匹配。Windows NT/2000的驗(yàn)證是請求域控制器檢查用戶身份的合法性。一般地,如果服務(wù)器可以訪問域控制器,我們應(yīng)該使用Windows NT/2000驗(yàn)證。域控制器可以是Win2K服務(wù)器,也可以是NT服務(wù)器。無論在哪種情況下,SQL Server都接收到一個(gè)訪問標(biāo)記(Access Token)。訪問標(biāo)記是在驗(yàn)證過程中構(gòu)造出來的一個(gè)特殊列表,其中包含了用戶的SID(安全標(biāo)識號)以及一系列用戶所在組的SID。正如本文后面所介紹的,SQL Server以這些SID為基礎(chǔ)授予訪問權(quán)限。注意,操作系統(tǒng)如何構(gòu)造訪問標(biāo)記并不重要,SQL Server只使用訪問標(biāo)記中的SID。也就是說,不論你使用SQL Server 2000、SQL Server 7.0、Win2K還是NT進(jìn)行驗(yàn)證都無關(guān)緊要,結(jié)果都一樣。   如果使用SQL Server驗(yàn)證的登錄,它最大的好處是很容易通過Enterprise Manager實(shí)現(xiàn),最大的缺點(diǎn)在于SQL Server驗(yàn)證的登錄只對特定的服務(wù)器有效,也就是說,在一個(gè)多服務(wù)器的環(huán)境中管理比較困難。使用SQL Server進(jìn)行驗(yàn)證的第二個(gè)重要的缺點(diǎn)是,對于每一個(gè)數(shù)據(jù)庫,我們必須分別地為它管理權(quán)限。如果某個(gè)用戶對兩個(gè)數(shù)據(jù)庫有相同的權(quán)限要求,我們必須手工設(shè)置兩個(gè)數(shù)據(jù)庫的權(quán)限,或者編寫腳本設(shè)置權(quán)限。如果用戶數(shù)量較少,比如25個(gè)以下,而且這些用戶的權(quán)限變化不是很頻繁,SQL Server驗(yàn)證的登錄或許適用。但是,在幾乎所有的其他情況下(有一些例外情況,例如直接管理安全問題的應(yīng)用),這種登錄方式的管理負(fù)擔(dān)將超過它的優(yōu)點(diǎn)。 

二、Web環(huán)境中的驗(yàn)證   即使最好的安全策略也常常在一種情形前屈服,這種情形就是在Web應(yīng)用中使用SQL Server的數(shù)據(jù)。在這種情形下,進(jìn)行驗(yàn)證的典型方法是把一組SQL Server登錄名稱和密碼嵌入到Web服務(wù)器上運(yùn)行的程序,比如ASP頁面或者CGI腳本;然后,由Web服務(wù)器負(fù)責(zé)驗(yàn)證用戶,應(yīng)用程序則使用它自己的登錄帳戶(或者是系統(tǒng)管理員sa帳戶,或者為了方便起見,使用Sysadmin服務(wù)器角色中的登錄帳戶)為用戶訪問數(shù)據(jù)。   這種安排有幾個(gè)缺點(diǎn),其中最重要的包括:它不具備對用戶在服務(wù)器上的活動進(jìn)行審核的能力,完全依賴于Web應(yīng)用程序?qū)崿F(xiàn)用戶驗(yàn)證,當(dāng)SQL Server需要限定用戶權(quán)限時(shí)不同的用戶之間不易區(qū)別。如果你使用的是IIS 5.0或者IIS 4.0,你可以用四種方法驗(yàn)證用戶。第一種方法是為每一個(gè)網(wǎng)站和每一個(gè)虛擬目錄創(chuàng)建一個(gè)匿名用戶的NT帳戶。此后,所有應(yīng)用程序登錄SQL Server時(shí)都使用該安全環(huán)境。我們可以通過授予NT匿名帳戶合適的權(quán)限,改進(jìn)審核和驗(yàn)證功能。   第二種方法是讓所有網(wǎng)站使用Basic驗(yàn)證。此時(shí),只有當(dāng)用戶在對話框中輸入了合法的帳戶和密碼,IIS才會允許他們訪問頁面。IIS依靠一個(gè)NT安全數(shù)據(jù)庫實(shí)現(xiàn)登錄身份驗(yàn)證,NT安全數(shù)據(jù)庫既可以在本地服務(wù)器上,也可以在域控制器上。當(dāng)用戶運(yùn)行一個(gè)訪問SQL Server數(shù)據(jù)庫的程序或者腳本時(shí),IIS把用戶為了瀏覽頁面而提供的身份信息發(fā)送給服務(wù)器。如果你使用這種方法,應(yīng)該記住:在通常情況下,瀏覽器與服務(wù)器之間的密碼傳送一般是不加密的,對于那些使用Basic驗(yàn)證而安全又很重要的網(wǎng)站,你必須實(shí)現(xiàn)SSL(Secure Sockets Layer,安全套接字層)。   在客戶端只使用IE 5.0、IE 4.0、IE 3.0瀏覽器的情況下,你可以使用第三種驗(yàn)證方法。你可以在Web網(wǎng)站上和虛擬目錄上都啟用NT驗(yàn)證。IE會把用戶登錄計(jì)算機(jī)的身份信息發(fā)送給IIS,當(dāng)該用戶試圖登錄SQL Server時(shí)IIS就使用這些登錄信息。使用這種簡化的方法時(shí),我們可以在一個(gè)遠(yuǎn)程網(wǎng)站的域上對用戶身份進(jìn)行驗(yàn)證(該遠(yuǎn)程網(wǎng)站登錄到一個(gè)與運(yùn)行著Web服務(wù)器的域有著信任關(guān)系的域)。   最后,如果用戶都有個(gè)人數(shù)字證書,你可以把那些證書映射到本地域的NT帳戶上。個(gè)人數(shù)字證書與服務(wù)器數(shù)字證書以同樣的技術(shù)為基礎(chǔ),它證明用戶身份標(biāo)識的合法性,所以可以取代NT的Challenge/Response(質(zhì)詢/回應(yīng))驗(yàn)證算法。Netscape和IE都自動在每一個(gè)頁面請求中把證書信息發(fā)送給IIS。IIS提供了一個(gè)讓管理員把證書映射到NT帳戶的工具。因此,我們可以用數(shù)字證書取代通常的提供帳戶名字和密碼的登錄過程。   由此可見,通過NT帳戶驗(yàn)證用戶時(shí)我們可以使用多種實(shí)現(xiàn)方法。即使當(dāng)用戶通過IIS跨越Internet連接SQL Server時(shí),選擇仍舊存在。因此,你應(yīng)該把NT驗(yàn)證作為首選的用戶身份驗(yàn)證辦法。

三、設(shè)置全局組   構(gòu)造安全策略的下一個(gè)步驟是確定用戶應(yīng)該屬于什么組。通常,每一個(gè)組織或應(yīng)用程序的用戶都可以按照他們對數(shù)據(jù)的特定訪問要求分成許多類別。例如,會計(jì)應(yīng)用軟件的用戶一般包括:數(shù)據(jù)輸入操作員,數(shù)據(jù)輸入管理員,報(bào)表編寫員,會計(jì)師,審計(jì)員,財(cái)務(wù)經(jīng)理等。每一組用戶都有不同的數(shù)據(jù)庫訪問要求。   控制數(shù)據(jù)訪問權(quán)限最簡單的方法是,對于每一組用戶,分別地為它創(chuàng)建一個(gè)滿足該組用戶權(quán)限要求的、域內(nèi)全局有效的組。我們既可以為每一個(gè)應(yīng)用分別創(chuàng)建組,也可以創(chuàng)建適用于整個(gè)企業(yè)的、涵蓋廣泛用戶類別的組。然而,如果你想要能夠精確地了解組成員可以做些什么,為每一個(gè)應(yīng)用程序分別創(chuàng)建組是一種較好的選擇。例如,在前面的會計(jì)系統(tǒng)中,我們應(yīng)該創(chuàng)建Data Entry Operators、Accounting Data Entry Managers等組。請記住,為了簡化管理,最好為組取一個(gè)能夠明確表示出作用的名字。   除了面向特定應(yīng)用程序的組之外,我們還需要幾個(gè)基本組。基本組的成員負(fù)責(zé)管理服務(wù)器。按照習(xí)慣,我們可以創(chuàng)建下面這些基本組: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是服務(wù)器上一個(gè)數(shù)據(jù)庫的名字)。當(dāng)然,如果必要的話,你還可以創(chuàng)建其他組。   創(chuàng)建了全局組之后,接下來我們可以授予它們訪問SQL Server的權(quán)限。首先為SQL Server Users創(chuàng)建一個(gè)NT驗(yàn)證的登錄并授予它登錄權(quán)限,把Master數(shù)據(jù)庫設(shè)置為它的默認(rèn)數(shù)據(jù)庫,但不要授予它訪問任何其他數(shù)據(jù)庫的權(quán)限,也不要把這個(gè)登錄帳戶設(shè)置為任何服務(wù)器角色的成員。接著再為SQL Server Denied Users重復(fù)這個(gè)過程,但這次要拒絕登錄訪問。在SQL Server中,拒絕權(quán)限始終優(yōu)先。創(chuàng)建了這兩個(gè)組之后,我們就有了一種允許或拒絕用戶訪問服務(wù)器的便捷方法。為那些沒有直接在Sysxlogins系統(tǒng)表里面登記的組授權(quán)時(shí),我們不能使用Enterpris Managr,因?yàn)镋nter-prise Manager只允許我們從現(xiàn)有登錄名字的列表選擇,而不是域內(nèi)所有組的列表。要訪問所有的組,請打開Query Analyzer,然后用系統(tǒng)存儲過程sp_addsrvrolemember以及sp_addrolemember進(jìn)行授權(quán)。   對于操作服務(wù)器的各個(gè)組,我們可以用sp_addsrvrolemember存儲過程把各個(gè)登錄加入到合適的服務(wù)器角色:SQL Server Administrators成為Sysadmins角色的成員,SQL Server DB Creators成為Dbcreator角色的成員,SQL Server Security Operators成為Securityadmin角色的成員。注意sp_addsrvrolemember存儲過程的第一個(gè)參數(shù)要求是帳戶的完整路徑。例如,BigCo域的JoeS應(yīng)該是bigco\joes(如果你想用本地帳戶,則路徑應(yīng)該是server_name\joes)。   要創(chuàng)建在所有新數(shù)據(jù)庫中都存在的用戶,你可以修改Model數(shù)據(jù)庫。為了簡化工作,SQL Server自動把所有對Model數(shù)據(jù)庫的改動復(fù)制到新的數(shù)據(jù)庫。只要正確運(yùn)用Model數(shù)據(jù)庫,我們無需定制每一個(gè)新創(chuàng)建的數(shù)據(jù)庫。另外,我們可以用sp_addrolemember存儲過程把SQL Server Security Operators加入到db_security-admin,把SQL Server Developers加入到db_owner角色。   注意我們?nèi)匀粵]有授權(quán)任何組或帳戶訪問數(shù)據(jù)庫。事實(shí)上,我們不能通過Enterprise Manager授權(quán)數(shù)據(jù)庫訪問,因?yàn)镋nterprise Manager的用戶界面只允許我們把數(shù)據(jù)庫訪問權(quán)限授予合法的登錄帳戶。SQL Server不要求NT帳戶在我們把它設(shè)置為數(shù)據(jù)庫角色的成員或分配對象權(quán)限之前能夠訪問數(shù)據(jù)庫,但Enter-prise Manager有這種限制。盡管如此,只要我們使用的是sp_addrolemember存儲過程而不是Enterprise Manager,就可以在不授予域內(nèi)NT帳戶數(shù)據(jù)庫訪問權(quán)限的情況下為任意NT帳戶分配權(quán)限。   到這里為止,對Model數(shù)據(jù)庫的設(shè)置已經(jīng)完成。但是,如果你的用戶群體對企業(yè)范圍內(nèi)各個(gè)應(yīng)用數(shù)據(jù)庫有著類似的訪問要求,你可以把下面這些操作移到Model數(shù)據(jù)庫上進(jìn)行,而不是在面向特定應(yīng)用的數(shù)據(jù)庫上進(jìn)行。 

四、允許數(shù)據(jù)庫訪問   在數(shù)據(jù)庫內(nèi)部,與迄今為止我們對登錄驗(yàn)證的處理方式不同,我們可以把權(quán)限分配給角色而不是直接把它們分配給全局組。這種能力使得我們能夠輕松地在安全策略中使用SQL Server驗(yàn)證的登錄。即使你從來沒有想要使用SQL Server登錄帳戶,本文仍舊建議分配權(quán)限給角色,因?yàn)檫@樣你能夠?yàn)槲磥砜赡艹霈F(xiàn)的變化做好準(zhǔn)備。   創(chuàng)建了數(shù)據(jù)庫之后,我們可以用sp_grantdbaccess存儲過程授權(quán)DB_Name Users組訪問它。但應(yīng)該注意的是,與sp_grantdbaccess對應(yīng)的sp_denydbaccess存儲過程并不存在,也就是說,你不能按照拒絕對服務(wù)器訪問的方法拒絕對數(shù)據(jù)庫的訪問。如果要拒絕數(shù)據(jù)庫訪問,我們可以創(chuàng)建另外一個(gè)名為DB_Name Denied Users的全局組,授權(quán)它訪問數(shù)據(jù)庫,然后把它設(shè)置為db_denydatareader以及db_denydatawriter角色的成員。注意SQL語句權(quán)限的分配,這里的角色只限制對對象的訪問,但不限制對DDL(Data Definition Language,數(shù)據(jù)定義語言)命令的訪問。   正如對登錄過程的處理,如果訪問標(biāo)記中的任意SID已經(jīng)在Sysusers系統(tǒng)表登記,SQL將允許用戶訪問數(shù)據(jù)庫。因此,我們既可以通過用戶的個(gè)人NT帳戶SID授權(quán)用戶訪問數(shù)據(jù)庫,也可以通過用戶所在的一個(gè)(或者多個(gè))組的SID授權(quán)。為了簡化管理,我們可以創(chuàng)建一個(gè)名為DB_Name Users的擁有數(shù)據(jù)庫訪問權(quán)限的全局組,同時(shí)不把訪問權(quán)授予所有其他的組。這樣,我們只需簡單地在一個(gè)全局組中添加或者刪除成員就可以增加或者減少數(shù)據(jù)庫用戶。 

五、分配權(quán)限   實(shí)施安全策略的最后一個(gè)步驟是創(chuàng)建用戶定義的數(shù)據(jù)庫角色,然后分配權(quán)限。完成這個(gè)步驟最簡單的方法是創(chuàng)建一些名字與全局組名字配套的角色。例如對于前面例子中的會計(jì)系統(tǒng),我們可以創(chuàng)建Accounting Data Entry Operators、Accounting Data Entry Managers之類的角色。由于會計(jì)數(shù)據(jù)庫中的角色與帳務(wù)處理任務(wù)有關(guān),你可能想要縮短這些角色的名字。然而,如果角色名字與全局組的名字配套,你可以減少混亂,能夠更方便地判斷出哪些組屬于特定的角色。   創(chuàng)建好角色之后就可以分配權(quán)限。在這個(gè)過程中,我們只需用到標(biāo)準(zhǔn)的GRANT、REVOKE和DENY命令。但應(yīng)該注意DENY權(quán)限,這個(gè)權(quán)限優(yōu)先于所有其他權(quán)限。如果用戶是任意具有DENY權(quán)限的角色或者組的成員,SQL Server將拒絕用戶訪問對象。   接下來我們就可以加入所有SQL Server驗(yàn)證的登錄。用戶定義的數(shù)據(jù)庫角色可以包含SQL Server登錄以及NT全局組、本地組、個(gè)人帳戶,這是它最寶貴的特點(diǎn)之一。用戶定義的數(shù)據(jù)庫角色可以作為各種登錄的通用容器,我們使用用戶定義角色而不是直接把權(quán)限分配給全局組的主要原因就在于此。   由于內(nèi)建的角色一般適用于整個(gè)數(shù)據(jù)庫而不是單獨(dú)的對象,因此這里建議你只使用兩個(gè)內(nèi)建的數(shù)據(jù)庫角色,即db_securityadmin和db_owner。其他內(nèi)建數(shù)據(jù)庫角色,例如db_datareader,它授予對數(shù)據(jù)庫里面所有對象的SELECT權(quán)限。雖然你可以用db_datareader角色授予SELECT權(quán)限,然后有選擇地對個(gè)別用戶或組拒絕SELECT權(quán)限,但使用這種方法時(shí),你可能忘記為某些用戶或者對象設(shè)置權(quán)限。一種更簡單、更直接而且不容易出現(xiàn)錯(cuò)誤的方法是為這些特殊的用戶創(chuàng)建一個(gè)用戶定義的角色,然后只把那些用戶訪問對象所需要的權(quán)限授予這個(gè)用戶定義的角色。 

六、簡化安全管理     SQL Server驗(yàn)證的登錄不僅能夠方便地實(shí)現(xiàn),而且與NT驗(yàn)證的登錄相比,它更容易編寫到應(yīng)用程序里。但是,如果用戶的數(shù)量超過25,或者服務(wù)器數(shù)量在一個(gè)以上,或者每個(gè)用戶都可以訪問一個(gè)以上的數(shù)據(jù)庫,或者數(shù)據(jù)庫有多個(gè)管理員,SQL Server驗(yàn)證的登錄不容易管理。由于SQL Server沒有顯示用戶有效權(quán)限的工具,要記憶每個(gè)用戶具有哪些權(quán)限以及他們?yōu)楹我玫竭@些權(quán)限就更加困難。即使對于一個(gè)數(shù)據(jù)庫管理員還要擔(dān)負(fù)其他責(zé)任的小型系統(tǒng),簡化安全策略也有助于減輕問題的復(fù)雜程度。因此,首選的方法應(yīng)該是使用NT驗(yàn)證的登錄,然后通過一些精心選擇的全局組和數(shù)據(jù)庫角色管理數(shù)據(jù)庫訪問。 

  下面是一些簡化安全策略的經(jīng)驗(yàn)規(guī)則:   用戶通過SQL Server Users組獲得服務(wù)器訪問,通過DB_Name Users組獲得數(shù)據(jù)庫訪問。   用戶通過加入全局組獲得權(quán)限,而全局組通過加入角色獲得權(quán)限,角色直接擁有數(shù)據(jù)庫里的權(quán)限。   需要多種權(quán)限的用戶通過加入多個(gè)全局組的方式獲得權(quán)限。   只要規(guī)劃得恰當(dāng),你能夠在域控制器上完成所有的訪問和權(quán)限維護(hù)工作,使得服務(wù)器反映出你在域控制器上進(jìn)行的各種設(shè)置調(diào)整。雖然實(shí)際應(yīng)用中情況可能有所變化,但本文介紹的基本措施仍舊適用,它們能夠幫助你構(gòu)造出很容易管理的安全策略。

關(guān)鍵字:SQL SERVER、數(shù)據(jù)庫、服務(wù)器

分享到:

頂部 】 【 關(guān)閉
版權(quán)所有:佛山思海電腦網(wǎng)絡(luò)有限公司 ©1998-2024 All Rights Reserved.
聯(lián)系電話:(0757)22630313、22633833
中華人民共和國增值電信業(yè)務(wù)經(jīng)營許可證: 粵B1.B2-20030321 備案號:粵B2-20030321-1
網(wǎng)站公安備案編號:44060602000007 交互式欄目專項(xiàng)備案編號:200303DD003  
察察 工商 網(wǎng)安 舉報(bào)有獎  警警  手機(jī)打開網(wǎng)站