在SQL SERVER 2005執(zhí)行存儲(chǔ)過程的權(quán)限分配問題
在SQL SERVER 2005數(shù)據(jù)庫(kù)中,為了提高數(shù)據(jù)庫(kù)的安全性,當(dāng)執(zhí)行某些存儲(chǔ)過程的時(shí)候,我們需要設(shè)置一些權(quán)限來避免一些危險(xiǎn)性的操作造成數(shù)據(jù)庫(kù)的損壞和數(shù)據(jù)的丟失等。本文從以下幾個(gè)方面分別說明。
1.關(guān)于權(quán)限設(shè)置
一個(gè)庫(kù),一個(gè)連接帳號(hào)和密碼,比如zhuzhu這個(gè)庫(kù),只給PUBLIC權(quán)限。SA帳號(hào)基本是不使用的.因?yàn)镾A實(shí)在是太危險(xiǎn)了.PUBLIC權(quán)限足夠用了。
2.安裝防火墻
如果只是在本機(jī)調(diào)試系統(tǒng),因?yàn)?a target="_blank" >SQL有些人沒打補(bǔ)丁會(huì)被溢出,安裝防火墻是非常好的選擇,這樣即使有漏洞別人也無法攻擊。
3.改變端口
如果SQL Server數(shù)據(jù)庫(kù)需要遠(yuǎn)程訪問,端口一定是要開放的,即使安裝了防火墻,也要將SQL Server的服務(wù)端口1433放開,針對(duì)SQL Server的攻擊工具主要掃描的是1433端口,可以改變默認(rèn)端口,這樣雖然不能從根本上解決問題,但可以對(duì)付一般的掃描,改變端口最簡(jiǎn)單的辦法是在打開“開始”——〉“所有程序”——〉“Microsoft SQL Server” ——〉“服務(wù)器網(wǎng)絡(luò)實(shí)用工具”,在界面中選中“TCP/IP”,點(diǎn)擊“屬性”,把1433改為不超過65535的一個(gè)數(shù),重啟SQL Server服務(wù),這樣默認(rèn)端口就改了,注意這時(shí)你遠(yuǎn)程連接SQL Server時(shí)IP地址后要加改過的端口號(hào)。
4.刪除不需要的擴(kuò)展存儲(chǔ)過程
如果你的系統(tǒng)中確實(shí)不需要這些擴(kuò)展存儲(chǔ)過程可以刪除。
刪除存儲(chǔ)過程的命令是:EXEC sp_dropextendedproc ‘存儲(chǔ)過程的名稱’
主要有一下這些:
- exec sp_dropextendedproc ’xp_cmdshell’
- exec sp_dropextendedproc ’xp_dirtree’
- exec sp_dropextendedproc ’xp_enumgroups’
- exec sp_dropextendedproc ’xp_fixeddrives’
- exec sp_dropextendedproc ’xp_loginconfig’
- exec sp_dropextendedproc ’xp_enumerrorlogs’
- exec sp_dropextendedproc ’xp_getfiledetails’
- exec sp_dropextendedproc ’Sp_OAcreate’
- exec sp_dropextendedproc ’Sp_OADestroy’
- exec sp_dropextendedproc ’Sp_OAGetErrorInfo’
- exec sp_dropextendedproc ’Sp_OAGetProperty’
- exec sp_dropextendedproc ’Sp_OAMethod’
- exec sp_dropextendedproc ’Sp_OASetProperty’
- exec sp_dropextendedproc ’Sp_OAStop’
- exec sp_dropextendedproc ’Xp_regaddmultistring’
- exec sp_dropextendedproc ’Xp_regdeletekey’
- exec sp_dropextendedproc ’Xp_regdeletevalue’
- exec sp_dropextendedproc ’Xp_regenumvalues’
- exec sp_dropextendedproc ’Xp_regread’
- exec sp_dropextendedproc ’Xp_regremovemultistring’
- exec sp_dropextendedproc ’Xp_regwrite’
- drop procedure sp_makewebtask
要恢復(fù)該存儲(chǔ)過程,命令是:EXEC sp_addextendedproc存儲(chǔ)過程的名稱 ,@dllname ='存儲(chǔ)過程的dll'。
例如:恢復(fù)存儲(chǔ)過程xp_cmdshell,EXEC sp_addextendedproc xp_cmdshell ,@dllname ='xplog70.dll',注意,恢復(fù)時(shí)如果xplog70.dll已刪除需要copy一個(gè)。
關(guān)于SQL SERVER 2005數(shù)據(jù)庫(kù)執(zhí)行存儲(chǔ)過程的權(quán)限問題就介紹到這里,謝謝大家的支持!
【編輯推薦】