日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

SQL SERVER 2008安全配置

發(fā)布時(shí)間:2024/4/11 数据库 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SQL SERVER 2008安全配置 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

0x00 sql server 2008 權(quán)限介紹


在訪問sql server 2008的過程中,大致驗(yàn)證流程如下圖:

當(dāng)?shù)卿洸僮饕粋€(gè)數(shù)據(jù)庫的時(shí)候,會(huì)經(jīng)過三次驗(yàn)證:

1. 操作系統(tǒng)的驗(yàn)證 2. SQL SERVER登錄名的驗(yàn)證 3. 數(shù)據(jù)庫用戶名的驗(yàn)證

當(dāng)使用windows身份認(rèn)證模式的時(shí)候,使用的windows賬號(hào)會(huì)通過操作系統(tǒng)的驗(yàn)證,然后以sysadmin的服務(wù)器角色通過SQL SERVER 的驗(yàn)證,在訪問一個(gè)具體的數(shù)據(jù)庫的時(shí)候又以其映射的dbo用戶名登錄相應(yīng)的數(shù)據(jù)庫。

當(dāng)使用SQL SERVER 身份認(rèn)證模式的時(shí)候,首先會(huì)使用類似于IIS中的匿名賬號(hào)來通過windows驗(yàn)證,然后以其對(duì)應(yīng)的服務(wù)器角色來通過SQL SERVER 的驗(yàn)證,在訪問一個(gè)具體數(shù)據(jù)庫的時(shí)候以其映射的數(shù)據(jù)庫用戶名來登錄相應(yīng)的數(shù)據(jù)庫。

操作系統(tǒng)層面:在windows方式驗(yàn)證的過程中,由所使用的windows賬號(hào)。使用sql賬號(hào)驗(yàn)證的時(shí)候,應(yīng)該是使用了一個(gè)類似于iis中的匿名賬號(hào)來通過windows驗(yàn)證的。

SQL SERVER 層面:由sql server的登錄用戶的權(quán)限來控制,具體的權(quán)限由對(duì)應(yīng)的服務(wù)器角色來決定。

(SA是SQL SERVER的一個(gè)登錄用戶名,而不是數(shù)據(jù)庫的用戶名)

數(shù)據(jù)庫層面:由數(shù)據(jù)庫的用戶名的權(quán)限來控制,具體可以通過選擇不同的數(shù)據(jù)庫角色或者自定義權(quán)限來實(shí)現(xiàn)。

(SQL SERVER的登錄用戶名SA通過映射數(shù)據(jù)庫的用戶名來訪問數(shù)據(jù)庫內(nèi)容 )

所以在SQL SERVER 中,對(duì)權(quán)限起決定性作用的就是服務(wù)器登錄名角色和數(shù)據(jù)庫用戶名角色。

0x01 sql server 2008 服務(wù)器角色及數(shù)據(jù)庫角色


固定服務(wù)器角色

(登錄SQL SERVER登錄用戶的權(quán)限角色,如SA默認(rèn)擁有sysadmin角色權(quán)限)

