常州网络公司首页 >>> WINDOWS >> 数据库服务器

SQL Server服务器里最好去掉的危险扩展存储过程

发布时间:2008-9-10 21:45:50   浏览次数:3141

SQL Server服务器里最好去掉的危险扩展存储过程
1. sp_dropextendedproc 'xp_cmdshell' 

xp_cmdshell是进入操作系统的最佳捷径,是数据库留给操作系统的一个大后门。 

如果你确实需要这个存储过程,用下面的方法也可以恢复过来: 

SQL2000是通过下面语句恢复 

EXEC sp_addextendedproc xp_cmdshell ,@dllname ='xplog70.dll' 

 

在去掉扩展存储过程xp_cmdshell之前,一定要查看是用的哪个DLL文件: 

sp_helpextendedproc xp_cmdshell 

或者执行SQL语句: 

select o.name,c.text 
from dbo.syscomments c , dbo.sysobjects o 
where c.id=o.id and o.name=' xp_cmdshell' 

蓝色字的部分可以替换成任何你要去掉扩展存储过程名称, 记得保留一份存档. 


2. 去掉不需要的注册表访问的存储过程(一行一行的执行,可选.): 

sp_dropextendedproc 'xp_regaddmultistring' 

sp_dropextendedproc 'xp_regdeletekey' 

sp_dropextendedproc 'xp_regdeletevalue' 

sp_dropextendedproc 'xp_regenumvalues' 

sp_dropextendedproc 'xp_regremovemultistring' 

xp_regread和xp_regwrite不能删, 在[SQL Server代理]->[作业]里会要用到. 

3. 去掉public的一些权限: 

use master 
go 
revoke execute on [sp_MSSetServerProperties] to [public] 
go 
revoke execute on [sp_MSsetalertinfo] to [public] 

sp_MSSetServerProperties 进程通过调用 xp_instance_regwrite 进程来更改SQL服务器的服务启动方式 
(自动启动还是手工启动). 

防止低权限用户提交作业,需要限制用户访问JOB相关的存储过程. 

4. 确保SQL Server Agent运行在低权限用户下 

5. sql server sp3 与 sql server 热修复补丁.非常必要.防止sql hello 溢出. 

6. 给予不通数据库不同的安全性登陆帐号及数据库权限.(dbowner. public) 

7. sa 帐号不能为空.不要给应用程序数据库使用sa用户. 

8. sqlserver 安全性使用 系统+数据库双重验证. 

上一条:如何利用SQL Server来发送电子发邮件?
下一条:Null
首页 | 在线留言 | 网站地图

CopyRight ©2008-2014   糊涂蛋技术网    苏ICP备05013073号
站长:万创   QQ:54960248  E-mail:xlxcn#126.com