原文出处: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. 【UVA】10012 - How Big Is It?(暴力)

    使用DFS枚举所有的安排.每次加入后,当一个圆.他的立场是最大的,并已加入了圆环中的所有切线位置前面. 14383635 10012 option=com_onlinejudge&Itemid ...

  2. Java面向对象基础二

    1.对象的用法 2.多对象的创建方法 3.匿名对象的创建和用法

  3. Extjs4 RowEditing 的使用和更新方法

    如何灵活快速的掌握RowEditing组件的应用,应大家的要求,今天给大家具体讲下该组件的使用. 1.创建 var rowEditing = Ext.create('Ext.grid.plugin.R ...

  4. Codeforces 196 C. Paint Tree

    分治.选最左上的点分给根.剩下的极角排序后递归 C. Paint Tree time limit per test 2 seconds memory limit per test 256 megaby ...

  5. 蓝缘管理系统第二个版本号开源了。springMVC+springSecurity3.x+Mybaits3.x 系统

    蓝缘管理系统第二个版本号开源了 继于 http://blog.csdn.net/mmm333zzz/article/details/16863543 版本号一.版本号二 对springMVC+spri ...

  6. Android使用应用程序资源(、颜色数组、尺寸、弦、布尔、整型)

    一.Android资源分类详细解释   1.Android资源类别 Android中的资源分为两大类 : 可直接訪问的资源, 无法直接訪问的原生资源; -- 直接訪问资源 : 这些资源能够使用 R. ...

  7. java中线程机制

    java中线程机制,一开始我们都用的单线程.现在接触到多线程了. 多线性首先要解决的问题是:创建线程,怎么创建线程的问题: 1.线程的创建: 四种常用的实现方法 1.继承Thread. Thread是 ...

  8. c++自带倒置数组函数

    #include<stdio.h> #include <vector> #include <queue> #include<algorithm> usi ...

  9. C#之再议数组和集合

    1.数组 1.1简单数组 1.2 多维数组 1.3锯齿数组 1.4Array数组 1.5作为参数的数组 1.6枚举 1.7结构 以上部分可参考 http://www.cnblogs.com/ztb12 ...

  10. Windows Phone开发(41):漫谈关键帧动画之下篇

    原文:Windows Phone开发(41):漫谈关键帧动画之下篇 也许大家已经发现,其实不管什么类型的动画,使用方法基本是一样的,不知道大家总结出规律了没有?当你找到规律之后,你会发现真的可以举一反 ...