sql server 2005 (2008)能成功删除系统存储过程以实现安全配置吗?
2009-06-24 11:23
1281 查看
看到有很多数据库安全配置的文章,在数据库安全配置方面提到了很重要的一条就是如何删除危险的系统存储过程,并且给出了很详细的实施脚本,让我们这些新手参照实施,但实际情况却不是这样的。比如我执行下面的语句:
exec master..sp_dropextendedproc xp_cmdshell
会出现以下错误:
执行
[align=left]exec master..sp_dropextendedproc xp_cmdshell [/align]
[align=left]时候报错:无法对 过程 'xp_cmdshell' 执行 删除,因为它不存在,或者您没有所需的权限。[/align]
[align=left] [/align]
[align=left]实际上权限是肯定有的,因为是以系统管理员的身份登录执行的,并且通过查询系统数据库过程 “xp_cmdshell”也是存在的,那唯一的理由就是过程sp_dropextendedproc 是执行不了删除存储过程的操作的。[/align]
[align=left] [/align]
[align=left]这个可以从我后面在联机文档找到的资料加以证实,资料如下[/align]
Code Snippet
[align=left]在 SQL Server 2008 和 SQL Server 2005 中,sp_dropextendedproc 不会删除系统扩展存储过程。但系统管理员应拒绝 public 角色对扩展存储过程的 EXECUTE 权限。在 SQL Server 2000 中,sp_dropextendedproc 可用于删除任何扩展存储过程。[/align]
[align=left] [/align]
[align=left]并且sql server自身也会用到这些扩展存储过程(例如, 修改实例的身份验证模式就要用扩展存储过程读写注册表, 用向导备份的时候, 会用扩展存储过程读取服务器的目录和文件信息), 所以删除是有危险性的(即使你是用 sql 2000), 会导致 sql server 的一些功能不工作[/align]
[align=left] [/align]
[align=left]其实如果您想禁用XP_cmdshll的话,可以在外围应用配置器中将它禁用即可,至少权限方面严格控制登录用户的权限即可,最保险的就是将WEB服务器跟数据库服务器分离。[/align]
exec master..sp_dropextendedproc xp_cmdshell
会出现以下错误:
执行
[align=left]exec master..sp_dropextendedproc xp_cmdshell [/align]
[align=left]时候报错:无法对 过程 'xp_cmdshell' 执行 删除,因为它不存在,或者您没有所需的权限。[/align]
[align=left] [/align]
[align=left]实际上权限是肯定有的,因为是以系统管理员的身份登录执行的,并且通过查询系统数据库过程 “xp_cmdshell”也是存在的,那唯一的理由就是过程sp_dropextendedproc 是执行不了删除存储过程的操作的。[/align]
[align=left] [/align]
[align=left]这个可以从我后面在联机文档找到的资料加以证实,资料如下[/align]
Code Snippet
[align=left]在 SQL Server 2008 和 SQL Server 2005 中,sp_dropextendedproc 不会删除系统扩展存储过程。但系统管理员应拒绝 public 角色对扩展存储过程的 EXECUTE 权限。在 SQL Server 2000 中,sp_dropextendedproc 可用于删除任何扩展存储过程。[/align]
[align=left] [/align]
[align=left]并且sql server自身也会用到这些扩展存储过程(例如, 修改实例的身份验证模式就要用扩展存储过程读写注册表, 用向导备份的时候, 会用扩展存储过程读取服务器的目录和文件信息), 所以删除是有危险性的(即使你是用 sql 2000), 会导致 sql server 的一些功能不工作[/align]
[align=left] [/align]
[align=left]其实如果您想禁用XP_cmdshll的话,可以在外围应用配置器中将它禁用即可,至少权限方面严格控制登录用户的权限即可,最保险的就是将WEB服务器跟数据库服务器分离。[/align]
相关文章推荐
- 怎样修改SQL Server 2005/2008的系统存储过程(转)
- sql server系统存储过程及安全配置
- SQL Server 2005/2008 系统视图和系统存储过程DDL语句
- SQL Server 阻止了对组件 'Ole Automation Procedures' 的 过程'sys.sp_OACreate' 的访问,因为此组件已作为此服务器安全配置的一部分而被关闭。系统管理员可以通过使用 sp_configur
- SQL Server 阻止了对组件 'Ole Automation Procedures' 的 过程'sys.sp_OACreate' 的访问,因为此组件已作为此服务器安全配置的一部分而被关闭。系统管理员可以通过使用 sp_configur
- SQL Server 2005/2008 安装过程中遇到“性能计数器注册表配置单元一致性”检查失败的解决方法
- [通过制定SQL计划和系统计划实现]SQL Server 2005数据库定期备份和删除历史备份记录
- SQL Server 阻止了对组件 'xp_cmdshell' 的 过程'sys.xp_cmdshell' 的访问,因为此组件已作为此服务器安全配置的一部分而被关闭。系统管理员可以通过使用 sp_co
- Sql Server 2005 部分 系统存储过程
- sql server 2005/2008 加密存储过程解密脚本/软件推荐
- SQL Server 2008中的代码安全之一:存储过程安全上下文
- SQL Server:使用系统存储过程实现的通用分页存储过程
- 配置 SQL Server 2005 远程调试存储过程
- 转:配置 SQL Server 2005 远程调试存储过程
- 转:配置 SQL Server 2005 远程调试存储过程
- 浅析SQL Server 2008中的代码安全之一:存储过程加密
- sql server 存储过程事务处理实现批量删除
- SQL Server 2005中几个有用的系统存储过程,系统表,系统函数
- SQL SERVER 2005 存储过程签名实现
- SQL Server 阻止了对组件 'Ole Automation Procedures' 的 过程'sys.sp_OACreate' 的访问,因为此组件已作为此服务器安全配置的一部分而被关闭。系统管理员可以通过使用 sp_configur