原文出处:http://blog.csdn.net/dba_huangzj/article/details/37927319 ,专题文件夹:http://blog.csdn.net/dba_huangzj/article/details/37906349

未经作者允许,不论什么人不得以“原创”形式公布,也不得已用于商业用途,本人不负责不论什么法律责任。

前一篇:http://blog.csdn.net/dba_huangzj/article/details/37924127

前言:

像SQL Server这样的执行在一个Windows 帐号的安全上下文下的服务,假设还有其它服务使用同样的Windows帐号执行,那么这些服务(非SQL Server)将可能訪问一些非预期资源,如文件和文件夹上的Access Control List(ACL/訪问控制列表),并进行一些不应该有的操作,这些明显是不合理的。

从Windows Server 2008 開始,微软引入一个叫“服务SID”的概念,每一个服务都一个Security Identifier(安全标识)。通过SID,能够针对特定服务创建一个能用于Windows 安全性模式下的标识。这个标识同一时候能够使得使用同样帐号或者内置帐号的每一个服务权限都不一样。

每一个服务的SID会在安装在Windows Server 2008过程中启用,并授予权限。

实现:

以下使用命令行工具查看现有的SID,并为特定服务创建:

1. 打开命令行工具(CMD.EXE)

2.输入命令:

sc qsidtype mssql$sql2012 --mssql$sql2012 为命名实例名,假设是默认实例,能够使用mssqlserver

以下两个图各自是命名实例和默认实例的结果:

命名实例:本机命名实例为sql2012

默认实例:


针对上面的结果,SERVICE_SID_TYPE有三种可能的类型:

  • NONE:该服务没有SID。
  • UNRESTRICTED:该服务有SID。
  • RESTRICTED:该服务有SID而且有一个write-restriction 令牌(token)

3. 假设SERVICE_SID_TYPE为NONE,能够使用以下命令创建SID:

sc sidtype mssql$sql2012 UNRESTRICTED

假设使用User Account Control(UAC/用户帐户控制,在每次进行一个管理任务时侦听),实现上面操作须要使用【以管理员身份执行】CMD命令或者用ctrl+x打开。当SQL Server的SID启用之后,全部SQL Server所在机器上的额外权限(如备份文件夹上的ACL、使用BULK INSERT命令进行文件导入等)都须要会使用SID,而不是SQL Server服务的执行帐号。

原理:

SQL Server服务的SID由服务和实例名派生出来。格式为NT SERVICE\MSSQLSERVER(默认实例)或NT SERVICE\MSSQL$<INSTANCENAME>(命名实例)。

对于SC命令的简要解释:

  • sc.exe 命令用于与服务控制器交互。
  • sc qsidtype命令查询当前SID的状态。
  • sc sidtype提供改动功能。

假设你想移除SID,能够把服务改为NONE。而使用UNRESTRICTED创建一个SID。

注意:不要对SQL Server使用RESTRICTED 选项,由于这样会导致SQL Server服务所需的某些资源被堵塞,从而导致SQL Server无法启动。

下一篇:http://blog.csdn.net/dba_huangzj/article/details/38017703

