四、几点建议 1、及时打补丁
不打补丁的危害上面已经演示了,道理就不用多说了吧!
2、最小的权限等于对大的安全
这句话说起容易,做起难,有一个简单易行的办法就是用流行的漏洞扫描工具和攻击工具检测本系统是否安全,这样的工具非常多,自己找吧。
3、安装防火墙
如果只是在本机调试系统,安装防火墙是非常好的选择,这样即使有漏洞别人也无法攻击。
4、改变端口
如果sql serve需要远程访问,端口一定是要开放的,即使安装了防火墙,也要将sql serve的服务端口1433放开,针对sql serve的攻击工具主要扫描的是1433端口,可以改变默认端口,这样虽然不能从根本上解决问题,但可以对付一般的扫描,改变端口最简单的办法是在打开“开始”——〉“所有程序”——〉“microsoft sql serve” ——〉“服务器网络实用工具”,在界面中选中“tcp/ip”,点击“属性”,把1433改为不超过65535的一个数,重启sql serve服务,这样默认端口就改了,注意这时你远程连接sql serve时ip地址后要加改过的端口号。
5、删除不需要的扩展存储过程
如果你的系统中确实不需要这些扩展存储过程可以删除。
删除存储过程的命令是:exec sp_dropextendedproc ‘存储过程的名称’
例如要删除xp_cmdshell,执行exec sp_dropextendedproc ‘xp_cmdshell’,每个扩展存储过程实际上用的是相应的dll文件,如果想彻底让该存储过程不起作用,还要将dll文件也删除。这些文件一般存在program files\microsoft sql server\mssql\binn下,如图28,xp_cmdshell的dll文件是xplog70.dll
要恢复该存储过程,命令是:
exec sp_addextendedproc存储过程的名称 ,@dllname =''存储过程的dll''
例如:恢复存储过程xp_cmdshell
exec sp_addextendedproc xp_cmdshell ,@dllname =''xplog70.dll'',注意,恢复时如果xplog70.dll已删除需要copy一个。
图28