日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

SQL-Server數據庫安全管理

 nbxming 2010-12-29

SQL-Server數據庫安全管理

文章分類:數據庫

轉自:http://blog./u3/112561/showart_2218234.html

以SQL-Server2005為例來說一下關于數據庫安全管理方面的知識(因為我學的就是SQL-Server2005)。SQL Server 2005主要從以下幾個方面來保證數據庫安全管理的:
1.SQL Server 2005的安全機制。
2.設置數據庫權限。
3.數據庫訪問審核。
4.屏蔽SQL Server常見的漏洞。下面我們了解一下以上各個方面的詳細信息:
一、SQL Server 2005 的安全機制:
    SQL Server 2550的安全機制主要包括以下五個方面:
1.客戶機的安全機制:
客戶機的安全機制是指:用戶必須能夠登錄到客戶機,然后才能使用SQL Server 2005應用系統(tǒng)或客戶機管理工具來訪問數據庫。對于使用Windows系統(tǒng)的客戶來說,它主要涉及的是操作系統(tǒng)的安全,主要是Windows賬號的安全(這個意思就是保證你的電腦系統(tǒng)的安全,也就保證了SQL Server 2005的第一道防線)。
2.網絡傳輸的安全機制:
網絡傳輸的安全一般采用數據的加密和解密技術來實現,但加密的SQL Server會使網絡速度變慢,所以對安全性要求不高的網絡一般都不采用加密技術。
3.服務器安全機制:
服務器安全機制是指:當用戶登錄服務器時,必須使用一個賬號(也稱為登錄賬號)和密碼,這個賬號和密碼是服務器上的賬號和密碼,服務器會按照不同的身份驗證方式來判斷這個賬號和密碼的正確性。
4.數據庫的安全機制:
任何能夠登錄到服務器的賬號和密碼都對應著一個默認的工作數據庫。SQL Server對數據庫級的權限管理采用的是“數據庫用戶”的概念。
5.數據庫對象的安全機制:
用戶通過前面四道防線后才能訪問數據庫中的數據對象,對數據對象能夠做什么樣的訪問稱為訪問權限。常見的訪問權限包括數據的查詢、更新、插入和刪除。
二、設置數據庫服務器的訪問權限
    SQL Server的安全性是建立在認證和訪問許可兩種安全機制上的。其中認證是指用來確定登錄SQL Server的用戶的登錄賬戶是否正確,以此來驗證其是否有連接SQL Server的權限。用戶登錄數據庫的合法身份有兩種:Windows的用戶或組、SQL Server登錄用戶。
1.SQL Server的驗證模式:
SQL server有兩種身份驗證模式:Windows身份驗證模式和混合驗證模式(就是WINDOWS和SQL SERVER驗證模式)。
(1).Windows身份驗證模式:
    Windows身份驗證模式是通過Windows用戶賬號直接連接SQL Server服務器,Windows用戶或組被映射到SQL Server的登錄用戶。在該模式下用戶只需要通過Windows身份驗證就可以直接連接到SQL Server服務器,而不用考慮SQL Server服務器本身。這種身份驗證模式適用于域環(huán)境下。
(2).SQL Server和Windows混合身份驗證模式:
   在這種混合模式下,既可以用Windows用戶賬號直接登錄SQL Server服務器,也可以使用SQL Server用戶賬號來登錄SQL Server服務器。當然使用SQL Server身份驗證模式時必須先創(chuàng)建SQL Server用戶。這種模式適用于工作組環(huán)境下。
注意:因為Windows98不支持Windows身份驗證,所以當SQL Server運行在Windows 98環(huán)境下時,就只能使用混合模式。還有就是當我們改變了SQL Server的驗證模式時,就必須重新啟動SQL Server服務。
     Windows身份驗證模式與SQL Server身份驗證模式相比有以下優(yōu)勢:
