SQL-Server數(shù)據(jù)庫安全管理文章分類:數(shù)據(jù)庫轉(zhuǎn)自:http://blog./u3/112561/showart_2218234.html 以SQL-Server2005為例來說一下關(guān)于數(shù)據(jù)庫安全管理方面的知識(因為我學(xué)的就是SQL-Server2005)。SQL Server 2005主要從以下幾個方面來保證數(shù)據(jù)庫安全管理的: 3.服務(wù)器角色的概念:
服務(wù)器角色(也稱做固定服務(wù)器角色)是執(zhí)行服務(wù)器級管理操作的權(quán)限的集合。我們可以簡單的把它理解成“Windows系統(tǒng)中的組”。它跟“Windows系統(tǒng)中的組”是一樣的作用。只不過稱呼不同罷了!-_-!固定服務(wù)器角色及其描述如下表:(或者你可以到“安全性”下的“服務(wù)器角色”選項中查看)。
注意:鏈接服務(wù)器可以使SQL Server對遠(yuǎn)程服務(wù)器上的數(shù)據(jù)源執(zhí)行命令。Bulk Insert語句主要是用來實現(xiàn)SQL Server的大數(shù)據(jù)量文本文件的批量導(dǎo)入。
我們在實際生活中,可以根據(jù)自己工作的實際情況來運(yùn)用這些個角色來為用戶分配數(shù)據(jù)庫服務(wù)器權(quán)限。打開服務(wù)器角色配置頁的方法是:默認(rèn)數(shù)據(jù)庫下的“安全性”選項中的“登錄名”。然后選擇你要為哪個用戶配置服務(wù)器角色,然后選擇用戶右擊“屬性”來打開。打開后選擇第二項“服務(wù)器角色”來為用戶配置服務(wù)器角色權(quán)限。 二、新建數(shù)據(jù)庫用戶:
在建立了SQL Server登錄賬戶以后,需要授予用戶或組許可,使他們能夠在數(shù)據(jù)庫中執(zhí)行任務(wù)。登錄賬戶用于訪問SQL Server實例,數(shù)據(jù)庫用戶則用于訪問數(shù)據(jù)庫。要想訪問某個數(shù)據(jù)庫,就必須在這個數(shù)據(jù)庫上建立相對應(yīng)的數(shù)據(jù)庫用戶。 實際上數(shù)據(jù)庫用戶是映射到登錄賬戶上的。也就是當(dāng)我們新建一個登錄名時,就可以把它映射到一個數(shù)據(jù)庫里,成為這個數(shù)據(jù)庫的數(shù)據(jù)庫用戶。建立一個數(shù)據(jù)庫用戶的具體步驟如下: 首先建立一個登錄名——然后把這個登錄名映射到你想要建立數(shù)據(jù)庫用戶的數(shù)據(jù)庫中(當(dāng)然你首先得有你自己的數(shù)據(jù)庫)。下面是建立一個數(shù)據(jù)庫DB上的一個數(shù)據(jù)庫用戶的步驟: 1.首先建立自己的數(shù)據(jù)庫: ![]() 2.然后新建登錄名(我這里是使用的Windows用戶,直接搜索找到用戶就OK了):
![]() ![]() 3.把登錄賬戶映射到數(shù)據(jù)庫DB讓其成為數(shù)據(jù)庫DB的數(shù)據(jù)庫用戶: ![]() 4.然后就可以到DB數(shù)據(jù)庫下面的“安全性”——“用戶”里面就可以找到你映射的數(shù)據(jù)庫用戶了! 如果有多個人對某個數(shù)據(jù)庫具有相同的權(quán)限的時候,我們可以直接在AD中新建一個組,然后把這些個用戶加入到組里,最后到SQL Server服務(wù)器上新建一個登錄名,新建時候輸入“域名中"."前面的部分\組名”(例如:域名是abc.com的話,那么輸入時候就輸入“abc\組名”)。新建好后,這個組中的用戶就都可以登錄SQL Server數(shù)據(jù)庫了。 三、數(shù)據(jù)庫角色: 數(shù)據(jù)庫角色的作用是為數(shù)據(jù)庫用戶設(shè)置對某個數(shù)據(jù)庫的權(quán)限,而數(shù)據(jù)庫角色又分為固定數(shù)據(jù)庫角色和用戶定義數(shù)據(jù)庫角色。固定數(shù)據(jù)庫是一組SQL Server 預(yù)定義的數(shù)據(jù)庫角色,具有數(shù)據(jù)庫級別的管理權(quán)力,用來完成常用的數(shù)據(jù)庫任務(wù)。 1.固定數(shù)據(jù)庫角色有以下幾種:
注意:PUBLIC角色是特殊的固定數(shù)據(jù)庫角色,特點是:捕獲數(shù)據(jù)庫中用戶的所有默認(rèn)權(quán)限、所有用戶和角色或組默認(rèn)屬于public角色、無法將用戶和組或角色指派給它,因為默認(rèn)情況下它們即屬于該角色、不能被刪除。為public角色授予權(quán)限時必須非常小心,因為一個小小的錯誤可能導(dǎo)致用戶非法訪問數(shù)據(jù)庫。 2.用戶自定義數(shù)據(jù)庫角色: 當(dāng)固定服務(wù)器角色不能滿足要求時,就可以自己創(chuàng)建數(shù)據(jù)庫角色,定義一組用戶具有相同的權(quán)限??梢允褂肧QL Server Management Studio的對象資源管理器創(chuàng)建用戶定義數(shù)據(jù)庫角色。為數(shù)據(jù)庫設(shè)置權(quán)限的步驟如下: (1).打開你新建的數(shù)據(jù)庫下面的“安全性”選項下的“角色”里的“數(shù)據(jù)庫角色”來設(shè)置數(shù)據(jù)庫權(quán)限。 然后你想讓你的用戶擁有什么權(quán)限就把他加入到哪個數(shù)據(jù)庫角色中。然后這個用戶就擁有了相應(yīng)的權(quán)限。比如把個用戶加入到db_owner角色中。
四、數(shù)據(jù)庫訪問審核:
審核可以幫助跟蹤并阻止系統(tǒng)中未經(jīng)授權(quán)的用戶行為。對那些具有高特權(quán)但卻干壞事的管理員或者用戶進(jìn)行審核,對保護(hù)系統(tǒng)十分有用。一個好的審核系統(tǒng)允許只對那些重要的事件進(jìn)行過濾,因此用戶不會淹沒在海量的信息中。所有數(shù)據(jù)平臺均在不同程度上提供審查功能。 下面來說一下SQL Server安全審核的設(shè)置: 首先打開數(shù)據(jù)庫服務(wù)器的“屬性”——“安全性”里的“登錄審核”選項來設(shè)置數(shù)據(jù)庫訪問審核。根據(jù)自己的實際情況來設(shè)置那些選項。比如你是要審核“登錄失敗”的還是“登錄成功”的或者是“登錄失敗和成功”都進(jìn)行審核的。當(dāng)這些設(shè)置好后,你就可以用一個錯誤的登錄名或正確的登錄名來登錄一下試試審核啟動沒有。你可以在Windows系統(tǒng)中的“事件查看器”里面找到審核的內(nèi)容。 五、屏蔽SQL Server常見漏洞: 1.修改SA密碼。 因為SA是SQL Server默認(rèn)的超級管理員,所以一定要確保SA密碼的安全性。最好是把SA密碼設(shè)的復(fù)雜點,如果有必要可以把SA的用戶名也修改了。 2.刪除或禁用不必要的用戶: 系統(tǒng)中包含的默認(rèn)用戶,往往因為用戶名的公開,成為黑客攻擊的目標(biāo)。所以安全的做法是應(yīng)該將這些公開的用戶刪除或禁用后重建。比如說:默認(rèn)的Administrators組就可以直接刪了或禁用。 3.刪除危險的存儲過程: 為什么要刪除不必要的存儲過程呢?因為有些存儲過程很容易被人利用,用來提升權(quán)限或進(jìn)行破壞。主要有以下幾種存儲過程: (1).執(zhí)行操作系統(tǒng)命令的存儲過程xp_cmdshell。 (2).操縱OLE自動化對象的存儲過程。 (3).注冊表訪問的存儲過程。 (4).文件操作類存儲過程。 (5).進(jìn)程管理類存儲過程。 (6).任務(wù)管理類存儲過程。 上面這幾種存儲過程因為我也不怎么懂所以在這里不詳細(xì)介紹了,你們可以看我另一篇文章“SQL高級注入使用之存儲過程”(http://blog./u3/112561/showart_2223533.html)這是我從我們老師那里轉(zhuǎn)的^_^。有興趣的可以去看看。 4.關(guān)閉不必要的網(wǎng)絡(luò)連接功能。 SQL Server 提供外圍應(yīng)用配置器單一的界面,減少外圍應(yīng)用,停止或禁用不必要的服務(wù)或連接。外圍應(yīng)用的減少使得對系統(tǒng)的攻擊途徑減少,有助于提高安全性。使用“外圍應(yīng)用配置器”可以啟用、禁用、開始或停止SQL Server2005安裝的一些功能服務(wù)和遠(yuǎn)程連接。打開“外圍應(yīng)用配置器”的步驟是:“開始”——“程序”——“Microsoft SQL Server 2005”——“配置工具”——“SQL Server外圍應(yīng)用配置器”來打開“SQL Server外圍應(yīng)用配置器”。打開后自己就可以配置了。 5.配合防火墻過濾指定端口訪問: 默認(rèn)情況下,SQL Server2005會偵聽TCP1433端口,并將1433UDP端口用于客戶端與服務(wù)器間的協(xié)議。因此,也為攻擊者提供了大量入侵機(jī)會,所以應(yīng)該結(jié)合防火墻來限制對端口的訪問。使用SQL Server配置管理器可以通過更改默認(rèn)端口、配置命名實例來偵聽同一端口,也可以隱藏端口。 6.禁用不必要的協(xié)議。 7.加密數(shù)據(jù)(也就是通過證書等加密方法來加密數(shù)據(jù)來保證數(shù)據(jù)安全)。 8.定期安裝補(bǔ)丁。 好了,這一節(jié)就完了。。。真累-_-!。 |
|
|