关于SQL的安全问题
2010-11-23 10:06
281 查看
关于SQL的安全问题(ftp.exe、cmd.exe的解决方法)
这段时间服务器出了点问题,弄得很郁闷!进程里多了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
原帖出处:http://www.cnitblog.com/William/archive/2007/10/19/35081.html
(感谢原作者)
这段时间服务器出了点问题,弄得很郁闷!进程里多了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
原帖出处:http://www.cnitblog.com/William/archive/2007/10/19/35081.html
(感谢原作者)
相关文章推荐
- 关于SQL的安全问题(ftp.exe、cmd.exe的解决方法)
- Entity Framework关于SQL注入安全问题
- 关于SQL记录合计的问题
- 关于如何将java.util.Date转化为java.sql.Date问题
- SQL语句练习实例之五——WMS系统中的关于LIFO或FIFO的问题
- 关于sql语句中top + order by语句出现多提取问题的解决[cherryt笔记]
- 关于rs.Open sql,conn语句的参数问题
- 关于sql查询值!=的问题
- 关于hibernate用原生sql,为防sql注入,sql中in(?,?)设置参数问题
- 关于设计SQL表的一些问题
- 关于No Dialect mapping for JDBC type :-9 hibernate执行原生sql语句问题
- 关于sql视图--定义视图的查询不能包含order by子句,除非在select 语句的选择列表中还有top子句---问题解决
- 一个关于sql语句的问题解决,包括:字符串拆分,游标
- 关于sql优化的问题-索引优化,索引的创建原则(转)
- 关于SQL安装时出现的有程序安装挂起问题的解决方法
- sql 中使用like时,关于转义符的问题
- asp.net SqlParameter关于Like的传参数无效问题
- 关于用sqlserverr创建一个Oracle的连接服务器问题
- 关于某个变量线程是否安全问题的根本回答
- 关于postgerSQL 的 外部ip连接问题