》用戶訪問SQL Server時速度更快,不用輸入用戶名和密碼。
》可以利用Windows賬戶策略來直接進行管理,在安全方面比SQL Server身份驗證模式更加安全。
》提供了更多的功能,比如:口令復雜度、口令最小長度、賬戶鎖定等。
    我們可以通過打開“SQL Server Management Studio”連入數據庫后選擇系統(tǒng)默認有的那個綜合選項右擊“屬性”——“安全性”選項中來設置SQL Server的身份驗證模式。當我們修改了身份驗證模式后一定要重啟服務(當然系統(tǒng)會也會提示你重新啟動服務)。選種默認數據庫右擊選擇“重新啟動”后,SQL Server的身份驗證模式就修改了!然后斷開連接重新連接時有兩個選項“Windows身份驗證模式”與“SQL Server身份驗證模式”。
2.設置登錄賬戶:
    可以通過“SQL Server Management Studio”來創(chuàng)建和管理登錄賬戶,默認的QL Server是用Windows身份驗證模式,SQL Server的登錄賬戶無法登錄。只能建立SQL Server登錄賬戶后才能使用SQL Server賬戶登錄。當然要使用SQL Server賬戶登錄,就必須把身份驗證模式改為混合模式。下面介紹一下SQL Server中創(chuàng)建登錄賬戶的方法:
    其實在SQL Server中創(chuàng)建登錄賬戶的方法有兩種:一是Windows身份驗證模式的登錄名,另一種是SQL Server身份驗證模式的登錄名。Windows身份驗證模式的登錄名首先得在系統(tǒng)中存在這個賬戶才行,不然的話不可以創(chuàng)建。假如系統(tǒng)中存在這個賬戶,那么直接輸入“NETBIOS名稱/用戶賬號”或點擊“搜索”來建立。SQL Server身份驗證模式的登錄名就得自己建立一個用戶名,并且輸入密碼及設置相應的策略來創(chuàng)建 。在建立的過程中會有些別的選項,比如:服務器角色、用戶映射、安全對象、狀態(tài)等。后面我們會一一介紹各個選項的意義。
    建立登錄賬戶的操作是:選擇默認數據庫下面的“安全性”右擊選擇“新建”——“登錄”來創(chuàng)建。

 
3.服務器角色的概念:
    服務器角色(也稱做固定服務器角色)是執(zhí)行服務器級管理操作的權限的集合。我們可以簡單的把它理解成“Windows系統(tǒng)中的組”。它跟“Windows系統(tǒng)中的組”是一樣的作用。只不過稱呼不同罷了!-_-!固定服務器角色及其描述如下表:(或者你可以到“安全性”下的“服務器角色”選項中查看)。

服務器角色 

 描述

Sysadmin 可以執(zhí)行SQL Server上的任何活動,任何具有這種角色成員身份的人都是服務器上的SA。值得注意的是,Windows的Adminsitrators組被自動映射到該角色中,為提高安全性,建議把Administrators組Sysadmin角色中刪除。
Dbcreator 可以創(chuàng)建和更改數據庫。
Serveradmin  可以更改服務器范圍的配置選項和關閉服務器,該角色成員所控制的功能對于服務器的性能會產生較大的影響。
Securityadmin 管理和審核登錄賬戶(例如:管理登錄名,讀取錯誤日志以及創(chuàng)建數據庫許可權限的登錄名等)。
Processadmin  可以終止SQL Server長時間運行的進程。 
Setupadmin  配置復制和鏈接服務器。
Diskadmin  用于管理磁盤文件。 
Bulkadmin  可以運行Bulk Insert語句 
   注意:鏈接服務器可以使SQL Server對遠程服務器上的數據源執(zhí)行命令。Bulk Insert語句主要是用來實現SQL Server的大數據量文本文件的批量導入。
    我們在實際生活中,可以根據自己工作的實際情況來運用這些個角色來為用戶分配數據庫服務器權限。打開服務器角色配置頁的方法是:默認數據庫下的“安全性”選項中的“登錄名”。然后選擇你要為哪個用戶配置服務器角色,然后選擇用戶右擊“屬性”來打開。打開后選擇第二項“服務器角色”來為用戶配置服務器角色權限。