Dbcreator:這個(gè)服務(wù)器角色的成員可以創(chuàng)建、更改、刪除和還原任何數(shù)據(jù)庫。 Diskadmin:這個(gè)服務(wù)器角色用于管理磁盤文件,比如鏡像數(shù)據(jù)庫和添加備份設(shè)備。Processadmin:SQL Server 2008能夠多任務(wù)化,也就是說可以通過執(zhí)行多個(gè)進(jìn)程做多個(gè)事件。 Securityadmin:這個(gè)服務(wù)器角色的成員將管理登錄名及其屬性。他們可以授權(quán)、拒絕和撤銷服務(wù)器級(jí)權(quán)限。也可以授權(quán)、拒絕和撤銷數(shù)據(jù)庫級(jí)權(quán)限。另外,它們可以重置SQL Server 2008登錄名的密碼。 Serveradmin:這個(gè)服務(wù)器角色的成員可以更改服務(wù)器范圍的配置選項(xiàng)和關(guān)閉服務(wù)器。Setupadmin:為需要管理鏈接服務(wù)器和控制啟動(dòng)的存儲(chǔ)過程的用戶而設(shè)計(jì)。這個(gè)角色的成員能添加到setupadmin,能增加、刪除和配置鏈接服務(wù)器,并能控制啟動(dòng)過程。 Sysadmin:這個(gè)服務(wù)器角色的成員有權(quán)在SQL Server 2008中執(zhí)行任何任務(wù)。 Public: 有兩大特點(diǎn),第一,初始狀態(tài)時(shí)沒有權(quán)限;第二,所有的數(shù)據(jù)庫用戶都是它的成員。 固定數(shù)據(jù)庫角色: (數(shù)據(jù)庫用戶權(quán)限) 微軟提供了9個(gè)內(nèi)置的角色,以便于在數(shù)據(jù)庫級(jí)別授予用戶特殊的權(quán)限集合。 db_owner: 該角色的用戶可以在數(shù)據(jù)庫中執(zhí)行任何操作。 db_accessadmin: 該角色的成員可以從數(shù)據(jù)庫中增加或者刪除用戶。 db_backupopperator: 該角色的成員允許備份數(shù)據(jù)庫。 db_datareader: 該角色的成員允許從任何表讀取任何數(shù)據(jù)。 db_datawriter: 該角色的成員允許往任何表寫入數(shù)據(jù)。 db_ddladmin:該角色的成員允許在數(shù)據(jù)庫中增加、修改或者刪除任何對(duì)象(即可以執(zhí)行任何DDL語句)。 db_denydatareader: 該角色的成員被拒絕查看數(shù)據(jù)庫中的任何數(shù)據(jù),但是他們?nèi)匀豢梢酝ㄟ^存儲(chǔ)過程來查看。 db_denydatawriter: 像db_denydatareader角色,該角色的成員被拒絕修改數(shù)據(jù)庫中的任何數(shù)據(jù),但是他們?nèi)匀豢梢酝ㄟ^存儲(chǔ)過程來修改。 db_securityadmin: 該角色的成員可以更改數(shù)據(jù)庫中的權(quán)限和角色。 public:在SQL Server 2008中每個(gè)數(shù)據(jù)庫用戶都屬于public數(shù)據(jù)庫角色。當(dāng)尚未對(duì)某個(gè)用戶授予或者拒絕對(duì)安全對(duì)象的特定權(quán)限時(shí),這該用戶將據(jù)稱授予該安全對(duì)象的public角色的權(quán)限,這個(gè)數(shù)據(jù)庫角色不能被刪除。

0x02 安全配置方案


1. 限制可以訪問數(shù)據(jù)庫的IP

一般可以通過安全策略里面的ipsec或者windows防火墻來限制。

2. 修改數(shù)據(jù)庫的訪問端口

可以在SQL SERVER 配置管理器修改訪問端口為不常見端口來防止一般性掃描

3. 修改日志審核策略

將登錄審核修改為“開啟登錄成功和失敗的日志”,這樣方便數(shù)據(jù)庫被入侵之后,對(duì)日志的查看。

4. 對(duì)SA賬戶的處理

如使用混合身份驗(yàn)證模式,建議禁用掉SA賬戶,否則設(shè)置非常強(qiáng)的SA密碼。

5. 網(wǎng)站使用的數(shù)據(jù)庫賬號(hào)

對(duì)于每一個(gè)網(wǎng)站新建一個(gè)登陸用戶并關(guān)聯(lián)一個(gè)數(shù)據(jù)庫用戶,設(shè)置強(qiáng)密碼,給予服務(wù)器角色為:PUBLIC,給予對(duì)應(yīng)的數(shù)據(jù)庫角色為:db_owner(需更加安全的保護(hù)對(duì)應(yīng)數(shù)據(jù)庫的數(shù)據(jù)需要調(diào)節(jié)更加嚴(yán)格的權(quán)限,此處給予的為此數(shù)據(jù)庫的最高權(quán)限,若此賬號(hào)泄露,此數(shù)據(jù)庫中的數(shù)據(jù)不保,配合后續(xù)配置不影響服務(wù)器安全)

