热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

Chapter1SecuringYourServerandNetwork(1):选择SQLServer运行账

原文出处:blog.csdn.netdba_huangzjarticledetails37924127,专题目录:blog.csdn.netdba_huangzjarticledetails37906349未经作者同意,任何人不得以原创形式发布,也不得已用于商业用途,本人不负责任何法律责任。前言:SQLServ

原文出处:http://blog.csdn.net/dba_huangzj/article/details/37924127 ,专题目录:http://blog.csdn.net/dba_huangzj/article/details/37906349 未经作者同意,任何人不得以原创形式发布,也不得已用于商业用途,本人不负责任何法律责任。 前言: SQL Serv

原文出处:http://blog.csdn.net/dba_huangzj/article/details/37924127 ,专题目录:http://blog.csdn.net/dba_huangzj/article/details/37906349

未经作者同意,任何人不得以“原创”形式发布,也不得已用于商业用途,本人不负责任何法律责任。

前言:

SQL Server是一个Windows 服务,以某个Windows用户或系统用户权限运行在Windows操作系统上。选择合适的帐号运行SQL Server是非常重要的,本系列文章只关注安全性方面。

选择合适的帐号之所以非常重要,其中一个原因是如果权限不恰当,用户(客户端)可以通过SQL Server对Windows OS或其他资源进行非预期使用。

实现:

首次选择帐号发生在安装过程中,但是在安装过后可以更改,如何安装SQL Server超出本文范围,所以这里跳过安装过程中选择帐号部分。在安装完毕之后,可以根据下面步骤实现。

实现步骤:

1. 在命令行输入:services.msc 打开服务管理器。找到SQL Server服务,如图:

image

image

image

3. 打开SQL Server 配置管理器,找到SQL Server对应实例名的选项,本人机上有两个实例,一个是2008R2,一个是2012,2012为命名实例,所以选择SQL Server(SQL2012)这个服务,并右键选择【属性】,如图:

image

4. 打开【属性】页之后,选择【登录】页,如图:

image

5. 选择【内置帐户】,下拉框中有三种可选项,后续部分将介绍这些帐号:

image

6. 当修改了帐号之后,点击【确定】按钮,会提示需要重启SQL Server服务,点击【是】,然后重启服务,由于修改运行帐号必须重启服务,所以如果在正式环境下,需要谨慎,并且计划性地修改。

image

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 系统帐号,在网络中显示为(\)形式,如果机器存在于域环境中,可以对这类帐号授予访问网络资源的权限。 Network Service:这个帐号相对于Local System而言,有很多本机权限限制,但是可以和Local System一样访问网络资源。