二、新建數據庫用戶:
    在建立了SQL Server登錄賬戶以后,需要授予用戶或組許可,使他們能夠在數據庫中執(zhí)行任務。登錄賬戶用于訪問SQL Server實例,數據庫用戶則用于訪問數據庫。要想訪問某個數據庫,就必須在這個數據庫上建立相對應的數據庫用戶。
    實際上數據庫用戶是映射到登錄賬戶上的。也就是當我們新建一個登錄名時,就可以把它映射到一個數據庫里,成為這個數據庫的數據庫用戶。建立一個數據庫用戶的具體步驟如下:
    首先建立一個登錄名——然后把這個登錄名映射到你想要建立數據庫用戶的數據庫中(當然你首先得有你自己的數據庫)。下面是建立一個數據庫DB上的一個數據庫用戶的步驟:
1.首先建立自己的數據庫:

2.然后新建登錄名(我這里是使用的Windows用戶,直接搜索找到用戶就OK了):
 
3.把登錄賬戶映射到數據庫DB讓其成為數據庫DB的數據庫用戶:

4.然后就可以到DB數據庫下面的“安全性”——“用戶”里面就可以找到你映射的數據庫用戶了!
如果有多個人對某個數據庫具有相同的權限的時候,我們可以直接在AD中新建一個組,然后把這些個用戶加入到組里,最后到SQL Server服務器上新建一個登錄名,新建時候輸入“域名中"."前面的部分\組名”(例如:域名是abc.com的話,那么輸入時候就輸入“abc\組名”)。新建好后,這個組中的用戶就都可以登錄SQL Server數據庫了。
三、數據庫角色:
    數據庫角色的作用是為數據庫用戶設置對某個數據庫的權限,而數據庫角色又分為固定數據庫角色和用戶定義數據庫角色。固定數據庫是一組SQL Server 預定義的數據庫角色,具有數據庫級別的管理權力,用來完成常用的數據庫任務。
1.固定數據庫角色有以下幾種:
 
固定數據庫角色 

 說明

db_owner  可以執(zhí)行所有配置和維護活動,還可以刪除數據庫
db_securutyadmin  可以修改角色成員身份和管理權限 
db_accessadmin   可以為Windows登錄名、組和SQL Server登錄名添加或刪除數據庫訪問權限 
db_backupoperator  可以備份數據庫 
db_datareader     可以從所有用戶表中讀取所有數據 
db_datawriter      可以在所有用戶表中添加、刪除或更改數據 
db_ddladmin      可以在數據庫中運行任何數據定義的語言命令 
db_denydatareader   不能讀取數據庫內用戶表中的任何數據 
db_denydatawriter    不能添加、修改或刪除數據庫內用戶表中的任何數據 
public  維護默認的權限  
               
    注意:PUBLIC角色是特殊的固定數據庫角色,特點是:捕獲數據庫中用戶的所有默認權限、所有用戶和角色或組默認屬于public角色、無法將用戶和組或角色指派給它,因為默認情況下它們即屬于該角色、不能被刪除。為public角色授予權限時必須非常小心,因為一個小小的錯誤可能導致用戶非法訪問數據庫。
2.用戶自定義數據庫角色:
    當固定服務器角色不能滿足要求時,就可以自己創(chuàng)建數據庫角色,定義一組用戶具有相同的權限。可以使用SQL Server Management Studio的對象資源管理器創(chuàng)建用戶定義數據庫角色。為數據庫設置權限的步驟如下:
