原文出处: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. Spring中继承配置的注入方法

    (1)两个java类.一个父类一个字类 package com.lc.inherit; /* * 这里是父类 */ public class Student { protected String na ...

  2. CacheHelper工具类的使用

    package com.bbcmart.util; import net.sf.ehcache.Cache; import net.sf.ehcache.CacheManager; import ne ...

  3. switch case语句里面不能定义对象,有语法错误,除非加一个花括号

    最近发现一个问题呢 发现在switch的case里面不能去定义对象了,一定义对象就会报错了 仔细了解了一下在C或者C++中,只要是在任何一对花括号 “{ }”中定义的对象,那么该对象的作用域就局限在这 ...

  4. Thrift搭建分布式微服务1

    Thrift搭建分布式微服务 一.Thrift是什么? 关于Thrift的基本介绍,参看张善友的文章Thrift简介. 二.为什么使用微服务? 在公司的高速发展过程中,随着业务的增长,子系统越来越多. ...

  5. Phalcon之 表单(Forms)

    Phalcon中提供了 Phalcon\Forms组件以方便开发人员创建和维护应用中的表单. 以下的样例中展示了主要的用法: <?php use Phalcon\Forms\Form, Phal ...

  6. OpenLayers学习笔记4——使用jQuery UI实现測量对话框

    OpenLayers学习最好的方式就是跟着其自带的演示样例进行学习,另外对web前端的开发设计要了解,慢慢积累,这样在一般的小项目中应该是足够用了. 本篇參照量測demo实现对话框形式的量測,抛砖引玉 ...

  7. Cocos2d-x发展---更改父的颜色、透明度的子节点上

    标题手段:当我们改变父节点或透明时的颜色.默认是不会影响孩子的节点. 作为交换组看到朋友说可以通过设置相关的参数变化的子节点来实现属性的效果,看了看源代码,记录下来:        引擎版本号为:2. ...

  8. Codeforces Round #253 DIV1 C 馋

    http://codeforces.com/contest/442/problem/C 题意非常easy,基本上肯定有坑坑洼洼的样子.看题目案例,从第三个跟第二个没有凹的案例来看的话,多写几个以及多画 ...

  9. How to debug with IntelliJ IDEA + Grails 2.3.x (转)

    问题: 最近访问grails.org,看到grails framework已经发展到2.3.x了,不免想尝尝鲜.下载了最新的grails-2.3.x之后,创建了一个新的grails app. 添加Bo ...

  10. notepad扩展搜索,正则搜索

    Dos和windows采用回车+换行CR/LF表示下一行, 0d 0a 两个字节表示而UNIX/Linux采用’\n’换行符LF表示下一行(ASCII代码是10),0a一个字节表示MAC OS系统则采 ...