SQL Server2005下的安全操作技巧分享
長期以來,我都是用的mssql2005作為網站的數據庫,有時候會由于程序等原因造成數據庫的安全構成嚴重威脅。
針對與mssql2005的安全,應當針對于2個方面來做,針對于主要的權限及端口。(要是有人說刪除不安全的系統存儲過程,先說好這個方式只能針對于2000,2005及2008均未發現可以刪除的方法,有的話請回復)。
1.端口方面大家都知道mssql默認端口為1433,對于默認端口我一般都有一種想要封掉的沖動,主要是大家只要telnet一下就知道我的數據庫是什么了。那么不是主要暴露目標嘛!所以我搭建好mssql后第一件事情就是對1433端口進行修改。修改方式如下:
Microsoft sql server 2005 ->配置工具->sql server configration manage ,
在SQL Server 2005網絡配置中選擇SQLEXPRESS協議
在右側的TCP/IP中的屬性中,協議對話框的內容
IP地址對話框中的默認端口修改成你所需要修改成的端口
IP2,IP3,IPAll對應的默認端口都修改成你所需要修改成的端口
3、再來設置客戶端的協議的端口
SQL Native Client配置--客戶端協議--TCP/IP--修改默認端口
所有的設置完成之后,重新啟動SQLEXPRESS服務。
最好修改成10000以上的端口數值為宜。
2.對于權限方面的修改,我的方式是要做就做的徹底。(當然要保證能夠進行本地或者遠程調用,本地的話就當我沒說!)
第一步:在SQL Server Management Studio中登錄后-安全性-登錄名下-禁用除administrators(禁用后會使windows驗證登錄失敗,如果只想用SQL身份驗證賬戶登錄可以禁用)及sa賬戶。
第二步:創建一個賬戶,包含sysadmin權限。數據庫映射中包含需要的數據庫前打勾。
第三步:禁用sa賬戶(主要是為了第二部的時候創建賬戶用,有些人不喜歡用windows驗證進入mssql,包括我).
禁用方法:
對要禁用的賬戶右擊屬性-狀態-在設置一欄中,“是否允許連接到數據庫引擎”選項中選擇拒絕即可。
第四步:創建一個空數據庫,將設置為拒絕的登錄名默認登錄數據庫由master改成你新建的空數據庫名。
修改方法:
賬戶右擊屬性-常規-在“默認數據庫”一欄中,通過下拉菜單選取剛新建的數據庫名稱點擊確定即可。
第五步:取消拒絕后的登錄名下的數據庫映射及sysadmin權限。
為什么有些人說要說刪除系統存儲過程,我怎么沒有。(由于默認情況下mssql2005沒有開啟危險的系統存儲過程如cmdshell)
將C:\program files\Microsoft SQL Server中的USER權限僅給予只讀權限,如不賦予user權限可能造成WMI程序運行失敗情況。