SQL Server 安全篇——服务帐号安全性(1)——服务帐号类型

186 篇文章 6 订阅
65 篇文章 0 订阅

本文属于SQL Server安全专题系列


 服务帐号本质是一个操作系统帐号,每个SQL Server服务都需要配置一个服务帐号,并使用这个帐号来运行服务。本篇将介绍关于服务帐号的一些安全方面的内容。


类型:


 截至到SQL 2016,SQL Server支持下面类型的帐号作为服务帐号:
  • Local User:创建在本机的Windows帐号。
  • Domain User:域用户。
  • Built-in accounts:包括NETWORK SERVICE、LOCAL SERVICE和LOCAL SYSTEM这三类在Windows中总是可用的帐号
  • Managed Service Accounts(MSAs):
  • Virtual Accounts:从Windows 2008R2和Win7开始引入,在本地服务器创建,但是可以使用计算机帐号的证书访问域资源。

Virtual Accounts:
   过去,管理员通常在本地服务帐号(LOCAL SERVICE)的上下文中运行服务 (如 SQL Server、Exchange 或 IIS) 的环境中的服务之间的隔离。虚拟帐号的出现就是为了进行一种“隔离”,以便减少特权帐号的过度使用,基于这种隔离,虚拟帐号还可以用于“托管(Managed)”。意味着管理员不需要注册SPN(服务主体名)和不需要管理密码。而由Windows环境自动管理。
 默认情况下,虚拟帐号是本地的,不能用于多服务器,意味着这类帐号不适合用于AlwaysOn或者Cluster。如果在Win 7或者Windows 2008 R2及以上版本中独立安装SQL Server,那么下面的服务默认使用虚拟帐号:
  • 数据库引擎
  • SQL Agent
  • SSAS
  • SSIS
  • SSRS
  • SQL Server Distributed Relay Controller
  • SQL Server Distributed Relay Client
  • Full-Text Daemon Launcher Service(FD Launcher)
 在集群环境下的SQL 实例,SSIS、SSRS和FD  Launcher还是使用虚拟账号,因为这些对集群不敏感并且常规是安装在每个单独节点中。

Managed Service Accounts:

 简称MSAs,也叫托管帐号。类似虚拟帐号,不需要手动配置SPN或者管理密码。两者的区别在于MSAs是域级别的帐号而虚拟帐号是本地帐号。由于MSAs是基于域的,所以可以用于必须进行网络层资源。但是即使这样,MSA依旧仅指定给网络中的单台机器。意味着MSAs依旧不能用于集群。 
 为了减缓这种限制,从Windows 2012 R2开始引入了gMSAs(组托管帐号),跟MSAs一样,但是可以运行在多台服务器,用于解决集群限制。
 如果计划使用MSA或者gMSA,那么帐号必须在安装SQL Server之前先在域控制器中创建好。

下面脚本可以用于查询SQL Server服务帐号

--查询SQL Server服务帐号(SQL 2008 R2 SP1)
SELECT  DSS.servicename,
        DSS.startup_type_desc,
        DSS.status_desc,
        DSS.last_startup_time,
        DSS.service_account,
        DSS.is_clustered,
        DSS.cluster_nodename,
        DSS.filename,
        DSS.startup_type,
        DSS.status,
        DSS.process_id
FROM    sys.dm_server_services AS DSS;
当需要 SQL Server 计算机外部的资源时, Microsoft 建议使用配置了必需的最小特权的托管服务帐户 (MSA)。

对于SQL Server配置管理器中的帐号选择,可能名字会不一样,这里列出了对应的名字:
Local Service:NT AUTHORITY\LOCAL SERVICE,注意这是共享服务的帐号,SQL 引擎及SQL 代理不支持它作为启动帐号。
Network Service:NT AUTHORITY\NETWORK SERVICE
Local System:NT AUTHORITY\SYSTEM
Admin Group:BUILTIN\Administrators



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值