(1).打開你新建的數據庫下面的“安全性”選項下的“角色”里的“數據庫角色”來設置數據庫權限。
然后你想讓你的用戶擁有什么權限就把他加入到哪個數據庫角色中。然后這個用戶就擁有了相應的權限。比如把個用戶加入到db_owner角色中。
四、數據庫訪問審核:
    審核可以幫助跟蹤并阻止系統(tǒng)中未經授權的用戶行為。對那些具有高特權但卻干壞事的管理員或者用戶進行審核,對保護系統(tǒng)十分有用。一個好的審核系統(tǒng)允許只對那些重要的事件進行過濾,因此用戶不會淹沒在海量的信息中。所有數據平臺均在不同程度上提供審查功能。
下面來說一下SQL Server安全審核的設置:
首先打開數據庫服務器的“屬性”——“安全性”里的“登錄審核”選項來設置數據庫訪問審核。根據自己的實際情況來設置那些選項。比如你是要審核“登錄失敗”的還是“登錄成功”的或者是“登錄失敗和成功”都進行審核的。當這些設置好后,你就可以用一個錯誤的登錄名或正確的登錄名來登錄一下試試審核啟動沒有。你可以在Windows系統(tǒng)中的“事件查看器”里面找到審核的內容。
五、屏蔽SQL Server常見漏洞:
1.修改SA密碼。
    因為SA是SQL Server默認的超級管理員,所以一定要確保SA密碼的安全性。最好是把SA密碼設的復雜點,如果有必要可以把SA的用戶名也修改了。
2.刪除或禁用不必要的用戶:
    系統(tǒng)中包含的默認用戶,往往因為用戶名的公開,成為黑客攻擊的目標。所以安全的做法是應該將這些公開的用戶刪除或禁用后重建。比如說:默認的Administrators組就可以直接刪了或禁用。
3.刪除危險的存儲過程:
    為什么要刪除不必要的存儲過程呢?因為有些存儲過程很容易被人利用,用來提升權限或進行破壞。主要有以下幾種存儲過程:
(1).執(zhí)行操作系統(tǒng)命令的存儲過程xp_cmdshell。
(2).操縱OLE自動化對象的存儲過程。
(3).注冊表訪問的存儲過程。
(4).文件操作類存儲過程。
(5).進程管理類存儲過程。
(6).任務管理類存儲過程。
上面這幾種存儲過程因為我也不怎么懂所以在這里不詳細介紹了,你們可以看我另一篇文章“SQL高級注入使用之存儲過程”(
http://blog./u3/112561/showart_2223533.html)這是我從我們老師那里轉的^_^。有興趣的可以去看看。
4.關閉不必要的網絡連接功能。
    SQL Server 提供外圍應用配置器單一的界面,減少外圍應用,停止或禁用不必要的服務或連接。外圍應用的減少使得對系統(tǒng)的攻擊途徑減少,有助于提高安全性。使用“外圍應用配置器”可以啟用、禁用、開始或停止SQL Server2005安裝的一些功能服務和遠程連接。打開“外圍應用配置器”的步驟是:“開始”——“程序”——“Microsoft SQL Server 2005”——“配置工具”——“SQL Server外圍應用配置器”來打開“SQL Server外圍應用配置器”。打開后自己就可以配置了。
5.配合防火墻過濾指定端口訪問:
    默認情況下,SQL Server2005會偵聽TCP1433端口,并將1433UDP端口用于客戶端與服務器間的協議。因此,也為攻擊者提供了大量入侵機會,所以應該結合防火墻來限制對端口的訪問。使用SQL Server配置管理器可以通過更改默認端口、配置命名實例來偵聽同一端口,也可以隱藏端口。
6.禁用不必要的協議。
7.加密數據(也就是通過證書等加密方法來加密數據來保證數據安全)。
8.定期安裝補丁。
    好了,這一節(jié)就完了。。。真累-_-!。

    本站是提供個人知識管理的網絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點。請注意甄別內容中的聯系方式、誘導購買等信息,謹防詐騙。如發(fā)現有害或侵權內容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多