您的位置:首页 > 数据库 > SQL

关于SQL的安全问题(ftp.exe、cmd.exe的解决方法)

2007-10-24 00:40 615 查看
这段时间服务器出了点问题,弄得很郁闷!进程里多了2个进程,一个ftp.exe,一个cmd.exe,手动清除不掉这2个进程,用了好几款杀毒软件如:卡巴斯基互联网安全套装7.0、瑞星2008、Mcafee8.5企业版等都无济于事!只有Mcafee查出在system32下发现两个病毒文件eq和tt,但清除掉后,过不了多久就又自动出现了!无发彻底清除,后来到安全模式下用冰刃强杀,彻底清查注册表,但是重启后病毒文件和进程将再次出现,而且出现时间还没有任何规律。
然后netstat -an查看网络状态,发现1433端口访问量非常大!1433是sqlserver的默认端口,难道有人在连接我的数据库(web服务用到收起来sql2000),同时还发现ftp.exe进程一直试图在访问网络,连接一个远程计算机的端口,好家伙!这明显是个坏消息!看来我的机器是被人监控了!这点可以从ftp.exe进程访问网络的时间没有规律看出来,有时很快就被打开调用,有时则很长时间才又会出现,应该是被别人手动的执行控制的,想了想最近服务器所做过的改动,查阅了下网上资料,看来问题是出在sqlserver 上了,经排查,果然不出所料,问题出在SQL的存储过程xp_cmdshell上!
据资料介绍,xp_cmdshell 是操作系统命令外壳 ,这个过程是一个扩展存储过程,用于执行指定命令串,并作为文本行返回任何输出。一般来说,xp_cmdshell很容易被黑客利用,带来不安全的隐患,而且xp_cmdshell对管理员来说也是不要,xp_cmdshell的消除不会对服务器造成任何影响。来吧,让我们清除它吧!

可以将xp_cmdshell消除:
xp_cmdshell的删除和恢复
删除扩展存储过过程xp_cmdshell的语句::
Use Master
exec sp_dropextendedproc 'xp_cmdshell'
Go 
恢复cmdshell的SQL语句:
EXEC sp_addextendedproc xp_cmdshell ,@dllname ='xplog70.dll'

然后再运行以下命令就可以去掉用户sa的xp_cmdshell权限:
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[xp_cmdshell]') and OBJECTPROPERTY(id,N'IsExtendedProc'=1) exec sp_dropextendedproc N'[dbo].[xp_cmdshell]'
GO
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