6. 數(shù)據(jù)庫服務(wù)運(yùn)行賬號(hào)

數(shù)據(jù)庫需要往磁盤寫文件,或者通過存儲(chǔ)過程執(zhí)行命令的權(quán)限由數(shù)據(jù)庫服務(wù)器的運(yùn)行賬戶權(quán)限決定,使用NETWORK SERVICE賬戶來運(yùn)行數(shù)據(jù)庫服務(wù)器是較安全的。

7. 磁盤權(quán)限的合理配置

合理配置數(shù)據(jù)庫運(yùn)行,賬戶在磁盤上的權(quán)限,一定不要隨意給寫權(quán)限,特別是網(wǎng)站目錄及數(shù)據(jù)庫存儲(chǔ)目錄以外的位置,這樣即使是SA也不能往磁盤寫文件。

8. 危險(xiǎn)存儲(chǔ)過程的處理

由于在sql server 2008中sp_dropextendedproc 不能刪除系統(tǒng)擴(kuò)展存儲(chǔ)過程,所以直接禁用常見危險(xiǎn)存儲(chǔ)過程。具體可根據(jù)實(shí)際情況來操作,因?yàn)橛行┐鎯?chǔ)過程是正常需要的。對(duì)于一般賬戶而言,根本沒有執(zhí)行這些高危存儲(chǔ)過程的權(quán)限,而對(duì)于SA賬戶來說,以上所有的操作都是可恢復(fù)的,個(gè)人覺得SA賬戶被入侵之后的關(guān)鍵控制點(diǎn)在于合理配置數(shù)據(jù)庫服務(wù)運(yùn)行賬號(hào)的權(quán)限。

0x03 常見入侵分析及防御


1. 數(shù)據(jù)庫0day

zhangsan認(rèn)為,升級(jí)吧!

2. 網(wǎng)站被入侵獲取到普通服務(wù)器權(quán)限的賬號(hào)

如果網(wǎng)站被入侵(類似SQL注入),很顯然其對(duì)應(yīng)的賬號(hào)的數(shù)據(jù)庫的數(shù)據(jù)肯定是不保了。普通賬號(hào)(只給PUBLIC的賬戶)是無法執(zhí)行系統(tǒng)命令的,可能的方式是通過備份數(shù)據(jù)庫來達(dá)到寫馬的操作,防御的最好方法是嚴(yán)格控制數(shù)據(jù)庫運(yùn)行賬號(hào)對(duì)磁盤的寫權(quán)限

3. SA賬戶被入侵

SA賬戶被入侵后,一般會(huì)通過開啟xp_cmdshell存儲(chǔ)過程來執(zhí)行系統(tǒng)命令。但是如果配置的數(shù)據(jù)庫服務(wù)運(yùn)行賬號(hào)NETWORK SERVICE,它能夠執(zhí)行的系統(tǒng)命令也就有限了,甚至可以取消NETWORK SERVICE對(duì)于cmd.exe的執(zhí)行權(quán)限。還有就是需要合理配置NETWORK SERVICE的磁盤寫入權(quán)限。

0x04 常見操作介紹


1. 開啟xp_cmdshell

EXEC sp_configure 'show advanced options', 1; go RECONFIGURE; GO EXEC sp_configure 'xp_cmdshell', 1; go RECONFIGURE; GO

2. 使用xp_cmdshell執(zhí)行系統(tǒng)命令的操作

exec xp_cmdshell 'whoami'

(如果該存儲(chǔ)過程可以執(zhí)行說明可能已經(jīng)被入侵)

3. 高危存儲(chǔ)過程處理

常見危險(xiǎn)存儲(chǔ)過程:

xp_cmdshell xp_delete_file xp_regread xp_regwrite xp_dirtree

由于在sql server 2008中sp_dropextendedproc 不會(huì)刪除系統(tǒng)擴(kuò)展存儲(chǔ)過程,故直接禁用即可

EXEC sp_configure 'show advanced options', 0; EXEC sp_configure 'xp_cmdshell', 0;

求指正,求指教!

總結(jié)

以上是生活随笔為你收集整理的SQL SERVER 2008安全配置的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。