Chapter 1 Securing Your Server and Network(2):管理服务的SIDs

本文涉及的产品
云数据库 RDS SQL Server,独享型 2核4GB
简介: 原文: Chapter 1 Securing Your Server and Network(2):管理服务的SIDs 原文出处:http://blog.csdn.net/dba_huangzj/article/details/37927319 ,专题目录:http://blog.csdn.net/dba_huangzj/article/details/37906349 未经作者同意,任何人不得以“原创”形式发布,也不得已用于商业用途,本人不负责任何法律责任。
原文: Chapter 1 Securing Your Server and Network(2):管理服务的SIDs

原文出处: 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


image

 

默认实例:

image


针对上面的结果,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

相关实践学习
使用SQL语句管理索引
本次实验主要介绍如何在RDS-SQLServer数据库中,使用SQL语句管理索引。
SQL Server on Linux入门教程
SQL Server数据库一直只提供Windows下的版本。2016年微软宣布推出可运行在Linux系统下的SQL Server数据库,该版本目前还是早期预览版本。本课程主要介绍SQLServer On Linux的基本知识。 相关的阿里云产品:云数据库RDS&nbsp;SQL Server版 RDS SQL Server不仅拥有高可用架构和任意时间点的数据恢复功能,强力支撑各种企业应用,同时也包含了微软的License费用,减少额外支出。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/sqlserver
目录
相关文章
|
安全 网络协议 应用服务中间件
Setting Up a Server Cluster for Enterprise Web Apps – Part 3
In this three-part tutorial, we will discover how to set up a server cluster using Alibaba Cloud ECS and WordPress.
4548 0
Setting Up a Server Cluster for Enterprise Web Apps – Part 3
|
前端开发 应用服务中间件 网络安全
Setting up a Server Cluster for Enterprise Web Apps – Part 2
In this three-part tutorial, we will discover how to set up a server cluster using Alibaba Cloud ECS and WordPress.
1812 0
Setting up a Server Cluster for Enterprise Web Apps – Part 2
|
前端开发 网络协议 MySQL
Setting Up a Server Cluster for Enterprise Web Apps – Part 1
In this three-part tutorial, we will discover how to set up a server cluster using Alibaba Cloud ECS and WordPress.
12038 0
Setting Up a Server Cluster for Enterprise Web Apps – Part 1