拿到ms sql 2005還沒有一天,總的來說,ms sql 2005的安全性比sql 2000要強上不少,不過默認設置還是有和原來一樣的漏洞,下面我們來修改一下默認設置。
1、安裝mssql時使用混合模式,當然sa密碼最好不能為空,在sql2005中,可以對sa這個超級用戶名進行修改或刪除。
use master
alter login [sa] with name=[zxs] /*修改sa帳號*/
sp_password '111111','123456','sa' /*修改sa密碼*/
使用以上命令可修改sa帳號,也可進行圖形化的修改
使用安全的帳號策略。對sa或等同用戶進行最強的保護,當然,包括使用一個非常強壯的密碼,如下圖

這里可以看到sql 2005比sql 2000 增強的地方了。
2、sql的認證有windows身份認證和混合身份認證。在2005中,登陸sql可以使用indows身份認證和混合身份認證方便,如果不希望系統管理員接觸數據庫的話,可以在安全性==登錄名是把系統帳號“builtin/administrators”刪除。當然,還有別的多余的帳號也可一同禁止,只需要在帳號==屬性==狀態中把是否允許連接到數據庫引擎改為拒絕,還有登錄改為禁用即可,不過這樣的壞處就是當你忘了sa的密碼時,我也沒辦法幫你啦。

也可用命令sp_change_users_login 'report' 搜索一下獨立的帳戶再刪除
3、管理擴展存儲過程
刪除不必要的存儲過程,因為有些存儲過程能很容易地被人利用起來提升權限或進行破壞。
如果你不需要擴展存儲過程xp_cmdshell請把它去掉。xp_cmdshell根本就是一個大后門。
如果不需要請丟棄ole自動存儲過程(會造成管理器中的某些特征不能使用),這些過程包括如下:
sp_oacreate sp_oadestroy sp_oageterrorinfo sp_oagetproperty
sp_oamethod sp_oasetproperty sp_oastop
去掉不需要的注冊表訪問的存儲過程,注冊表存儲過程甚至能夠讀出操作系統管理員的密碼來,如下:
xp_regaddmultistring xp_regdeletekey xp_regdeletevalue xp_regenumvalues
xp_regread xp_regremovemultistring xp_regwrite
還有一些其他的擴展存儲過程,你也最好檢查檢查。
在處理存儲過程的時候,請確認一下,避免造成對數據庫或應用程序的傷害。運行以下sql語句可刪除所有危險的sp。
drop procedure sp_makewebtask
exec master..sp_dropextendedproc xp_cmdshell /*命令行*/
exec master..sp_dropextendedproc xp_dirtree /*可以展開你需要了解的目錄,獲得所有目錄深度*/
exec master..sp_dropextendedproc xp_fileexist /*用來確定一個文件是否存在*/
exec master..sp_dropextendedproc xp_getnetname /*可以獲得服務器名稱*/
exec master..sp_dropextendedproc xp_terminate_process
exec master..sp_dropextendedproc sp_oamethod
exec master..sp_dropextendedproc sp_oacreate
exec master..sp_dropextendedproc xp_regaddmultistring
exec master..sp_dropextendedproc xp_regdeletekey
exec master..sp_dropextendedproc xp_regdeletevalue
exec master..sp_dropextendedproc xp_regenumkeys
exec master..sp_dropextendedproc xp_regenumvalues
exec master..sp_dropextendedproc sp_add_job
exec master..sp_dropextendedproc sp_addtask
exec master..sp_dropextendedproc xp_regread
exec master..sp_dropextendedproc xp_regwrite
exec master..sp_dropextendedproc xp_readwebtask
exec master..sp_dropextendedproc xp_makewebtask
exec master..sp_dropextendedproc xp_regremovemultistring
exec master..sp_dropextendedproc sp_oacreate
drop procedure sp_addextendedproc
5、sql server 2005本身就具有加密功能,完全集成了一個密鑰管理架構。不過,最好遠程網絡連接時使用ssl來加密協議,這就需要一個證書來支持。這里搜索一下就會有很多這方面的說明,就不多說了。
6、使用ipsec策略阻止所有地址訪問本機的tcp1433與udp1434端口,也可對tcp1433端口進行修改,但是在sql2005中,可以使用tcp動態端口,(在sql server configuration manager的sql 2005網絡配置中)如下圖

商業源碼熱門下載www.html.org.cn
新聞熱點
疑難解答