MSSQL安全設(shè)置的具體步驟和方法小結(jié)
更新時(shí)間:2012年06月18日 17:07:45 作者:
MSSQL安全設(shè)置的具體步驟和方法小結(jié),使用sql2000的朋友可以參考下,建議普通賬戶運(yùn)行
第一步肯定是打上SQL SERVER最新的安全補(bǔ)丁.如果這一步都沒有做好,那我們也沒有繼續(xù)下去的必要了。
第二步是修改默認(rèn)的1433端口,并且將SQL SERVER隱藏。這樣能禁止對(duì)試圖枚舉網(wǎng)絡(luò)上現(xiàn)有的 SQL Server 客戶端所發(fā)出的廣播作出響應(yīng)。另外,還需要在TCP/IP篩選中將1433端口屏蔽掉,盡可能的隱藏你的SQL SERVER數(shù)據(jù)庫(kù)。這樣子一但讓攻擊創(chuàng)建了SQL SERVER的賬號(hào),也不能馬上使用查詢分析器遠(yuǎn)程登陸來進(jìn)行下一步的攻擊。單從ASP,PHP等頁(yè)面構(gòu)造惡意語(yǔ)句的話,還有需要查看返回值的問題,總比 不上直接查詢分析器來得利落。所以我們首先要做到即使讓別人注入了,也不能讓攻擊者下一步做得順當(dāng)。修改方法:企業(yè)管理器 --> 你的數(shù)據(jù)庫(kù)組 --> 屬性 --> 常規(guī) --> 網(wǎng)絡(luò)配置 --> TCP/IP --> 屬性 ,在這兒將你的默認(rèn)端口進(jìn)行修改,和SQL SERVER的隱藏。
第三步是很重要的一步,SQL INJECTION往往在WEB CODE中產(chǎn)生。而做為系統(tǒng)管理員或者數(shù)據(jù)庫(kù)管理員,總不能常常的去看每一段代碼。即使常??创a,也不能保證我們?cè)谏厦娴氖韬?。那怎么辦?我們就要從數(shù) 據(jù)庫(kù)角色著手,讓數(shù)據(jù)庫(kù)用戶的權(quán)限劃分到最低點(diǎn)。SQL SERVER的默認(rèn)權(quán)限讓人真的很頭疼,權(quán)限大得非常的高,權(quán)限小的又什么都做不了,SYSADMIN和db_owner真是讓人又愛又恨。攻擊者一但確 認(rèn)了網(wǎng)站存在SQL INJECTION漏洞,肯定有一步操作步驟就是測(cè)試網(wǎng)站的SQL SERVER使用者具有多大的權(quán)限。一般都會(huì)借助Select IS_SRVROLEMEMBER('sysadmin'),或者Select IS_MEMBER('db_owner'),再或者用user = 0(讓字符和數(shù)字進(jìn)行比較,SQL SERVER就會(huì)提示了錯(cuò)誤信息,從該信息中即可知道一些敏感信息)等語(yǔ)句進(jìn)行測(cè)試。方法還有,我也不敢多說了。其一怕錯(cuò),其二怕聯(lián)盟中的人扁。在當(dāng)前, 如果網(wǎng)站的數(shù)據(jù)庫(kù)使用者用的是SA權(quán)限,再加上確認(rèn)了WEB所處在的絕對(duì)路徑,那么就宣告了你的網(wǎng)站的OVER。db_owner權(quán)限也一樣,如果確認(rèn)了 絕對(duì)路徑,那么有50%的機(jī)會(huì)能給你的機(jī)器中上WEB 方式的木馬,如海陽(yáng)等。所以這兒我們確認(rèn)了一點(diǎn),我們必須要?jiǎng)?chuàng)建自已的權(quán)限,讓攻擊者找不著下嘴的地方。在這兒引用一個(gè)SQL SERVER聯(lián)機(jī)幫助中的例子:
創(chuàng)建 SQL Server 數(shù)據(jù)庫(kù)角色的方法(企業(yè)管理器)
創(chuàng)建 SQL Server 數(shù)據(jù)庫(kù)角色
1. 展開服務(wù)器組,然后展開服務(wù)器。
2. 展開"數(shù)據(jù)庫(kù)"文件夾,然后展開要在其中創(chuàng)建角色的數(shù)據(jù)庫(kù)。
3. 右擊"角色",然后單擊"新建數(shù)據(jù)庫(kù)角色"命令。
4. 在"名稱"框中輸入新角色的名稱。
5. 單擊"添加"將成員添加到"標(biāo)準(zhǔn)角色"列表中,然后單擊要添加的一個(gè)或多個(gè)用戶。(可選)
只有選定數(shù)據(jù)庫(kù)中的用戶才能被添加到角色中。
對(duì)象權(quán)限
處理數(shù)據(jù)或執(zhí)行過程時(shí)需要稱為對(duì)象權(quán)限的權(quán)限類別:
· Select、Insert、Update 和 Delete 語(yǔ)句權(quán)限,它們可以應(yīng)用到整個(gè)表或視圖中。
· Select 和 Update 語(yǔ)句權(quán)限,它們可以有選擇性地應(yīng)用到表或視圖中的單個(gè)列上。
· Select 權(quán)限,它們可以應(yīng)用到用戶定義函數(shù)。
· Insert 和 Delete 語(yǔ)句權(quán)限,它們會(huì)影響整行,因此只可以應(yīng)用到表或視圖中,而不能應(yīng)用到單個(gè)列上。
· EXECUTE 語(yǔ)句權(quán)限,它們可以影響存儲(chǔ)過程和函數(shù)。
語(yǔ)句權(quán)限
創(chuàng) 建數(shù)據(jù)庫(kù)或數(shù)據(jù)庫(kù)中的項(xiàng)(如表或存儲(chǔ)過程)所涉及的活動(dòng)要求另一類稱為語(yǔ)句權(quán)限的權(quán)限。例如,如果用戶必須能夠在數(shù)據(jù)庫(kù)中創(chuàng)建表,則應(yīng)該向該用戶授予 Create TABLE 語(yǔ)句權(quán)限。語(yǔ)句權(quán)限(如 Create DATABASE)適用于語(yǔ)句自身,而不適用于數(shù)據(jù)庫(kù)中定義的特定對(duì)象。
語(yǔ)句權(quán)限有:
· BACKUP DATABASE
· BACKUP LOG
· Create DATABASE
· Create DEFAULT
· Create FUNCTION
· Create PROCEDURE
· Create RULE
· Create TABLE
· Create VIEW
暗示性權(quán)限
暗示性權(quán)限控制那些只能由預(yù)定義系統(tǒng)角色的成員或數(shù)據(jù)庫(kù)對(duì)象所有者執(zhí)行的活動(dòng)。例如,sysadmin 固定服務(wù)器角色成員自動(dòng)繼承在 SQL Server 安裝中進(jìn)行操作或查看的全部權(quán)限。
數(shù)據(jù)庫(kù)對(duì)象所有者還有暗示性權(quán)限,可以對(duì)所擁有的對(duì)象執(zhí)行一切活動(dòng)。例如,擁有表的用戶可以查看、添加或刪除數(shù)據(jù),更改表定義,或控制允許其他用戶對(duì)表進(jìn)行操作的權(quán)限。
db_owner 在數(shù)據(jù)庫(kù)中有全部權(quán)限。
db_accessadmin 可以添加或刪除用戶 ID。
db_securityadmin 可以管理全部權(quán)限、對(duì)象所有權(quán)、角色和角色成員資格。
db_ddladmin 可以發(fā)出 ALL DDL,但不能發(fā)出 GRANT、REVOKE 或 DENY語(yǔ)句。
db_backupoperator 可以發(fā)出 DBCC、CHECKPOINT 和 BACKUP 語(yǔ)句。
db_datareader 可以選擇數(shù)據(jù)庫(kù)內(nèi)任何用戶表中的所有數(shù)據(jù)。 db_datawriter 可以更改數(shù)據(jù)庫(kù)內(nèi)任何用戶表中的所有數(shù)據(jù)。
db_denydatareader 不能選擇數(shù)據(jù)庫(kù)內(nèi)任何用戶表中的任何數(shù)據(jù)。
db_denydatawriter 不能更改數(shù)據(jù)庫(kù)內(nèi)任何用戶表中的任何數(shù)據(jù)。
在 這兒把新建的數(shù)據(jù)庫(kù)角色的權(quán)限配置好,比如需要使用哪個(gè)表、視圖、存儲(chǔ)過程等。然后把Db_owner和db_securityadmin、 db_backupoperator取消,不給攻擊者BACKUP DATABASE和Create TABLE的機(jī)會(huì),一但攻擊者具有這兩個(gè)權(quán)限,那么你的網(wǎng)站就還處在十分危險(xiǎn)的狀態(tài)。還有注意一下,在創(chuàng)建數(shù)據(jù)庫(kù)賬號(hào)時(shí),千萬(wàn)不能對(duì)服務(wù)器角色進(jìn)行選擇。
第四步是修改SQL SERVER內(nèi)置存儲(chǔ)過程。SQL SERVER估計(jì)是為了安裝或者其它方面,它內(nèi)置了一批危險(xiǎn)的存儲(chǔ)過程。能讀到注冊(cè)表信息,能寫入注冊(cè)表信息,能讀磁盤共享信息等等......各位看到 這兒,心里可能會(huì)在想,我的網(wǎng)站中有其它的代碼,又不像查詢分析器那樣能查接將結(jié)果輸出。給你這個(gè)權(quán)限,又不能怎么樣,還是看不到信息。如果各位這樣想就 大錯(cuò)特錯(cuò)了。提示一下,如果攻擊者有Create TABLE的權(quán)限,那么創(chuàng)建一個(gè)臨時(shí)表,然后將信息Insert到表中,然Select出來,接著跟數(shù)字進(jìn)行比較,讓SQL SERVER報(bào)錯(cuò),那么結(jié)果就全出來了......所以我們要報(bào)著寧錯(cuò)殺,不放過的態(tài)度進(jìn)行修補(bǔ)。
先來列出危險(xiǎn)的內(nèi)置存儲(chǔ)過程:
xp_cmdshell
xp_regaddmultistring
xp_regdeletekey
xp_regdeletevalue
xp_regenumkeys
xp_regenumvalues
xp_regread
xp_regremovemultistring
xp_regwrite
ActiveX自動(dòng)腳本:
sp_OACreate
sp_OADestroy
sp_OAMethod
sp_OAGetProperty
sp_OASetProperty
sp_OAGetErrorInfo
sp_OAStop
將有安全問題的SQL過程刪除.比較全面.一切為了安全!
刪除有安全隱患的擴(kuò)展:
exec sp_dropextendedproc 'xp_cmdshell' [刪除此項(xiàng)擴(kuò)展后,將無(wú)法遠(yuǎn)程連接數(shù)據(jù)庫(kù)]
exec sp_dropextendedproc 'xp_dirtree' [刪除此項(xiàng)擴(kuò)展后,將無(wú)法新建或附加數(shù)據(jù)庫(kù)]
exec sp_dropextendedproc 'xp_enumgroups'
exec sp_dropextendedproc 'xp_fixeddrives'
exec sp_dropextendedproc 'xp_loginconfig'
exec sp_dropextendedproc 'xp_regaddmultistring'
exec sp_dropextendedproc 'xp_regdeletekey'
exec sp_dropextendedproc 'xp_regdeletevalue'
exec sp_dropextendedproc 'xp_regread'
exec sp_dropextendedproc 'xp_regremovemultistring'
exec sp_dropextendedproc 'xp_regwrite'
exec sp_dropextendedproc 'xp_enumerrorlogs'
exec sp_dropextendedproc 'xp_getfiledetails'
exec sp_dropextendedproc 'xp_regenumvalues'
恢復(fù)擴(kuò)展
exec sp_addextendedproc 'xp_cmdshell', 'xplog70.dll'
exec sp_addextendedproc 'xp_dirtree', 'xpstar.dll'
exec sp_addextendedproc 'xp_enumgroups', 'xplog70.dll'
exec sp_addextendedproc 'xp_fixeddrives', 'xpstar.dll'
exec sp_addextendedproc 'xp_loginconfig', 'xplog70.dll'
exec sp_addextendedproc 'xp_regaddmultistring', 'xpstar.dll'
exec sp_addextendedproc 'xp_regdeletekey', 'xpstar.dll'
exec sp_addextendedproc 'xp_regdeletevalue', 'xpstar.dll'
exec sp_addextendedproc 'xp_regread', 'xpstar.dll'
exec sp_addextendedproc 'xp_regremovemultistring', 'xpstar.dll'
exec sp_addextendedproc 'xp_regwrite', 'xpstar.dll'
exec sp_addextendedproc 'xp_enumerrorlogs', 'xpstar.dll'
exec sp_addextendedproc 'xp_getfiledetails', 'xpstar.dll'
exec sp_addextendedproc 'xp_regenumvalues', 'xpstar.dll'
全部復(fù)制到"SQL查詢分析器"
點(diǎn)擊菜單上的--"查詢"--"執(zhí)行",就會(huì)將有安全問題的SQL過程刪除(以上是7i24的正版用戶的技術(shù)支持)
更改默認(rèn)SA空密碼.數(shù)據(jù)庫(kù)鏈接不要使用SA帳戶.單數(shù)據(jù)庫(kù)單獨(dú)設(shè)使用帳戶.只給public和db_owner權(quán)限.
數(shù)據(jù)庫(kù)不要放在默認(rèn)的位置.
SQL不要安裝在PROGRAM FILE目錄下面.
以 上各項(xiàng)全在我們封殺之列,例如xp_cmdshell屏蔽的方法為:sp_dropextendedproc 'xp_cmdshell',如果需要的話,再用sp_addextendedproc 'xp_cmdshell', 'xpsql70.dll'進(jìn)行恢復(fù)。如果你不知道xp_cmdshell使用的是哪個(gè).dll文件的話,可以使用 sp_helpextendedproc xp_cmdshell來查看xp_cmdshell使用的是哪個(gè)動(dòng)態(tài)聯(lián)接庫(kù)。另外,將xp_cmdshell屏蔽后,我們還需要做的步驟是將 xpsql70.dll文件進(jìn)行改名,以防止獲得SA的攻擊者將它進(jìn)行恢復(fù)。
我們做到這兒,你的SQL SERVER就基本上安全了。但是信息還是能一樣的外泄。畢竟Select我們是無(wú)法取消的,除非你的網(wǎng)站用的是HTML。SQL INJECTION的防范還需要我們這些程序員來注意,這才是治本之法。
第二步是修改默認(rèn)的1433端口,并且將SQL SERVER隱藏。這樣能禁止對(duì)試圖枚舉網(wǎng)絡(luò)上現(xiàn)有的 SQL Server 客戶端所發(fā)出的廣播作出響應(yīng)。另外,還需要在TCP/IP篩選中將1433端口屏蔽掉,盡可能的隱藏你的SQL SERVER數(shù)據(jù)庫(kù)。這樣子一但讓攻擊創(chuàng)建了SQL SERVER的賬號(hào),也不能馬上使用查詢分析器遠(yuǎn)程登陸來進(jìn)行下一步的攻擊。單從ASP,PHP等頁(yè)面構(gòu)造惡意語(yǔ)句的話,還有需要查看返回值的問題,總比 不上直接查詢分析器來得利落。所以我們首先要做到即使讓別人注入了,也不能讓攻擊者下一步做得順當(dāng)。修改方法:企業(yè)管理器 --> 你的數(shù)據(jù)庫(kù)組 --> 屬性 --> 常規(guī) --> 網(wǎng)絡(luò)配置 --> TCP/IP --> 屬性 ,在這兒將你的默認(rèn)端口進(jìn)行修改,和SQL SERVER的隱藏。
第三步是很重要的一步,SQL INJECTION往往在WEB CODE中產(chǎn)生。而做為系統(tǒng)管理員或者數(shù)據(jù)庫(kù)管理員,總不能常常的去看每一段代碼。即使常??创a,也不能保證我們?cè)谏厦娴氖韬?。那怎么辦?我們就要從數(shù) 據(jù)庫(kù)角色著手,讓數(shù)據(jù)庫(kù)用戶的權(quán)限劃分到最低點(diǎn)。SQL SERVER的默認(rèn)權(quán)限讓人真的很頭疼,權(quán)限大得非常的高,權(quán)限小的又什么都做不了,SYSADMIN和db_owner真是讓人又愛又恨。攻擊者一但確 認(rèn)了網(wǎng)站存在SQL INJECTION漏洞,肯定有一步操作步驟就是測(cè)試網(wǎng)站的SQL SERVER使用者具有多大的權(quán)限。一般都會(huì)借助Select IS_SRVROLEMEMBER('sysadmin'),或者Select IS_MEMBER('db_owner'),再或者用user = 0(讓字符和數(shù)字進(jìn)行比較,SQL SERVER就會(huì)提示了錯(cuò)誤信息,從該信息中即可知道一些敏感信息)等語(yǔ)句進(jìn)行測(cè)試。方法還有,我也不敢多說了。其一怕錯(cuò),其二怕聯(lián)盟中的人扁。在當(dāng)前, 如果網(wǎng)站的數(shù)據(jù)庫(kù)使用者用的是SA權(quán)限,再加上確認(rèn)了WEB所處在的絕對(duì)路徑,那么就宣告了你的網(wǎng)站的OVER。db_owner權(quán)限也一樣,如果確認(rèn)了 絕對(duì)路徑,那么有50%的機(jī)會(huì)能給你的機(jī)器中上WEB 方式的木馬,如海陽(yáng)等。所以這兒我們確認(rèn)了一點(diǎn),我們必須要?jiǎng)?chuàng)建自已的權(quán)限,讓攻擊者找不著下嘴的地方。在這兒引用一個(gè)SQL SERVER聯(lián)機(jī)幫助中的例子:
創(chuàng)建 SQL Server 數(shù)據(jù)庫(kù)角色的方法(企業(yè)管理器)
創(chuàng)建 SQL Server 數(shù)據(jù)庫(kù)角色
1. 展開服務(wù)器組,然后展開服務(wù)器。
2. 展開"數(shù)據(jù)庫(kù)"文件夾,然后展開要在其中創(chuàng)建角色的數(shù)據(jù)庫(kù)。
3. 右擊"角色",然后單擊"新建數(shù)據(jù)庫(kù)角色"命令。
4. 在"名稱"框中輸入新角色的名稱。
5. 單擊"添加"將成員添加到"標(biāo)準(zhǔn)角色"列表中,然后單擊要添加的一個(gè)或多個(gè)用戶。(可選)
只有選定數(shù)據(jù)庫(kù)中的用戶才能被添加到角色中。
對(duì)象權(quán)限
處理數(shù)據(jù)或執(zhí)行過程時(shí)需要稱為對(duì)象權(quán)限的權(quán)限類別:
· Select、Insert、Update 和 Delete 語(yǔ)句權(quán)限,它們可以應(yīng)用到整個(gè)表或視圖中。
· Select 和 Update 語(yǔ)句權(quán)限,它們可以有選擇性地應(yīng)用到表或視圖中的單個(gè)列上。
· Select 權(quán)限,它們可以應(yīng)用到用戶定義函數(shù)。
· Insert 和 Delete 語(yǔ)句權(quán)限,它們會(huì)影響整行,因此只可以應(yīng)用到表或視圖中,而不能應(yīng)用到單個(gè)列上。
· EXECUTE 語(yǔ)句權(quán)限,它們可以影響存儲(chǔ)過程和函數(shù)。
語(yǔ)句權(quán)限
創(chuàng) 建數(shù)據(jù)庫(kù)或數(shù)據(jù)庫(kù)中的項(xiàng)(如表或存儲(chǔ)過程)所涉及的活動(dòng)要求另一類稱為語(yǔ)句權(quán)限的權(quán)限。例如,如果用戶必須能夠在數(shù)據(jù)庫(kù)中創(chuàng)建表,則應(yīng)該向該用戶授予 Create TABLE 語(yǔ)句權(quán)限。語(yǔ)句權(quán)限(如 Create DATABASE)適用于語(yǔ)句自身,而不適用于數(shù)據(jù)庫(kù)中定義的特定對(duì)象。
語(yǔ)句權(quán)限有:
· BACKUP DATABASE
· BACKUP LOG
· Create DATABASE
· Create DEFAULT
· Create FUNCTION
· Create PROCEDURE
· Create RULE
· Create TABLE
· Create VIEW
暗示性權(quán)限
暗示性權(quán)限控制那些只能由預(yù)定義系統(tǒng)角色的成員或數(shù)據(jù)庫(kù)對(duì)象所有者執(zhí)行的活動(dòng)。例如,sysadmin 固定服務(wù)器角色成員自動(dòng)繼承在 SQL Server 安裝中進(jìn)行操作或查看的全部權(quán)限。
數(shù)據(jù)庫(kù)對(duì)象所有者還有暗示性權(quán)限,可以對(duì)所擁有的對(duì)象執(zhí)行一切活動(dòng)。例如,擁有表的用戶可以查看、添加或刪除數(shù)據(jù),更改表定義,或控制允許其他用戶對(duì)表進(jìn)行操作的權(quán)限。
db_owner 在數(shù)據(jù)庫(kù)中有全部權(quán)限。
db_accessadmin 可以添加或刪除用戶 ID。
db_securityadmin 可以管理全部權(quán)限、對(duì)象所有權(quán)、角色和角色成員資格。
db_ddladmin 可以發(fā)出 ALL DDL,但不能發(fā)出 GRANT、REVOKE 或 DENY語(yǔ)句。
db_backupoperator 可以發(fā)出 DBCC、CHECKPOINT 和 BACKUP 語(yǔ)句。
db_datareader 可以選擇數(shù)據(jù)庫(kù)內(nèi)任何用戶表中的所有數(shù)據(jù)。 db_datawriter 可以更改數(shù)據(jù)庫(kù)內(nèi)任何用戶表中的所有數(shù)據(jù)。
db_denydatareader 不能選擇數(shù)據(jù)庫(kù)內(nèi)任何用戶表中的任何數(shù)據(jù)。
db_denydatawriter 不能更改數(shù)據(jù)庫(kù)內(nèi)任何用戶表中的任何數(shù)據(jù)。
在 這兒把新建的數(shù)據(jù)庫(kù)角色的權(quán)限配置好,比如需要使用哪個(gè)表、視圖、存儲(chǔ)過程等。然后把Db_owner和db_securityadmin、 db_backupoperator取消,不給攻擊者BACKUP DATABASE和Create TABLE的機(jī)會(huì),一但攻擊者具有這兩個(gè)權(quán)限,那么你的網(wǎng)站就還處在十分危險(xiǎn)的狀態(tài)。還有注意一下,在創(chuàng)建數(shù)據(jù)庫(kù)賬號(hào)時(shí),千萬(wàn)不能對(duì)服務(wù)器角色進(jìn)行選擇。
第四步是修改SQL SERVER內(nèi)置存儲(chǔ)過程。SQL SERVER估計(jì)是為了安裝或者其它方面,它內(nèi)置了一批危險(xiǎn)的存儲(chǔ)過程。能讀到注冊(cè)表信息,能寫入注冊(cè)表信息,能讀磁盤共享信息等等......各位看到 這兒,心里可能會(huì)在想,我的網(wǎng)站中有其它的代碼,又不像查詢分析器那樣能查接將結(jié)果輸出。給你這個(gè)權(quán)限,又不能怎么樣,還是看不到信息。如果各位這樣想就 大錯(cuò)特錯(cuò)了。提示一下,如果攻擊者有Create TABLE的權(quán)限,那么創(chuàng)建一個(gè)臨時(shí)表,然后將信息Insert到表中,然Select出來,接著跟數(shù)字進(jìn)行比較,讓SQL SERVER報(bào)錯(cuò),那么結(jié)果就全出來了......所以我們要報(bào)著寧錯(cuò)殺,不放過的態(tài)度進(jìn)行修補(bǔ)。
先來列出危險(xiǎn)的內(nèi)置存儲(chǔ)過程:
xp_cmdshell
xp_regaddmultistring
xp_regdeletekey
xp_regdeletevalue
xp_regenumkeys
xp_regenumvalues
xp_regread
xp_regremovemultistring
xp_regwrite
ActiveX自動(dòng)腳本:
sp_OACreate
sp_OADestroy
sp_OAMethod
sp_OAGetProperty
sp_OASetProperty
sp_OAGetErrorInfo
sp_OAStop
將有安全問題的SQL過程刪除.比較全面.一切為了安全!
刪除有安全隱患的擴(kuò)展:
exec sp_dropextendedproc 'xp_cmdshell' [刪除此項(xiàng)擴(kuò)展后,將無(wú)法遠(yuǎn)程連接數(shù)據(jù)庫(kù)]
exec sp_dropextendedproc 'xp_dirtree' [刪除此項(xiàng)擴(kuò)展后,將無(wú)法新建或附加數(shù)據(jù)庫(kù)]
exec sp_dropextendedproc 'xp_enumgroups'
exec sp_dropextendedproc 'xp_fixeddrives'
exec sp_dropextendedproc 'xp_loginconfig'
exec sp_dropextendedproc 'xp_regaddmultistring'
exec sp_dropextendedproc 'xp_regdeletekey'
exec sp_dropextendedproc 'xp_regdeletevalue'
exec sp_dropextendedproc 'xp_regread'
exec sp_dropextendedproc 'xp_regremovemultistring'
exec sp_dropextendedproc 'xp_regwrite'
exec sp_dropextendedproc 'xp_enumerrorlogs'
exec sp_dropextendedproc 'xp_getfiledetails'
exec sp_dropextendedproc 'xp_regenumvalues'
恢復(fù)擴(kuò)展
exec sp_addextendedproc 'xp_cmdshell', 'xplog70.dll'
exec sp_addextendedproc 'xp_dirtree', 'xpstar.dll'
exec sp_addextendedproc 'xp_enumgroups', 'xplog70.dll'
exec sp_addextendedproc 'xp_fixeddrives', 'xpstar.dll'
exec sp_addextendedproc 'xp_loginconfig', 'xplog70.dll'
exec sp_addextendedproc 'xp_regaddmultistring', 'xpstar.dll'
exec sp_addextendedproc 'xp_regdeletekey', 'xpstar.dll'
exec sp_addextendedproc 'xp_regdeletevalue', 'xpstar.dll'
exec sp_addextendedproc 'xp_regread', 'xpstar.dll'
exec sp_addextendedproc 'xp_regremovemultistring', 'xpstar.dll'
exec sp_addextendedproc 'xp_regwrite', 'xpstar.dll'
exec sp_addextendedproc 'xp_enumerrorlogs', 'xpstar.dll'
exec sp_addextendedproc 'xp_getfiledetails', 'xpstar.dll'
exec sp_addextendedproc 'xp_regenumvalues', 'xpstar.dll'
全部復(fù)制到"SQL查詢分析器"
點(diǎn)擊菜單上的--"查詢"--"執(zhí)行",就會(huì)將有安全問題的SQL過程刪除(以上是7i24的正版用戶的技術(shù)支持)
更改默認(rèn)SA空密碼.數(shù)據(jù)庫(kù)鏈接不要使用SA帳戶.單數(shù)據(jù)庫(kù)單獨(dú)設(shè)使用帳戶.只給public和db_owner權(quán)限.
數(shù)據(jù)庫(kù)不要放在默認(rèn)的位置.
SQL不要安裝在PROGRAM FILE目錄下面.
以 上各項(xiàng)全在我們封殺之列,例如xp_cmdshell屏蔽的方法為:sp_dropextendedproc 'xp_cmdshell',如果需要的話,再用sp_addextendedproc 'xp_cmdshell', 'xpsql70.dll'進(jìn)行恢復(fù)。如果你不知道xp_cmdshell使用的是哪個(gè).dll文件的話,可以使用 sp_helpextendedproc xp_cmdshell來查看xp_cmdshell使用的是哪個(gè)動(dòng)態(tài)聯(lián)接庫(kù)。另外,將xp_cmdshell屏蔽后,我們還需要做的步驟是將 xpsql70.dll文件進(jìn)行改名,以防止獲得SA的攻擊者將它進(jìn)行恢復(fù)。
我們做到這兒,你的SQL SERVER就基本上安全了。但是信息還是能一樣的外泄。畢竟Select我們是無(wú)法取消的,除非你的網(wǎng)站用的是HTML。SQL INJECTION的防范還需要我們這些程序員來注意,這才是治本之法。
您可能感興趣的文章:
相關(guān)文章
SQL中的REGEXP正則表達(dá)式使用指南及語(yǔ)法詳解
SQL中的REGEXP正則表達(dá)式使用指南:基本語(yǔ)法、常用元字符、字符類、量詞、常用轉(zhuǎn)義字符、注意事項(xiàng)以及使用示例,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友參考下吧2025-01-01
SqlServer使用 case when 解決多條件模糊查詢問題
這篇文章主要介紹了SqlServer使用 case when 解決多條件模糊查詢問題 的相關(guān)資料,需要的朋友可以參考下2015-12-12
sqlserver 批量刪除存儲(chǔ)過程和批量修改存儲(chǔ)過程的語(yǔ)句
sqlserver 批量刪除存儲(chǔ)過程和批量修改存儲(chǔ)過程的語(yǔ)句,需要的朋友可以參考下。2011-07-07
SQLServer數(shù)據(jù)庫(kù)中開啟CDC導(dǎo)致事務(wù)日志空間被占滿的原因
這篇文章主要介紹了SQLServer數(shù)據(jù)庫(kù)中開啟CDC導(dǎo)致事務(wù)日志空間被占滿的原因分析和解決辦法(REPLICATION),需要的朋友可以參考下2017-04-04
SQL server高并發(fā)生成唯一訂單號(hào)的方法實(shí)現(xiàn)
這篇文章主要介紹了SQL server高并發(fā)生成唯一訂單號(hào)的方法實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-02-02
SQLServer中JSON文檔型數(shù)據(jù)的查詢問題解決
SQL Server 對(duì)于數(shù)據(jù)平臺(tái)的開發(fā)者來說越來越友好,下面這篇文章主要給大家介紹了關(guān)于SQLServer中JSON文檔型數(shù)據(jù)的查詢問題的解決方法,需要的朋友可以參考下2021-06-06

