Chapter 1 Securing Your Server and Network(1):选择SQL Server运行账号
原文:Chapter 1 Securing Your Server and Network(1):选择SQL Server运行账号
未经作者同意,任何人不得以“原创”形式发布,也不得已用于商业用途,本人不负责任何法律责任。
前言:
SQL Server是一个Windows 服务,以某个Windows用户或系统用户权限运行在Windows操作系统上。选择合适的帐号运行SQL Server是非常重要的,本系列文章只关注安全性方面。
选择合适的帐号之所以非常重要,其中一个原因是如果权限不恰当,用户(客户端)可以通过SQL Server对Windows OS或其他资源进行非预期使用。
实现:
首次选择帐号发生在安装过程中,但是在安装过后可以更改,如何安装SQL Server超出本文范围,所以这里跳过安装过程中选择帐号部分。在安装完毕之后,可以根据下面步骤实现。
实现步骤:
1. 在命令行输入:services.msc 打开服务管理器。找到SQL Server服务,如图:
2. 右键这个服务,选择【属性】,并查看当前运行帐号 :
3. 打开SQL Server 配置管理器,找到SQL Server对应实例名的选项,本人机上有两个实例,一个是2008R2,一个是2012,2012为命名实例,所以选择SQL Server(SQL2012)这个服务,并右键选择【属性】,如图:
4. 打开【属性】页之后,选择【登录】页,如图:
5. 选择【内置帐户】,下拉框中有三种可选项,后续部分将介绍这些帐号:
6. 当修改了帐号之后,点击【确定】按钮,会提示需要重启SQL Server服务,点击【是】,然后重启服务,由于修改运行帐号必须重启服务,所以如果在正式环境下,需要谨慎,并且计划性地修改。
7. 至此,我们演示了如何修改SQL Server的运行帐号。接下来将介绍一些原理及注意事项。
原理:
SQL Server服务继承了底层操作系统(即Windows OS)上Windows帐号的权限。它并不一定需要有所在机器上的管理员权限。只需要有对数据文件/事务日志文件、错误日志文件、备份文件所在目录的权限和少量系统权限即可。
如果在安装SQL Server之后修改服务帐号,强烈建议使用SQL Server配置管理器实现,而不要用Windows 服务控制管理器,因为后者并不能很好地进行权限管控。
在Windows Server 2008 R2中,在安装SQL Server过程中默认使用虚拟帐号(Virtual Account,将在后续文章介绍)作为启动帐号。如果在步骤5中选择了【内置帐号】,不需要提供密码,这些密码由操作系统管理和预设。下面简要介绍一下步骤5中的两类帐号:
- Local System:这是一个拥有所在计算机上管理员权限的Windows 系统帐号,在网络中显示为(<Domain>\<Machine>)形式,如果机器存在于域环境中,可以对这类帐号授予访问网络资源的权限。
- Network Service:这个帐号相对于Local System而言,有很多本机权限限制,但是可以和Local System一样访问网络资源。
你可以选择一个已经创建的Windows或域帐号,以全名形式((<Domain>\<Account>)作为运行帐号,但是要确保这个帐号没有受到WIndows上的“密码过期策略”影响,否者可能在系统运行了一段时间之后由于密码过期而导致整个SQL Server服务停止。
作为实践,建议使用实际Windows 帐号替代内置帐号,因为内置帐号被多种服务所共享,权限管控不如实际WIndows 帐号。比如攻击者可以使用管理员权限登录SQL Server,并用xp_cmdshell等外部存储过程进行操作系统级别的攻击。使用实际Windows帐号能减少这种情况的发生机会。
更多信息:
要允许一个Windows帐号能用于运行一个服务(不是所有帐号都能运行服务),需要授予【Log on as a service right】(中文为【信任计算机和用户帐户可以执行委派】)权限,步骤如下:
1. 在本机上,打开管理工具,并选择【Local Security Policy】,中文为【本地安全策略】,Win8 系统可以控制面板→【系统和安全】中找到【Log on as a service right】(中文为【信任计算机和用户帐户可以执行委派】):
2.添加所需帐号,如图:
如果使用WIndows Server Core版本,由于没有GUI可以修改,也有可能你不能直接登录目标服务器用GUI操作(非core版本)时,可以在另外一些机器上实现配置:
步骤:
1. 打开计算机管理器(compmgmt.msc)右键根目录,选择【连接到另一台计算机】,输入服务器地址,如图:
成功连接之后会变成下图,注意【计算机管理(本地)】 已经变成了【计算机管理(SQL-A)】:
2.在【服务和应用程序】节点可以找到SQL Server配置管理器,然后就可以进行前面所说的配置了。
创建域用户作为服务帐号:
如果在域环境下,可以在活动目录服务器(Active Directory Server)上通过【Active Directory 管理中心】(Active Directory Administrative Center)上的【Active Directory 用户和计算机】(Active Directory Users and Computers )工具添加用户到域环境的机器上。如图:
在创建时,用户选项只勾选下图即可,除非特殊需要,否则不建议勾选【用户下次登录须更改密码】:
如果希望用于服务帐号的密码超时,建议使用Windows Server 2008出现的【托管服务帐号】(managed service accounts),这部分在后续文章介绍。
扩展阅读:
配置 Windows 服务帐户和权限(http://msdn.microsoft.com/zh-cn/library/ms143504.aspx)
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_huangzj/article/details/37924127 ,专题文件夹:http://blog.csdn.net/dba_huang ...
- 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 ...
- 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 ...
- Chapter 1 Securing Your Server and Network(6):为SQL Server訪问配置防火墙
原文出处:http://blog.csdn.net/dba_huangzj/article/details/38082123,专题文件夹:http://blog.csdn.net/dba_huangz ...
- Chapter 1 Securing Your Server and Network(12):保护链接server
原文出处:http://blog.csdn.net/dba_huangzj/article/details/38438363.专题文件夹:http://blog.csdn.net/dba_huangz ...
- SQL Server扫盲系列——安全性专题——SQL Server 2012 Security Cookbook
由于工作需要,最近研究这本书:<Microsoft SQL Server 2012 Security Cookbook>,为了总结及分享给有需要的人,所以把译文公布.预计每周最少3篇.如有 ...
- SQL Server on Linux: How? Introduction: SQL Server Blog
SQL Server Blog Official News from Microsoft’s Information Platform https://blogs.technet.microsoft. ...
- SQL SERVER 2012/2014 链接到 SQL SERVER 2000的各种坑
本文总结一下SQL SERVER 2012/2014链接到SQL SERVER 2000的各种坑,都是在实际应用中遇到的疑难杂症.可能会有人说怎么还在用SQL SERVER 2000,为什么不升级呢? ...
- 在Windows Server 2012 R2中搭建SQL Server 2012故障转移集群
需要说明的是我们搭建的SQL Server故障转移集群(SQL Server Failover Cluster)是可用性集群,而不是负载均衡集群,其目的是为了保证服务的连续性和可用性,而不是为了提高服 ...
随机推荐
- Knockout应用开发指南 第三章:绑定语法(3)
原文:Knockout应用开发指南 第三章:绑定语法(3) 12 value 绑定 目的 value绑定是关联DOM元素的值到view model的属性上.主要是用在表单控件<input&g ...
- Java重写方法与初始化的隐患(转)
原文出处: Shawon 虽然文章标题是Java, 但几乎所有面向对象设计的语言都遵守这个初始化流程, 感谢廖祜秋liaohuqiu_秋百万指出, 之前忘记提这个了. 前言 drakeet写了个和Re ...
- TCP closing a connection
client closes socket: clientSocket.close(); step1 :client sends TCP FIN control segment to server st ...
- ubuntu14.04中 gedit 凝视能显示中文,而source insight中显示为乱码的解决的方法
1.乱码显示情况: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcjc3NjgzOTYy/font/5a6L5L2T/fontsize/400/fill/ ...
- MAC地址格式小结
之前一段时间在做网卡驱动的工作,如今产品量产,利用ifconfig eth hw ether在配置mac地址时发现一个问题, 随机配置一个mac地址,发现有的会报出Cannot assign requ ...
- 努比亚 Z5 mini刷机包 omni4.4.2改动V4.0 自用版 精简 MIUI特效
ROM介绍: 第一版: 1.基于lwang适配的omni4.4.2第二版改动,少量精简改动 2.设置加入"自启项管理",体验更快.更顺滑 3.替换特效为XUI特效 4.改动host ...
- STM32W108无线传感器网络嵌入式uCOS-II的移植及实时环境监測
基于STM32W108无线开发板,将ucos-ii v2.86内核移植到其上,并加入用户任务.实现对温湿度.超声波.声音.光敏等传感器的控制及实时数据採集. 14.1开发环境说明 硬件:STM32W1 ...
- Android正在使用Handler实现信息发布机制(一)
上一篇文章,我们谈到了电话Handler的sendMessage方法,最后,我们将进入一个电话 sendMessageAtTime方法,例如下列: public boolean sendMessage ...
- Ubuntu下超实用的命令
1. Ubuntu中查看已安装软件包的方法 sudodpkg -l 2. ubuntu系统如何查看软件安装的位置 dpkg-L软件名 实例: wwx@ubuntu:~$dpkg -L mysql-se ...
- 深挖BAT内部级别和薪资待遇,你敢看?(转)
一. 阿里内部级别和薪资待遇 先看个例子,或许你也曾像他一样纠结 BAT 的 offer: 最近刚通过阿里面试,但基本薪酬也是不升反小降. 级别只有 P6+,连 P7 都没有,非常郁闷,打算拒绝算了. ...