你可以选择一个已经创建的Windows或域帐号,以全名形式((\)作为运行帐号,但是要确保这个帐号没有受到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】(中文为【信任计算机和用户帐户可以执行委派】):

image

2.添加所需帐号,如图:

image

如果使用WIndows Server Core版本,由于没有GUI可以修改,也有可能你不能直接登录目标服务器用GUI操作(非core版本)时,可以在另外一些机器上实现配置:

步骤:

1. 打开计算机管理器(compmgmt.msc)右键根目录,选择【连接到另一台计算机】,输入服务器地址,如图:

image

image

成功连接之后会变成下图,注意【计算机管理(本地)】 已经变成了【计算机管理(SQL-A)】:

image

2.在【服务和应用程序】节点可以找到SQL Server配置管理器,然后就可以进行前面所说的配置了。

image

创建域用户作为服务帐号:

如果在域环境下,可以在活动目录服务器(Active Directory Server)上通过【Active Directory 管理中心】(Active Directory Administrative Center)上的【Active Directory 用户和计算机】(Active Directory Users and Computers )工具添加用户到域环境的机器上。如图:

image

在创建时,用户选项只勾选下图即可,除非特殊需要,否则不建议勾选【用户下次登录须更改密码】:

image

如果希望用于服务帐号的密码超时,建议使用Windows Server 2008出现的【托管服务帐号】(managed service accounts),这部分在后续文章介绍。

扩展阅读:

配置 Windows 服务帐户和权限(http://msdn.microsoft.com/zh-cn/library/ms143504.aspx


推荐阅读
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 本文详细介绍了IBM DB2数据库在大型应用系统中的应用,强调其卓越的可扩展性和多环境支持能力。文章深入分析了DB2在数据利用性、完整性、安全性和恢复性方面的优势,并提供了优化建议以提升其在不同规模应用程序中的表现。 ... [详细]
  • 优化联通光猫DNS服务器设置
    本文详细介绍了如何为联通光猫配置DNS服务器地址,以提高网络解析效率和访问体验。通过智能线路解析功能,域名解析可以根据访问者的IP来源和类型进行差异化处理,从而实现更优的网络性能。 ... [详细]
  • Windows服务与数据库交互问题解析
    本文探讨了在Windows 10(64位)环境下开发的Windows服务,旨在定期向本地MS SQL Server (v.11)插入记录。尽管服务已成功安装并运行,但记录并未正确插入。我们将详细分析可能的原因及解决方案。 ... [详细]
  • 深入理解 SQL 视图、存储过程与事务
    本文详细介绍了SQL中的视图、存储过程和事务的概念及应用。视图为用户提供了一种灵活的数据查询方式,存储过程则封装了复杂的SQL逻辑,而事务确保了数据库操作的完整性和一致性。 ... [详细]
  • 如何配置Unturned服务器及其消息设置
    本文详细介绍了Unturned服务器的配置方法和消息设置技巧,帮助用户了解并优化服务器管理。同时,提供了关于云服务资源操作记录、远程登录设置以及文件传输的相关补充信息。 ... [详细]
  • Docker的安全基准
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 深入理解OAuth认证机制
    本文介绍了OAuth认证协议的核心概念及其工作原理。OAuth是一种开放标准,旨在为第三方应用提供安全的用户资源访问授权,同时确保用户的账户信息(如用户名和密码)不会暴露给第三方。 ... [详细]
  • 本文详细分析了JSP(JavaServer Pages)技术的主要优点和缺点,帮助开发者更好地理解其适用场景及潜在挑战。JSP作为一种服务器端技术,广泛应用于Web开发中。 ... [详细]
  • Valve 发布 Steam Deck 的新版 Windows 驱动程序
    Valve 最新发布了针对 Steam Deck 掌机的 Windows 驱动程序,旨在提升其在 Windows 环境下的兼容性、安全性和性能表现。 ... [详细]
  • 在计算机技术的学习道路上,51CTO学院以其专业性和专注度给我留下了深刻印象。从2012年接触计算机到2014年开始系统学习网络技术和安全领域,51CTO学院始终是我信赖的学习平台。 ... [详细]
  • 深入理解Cookie与Session会话管理
    本文详细介绍了如何通过HTTP响应和请求处理浏览器的Cookie信息,以及如何创建、设置和管理Cookie。同时探讨了会话跟踪技术中的Session机制,解释其原理及应用场景。 ... [详细]
  • 优化版Windows 10 LTSC 21H2企业版:适用于低内存设备
    此版本为经过优化的Windows 10 LTSC 21H2企业版,特别适合低内存配置的计算机。它基于官方版本进行了精简和性能优化,确保在资源有限的情况下依然能够稳定运行。 ... [详细]
  • 使用C#开发SQL Server存储过程的指南
    本文介绍如何利用C#在SQL Server中创建存储过程,涵盖背景、步骤和应用场景,旨在帮助开发者更好地理解和应用这一技术。 ... [详细]
  • 本文详细介绍了Java编程语言中的核心概念和常见面试问题,包括集合类、数据结构、线程处理、Java虚拟机(JVM)、HTTP协议以及Git操作等方面的内容。通过深入分析每个主题,帮助读者更好地理解Java的关键特性和最佳实践。 ... [详细]
author-avatar
勇于明天2015
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有