zoukankan      html  css  js  c++  java
  • 27-SQLServer系统扩展存储过程

    一、注意点

    1、在SQLServer中,有些系统扩展存储过程,是有风险,需要取消public角色的执行权限。

    2、从SQLServer2005开始就不能通过sp_dropextendedproc 删除系统扩展存储过程。

    3、系统扩展存储过程是不能被删掉的,也没办法禁用(sysadmin角色的用户肯定拥有执行的权限),所以如果有公司基线要求,我们要做的是拒绝public角色拥有这些扩展存储过程的执行权限。

    4、一些高风险的存储过程如下:

      xp_cmdshell:以操作系统命令行解释器的方式执行给定的命令字符串,并以文本行的形式返回所有输出;

      xp_readerrorlog:读取SQLServer的错误日志;

      xp_snmp_getstate:获取snmp状态信息;

      xp_sprintf:格式化数据;

      xp_sqlinventory:查询SQLServer清单;

      xp_sqlregister:对注册表的读取和编辑;

      xp_sqltrace:SQL跟踪记录;

      xp_servicecontrol:服务管理控制,该存储过程允许用户启动、停止、暂停或运行服务;

      xp_sscanf:从字符串中读取数据数据到每个格式参数给出的参数位置;

      xp_availablemedia:该存储过程可以查看系统上可用的磁盘驱动器的空间信息;

      xp_subdirs:通过xp_dirtree,xp_subdirs将在一个给定的文件夹中显示所有子文件夹;

    二、操作步骤

    1.查看这个扩展的存储过程对象
    命令:
    select name,id from sysobjects where name in ('xp_cmdshell','xp_readerrorlog','xp_snmp_getstate','xp_sprintf',
    'xp_sqlinventory','xp_sqlregister','xp_sqltrace','xp_servicecontrol','xp_sscanf','xp_availablemedia','xp_subdirs')

    2.查看主体public的权限
    命令:
    select * from sys.database_permissions where grantee_principal_id = DATABASE_PRINCIPAL_ID('public')

    3.查看一些public角色是否拥有一些指定的扩展存储过程的执行权限
    注:查询扩展存储过程是否符合基线的最终SQL
    命令:
    select name from sysobjects where id in(
    select major_id from sys.database_permissions where grantee_principal_id = DATABASE_PRINCIPAL_ID('public')
    and permission_name = 'EXECUTE' and state_desc!='DENY'
    and major_id in (
    select id from sysobjects where name in ('xp_cmdshell','xp_readerrorlog','xp_snmp_getstate','xp_sprintf',
    'xp_sqlinventory','xp_sqlregister','xp_sqltrace','xp_servicecontrol','xp_sscanf','xp_availablemedia','xp_subdirs')
    )
    )

    修改基线方式:直接在图形化界面,把执行的权限去掉就行

  • 相关阅读:
    用POP动画模拟真实秒钟摆动效果
    解析苹果的官方例子LazyTableImages实现图片懒加载原理
    支持xcode6的缓动函数Easing以及使用示例
    [转] iOS 动画库 Pop 和 Canvas 各自的优势和劣势是什么?
    NSJSONSerialization能够处理的JSONData
    [翻译] USING GIT IN XCODE [6] 在XCODE中使用GIT[6]
    [翻译] USING GIT IN XCODE [5] 在XCODE中使用GIT[5]
    [翻译] USING GIT IN XCODE [4] 在XCODE中使用GIT[4]
    [翻译] USING GIT IN XCODE [3] 在XCODE中使用GIT[3]
    【转】断点继传
  • 原文地址:https://www.cnblogs.com/jialanyu/p/11950012.html
Copyright © 2011-2022 走看看