Chapter 1 Securing Your Server and Network(2):管理服务的SIDs的更多相关文章

  1. Chapter 1 Securing Your Server and Network(10):使用扩展保护避免授权中继攻击

    原文:Chapter 1 Securing Your Server and Network(10):使用扩展保护避免授权中继攻击 原文出处:http://blog.csdn.net/dba_huang ...

  2. Chapter 1 Securing Your Server and Network(9):使用Kerberos用于身份验证

    原文:Chapter 1 Securing Your Server and Network(9):使用Kerberos用于身份验证 原文出处:http://blog.csdn.net/dba_huan ...

  3. Chapter 1 Securing Your Server and Network(8):停止未使用的服务

    原文:Chapter 1 Securing Your Server and Network(8):停止未使用的服务 原文出处:http://blog.csdn.net/dba_huangzj/arti ...

  4. Chapter 1 Securing Your Server and Network(7):禁用SQL Server Browse

    原文:Chapter 1 Securing Your Server and Network(7):禁用SQL Server Browse 原文出处:http://blog.csdn.net/dba_h ...

  5. Chapter 1 Securing Your Server and Network(6):为SQL Server访问配置防火墙

    原文:Chapter 1 Securing Your Server and Network(6):为SQL Server访问配置防火墙 原文出处:http://blog.csdn.net/dba_hu ...

  6. Chapter 1 Securing Your Server and Network(5):使用SSL加密会话

    原文:Chapter 1 Securing Your Server and Network(5):使用SSL加密会话 原文出处:http://blog.csdn.net/dba_huangzj/art ...

  7. Chapter 1 Securing Your Server and Network(4):使用虚拟服务帐号

    原文:Chapter 1 Securing Your Server and Network(4):使用虚拟服务帐号 原文出处:http://blog.csdn.net/dba_huangzj/arti ...

  8. Chapter 1 Securing Your Server and Network(3):使用托管服务帐号

    原文:Chapter 1 Securing Your Server and Network(3):使用托管服务帐号 原文出处:http://blog.csdn.net/dba_huangzj/arti ...

  9. Chapter 1 Securing Your Server and Network(1):选择SQL Server运行账号

    原文:Chapter 1 Securing Your Server and Network(1):选择SQL Server运行账号 原文出处:http://blog.csdn.net/dba_huan ...

随机推荐

  1. ExtJS4.2学习(7)——基础知识之Reader&Writer篇

    Reader: 主要用于将proxy数据代理读取的数据按照不同的规则进行解析,将解析好的数据保存到Modle中. 结构图 Ext.data.reader.Reader 读取器的根类(很少直接实例化这个 ...

  2. Android比较字符串是空的(isEmpty)

    通常情况下,我们需要去推断一个字符串变量是否为空,今天,我特意做了一个小测试 StringUtils.java: package com.yx.equipment_collection.utils; ...

  3. NET实现的DDD、CQRS与微服务架构

    WeText项目:一个基于.NET实现的DDD.CQRS与微服务架构的演示案例 最近出于工作需要,了解了一下微服务架构(Microservice Architecture,MSA).我经过两周业余时间 ...

  4. sql2005,sql2008,sql2012清空日志语句

    原文:sql2005,sql2008,sql2012清空日志语句 sql2005清空日志语句 Backup Log DbName WITH no_log GO DUMP TRANSACTION DbN ...

  5. HTML5之画布的拖拽/拖放

    <!DOCTYPE HTML> <html> <head> <script type="text/javascript"> func ...

  6. 在IIS上发布一个WebService,再发布一个网站调用这个WebService(实例)

    首先描述一下先决条件:IIS可用,VS2005可用. 好,现在开始: 首先写一个WebService并把它发布到IIS上: 在IIS上的默认网站下新建一个“虚拟目录”,取名为“webservice1” ...

  7. JAVA 根据经纬度算出附近的正方形的四个角的经纬度

    /** * * @param longitude 经度 * @param latitude 纬度 * @param distance 范围(米) * @return */ public static ...

  8. SQL Server Insert操作中的锁

    原文:SQL Server Insert操作中的锁 这篇博文简单介绍一下在SQL Server中一条Insert语句中用到的锁. 准备数据 首先我们建立一张表Table_1,它有两列Id(bigint ...

  9. 双向绑定 TwoWay MVVM

    1前台代码 <Grid> <StackPanel > <Grid x:Name="gridOne"> <Grid.Resources> ...

  10. [置顶] LLVM每日谈之十五 LLVM自带的examples

    作者:snsn1984 在LLVM源码的目录下,有一个目录叫做examples,这个目录下边有几个LLVM的例子,初学者一般不会太关注这些例子,但是这些例子确实是精华中的精华,在LLVM的学习过程中不 ...