如何设置MS SQL服务使用非SYSTEM身份运行
Posted sfqas
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何设置MS SQL服务使用非SYSTEM身份运行相关的知识,希望对你有一定的参考价值。
问题
如何设置MS SQL服务使用非SYSTEM身份运行
解决方案
*注意:本文的内容涉及到修改NTFS磁盘权限和设置安全策略,请务
必在确认您了解操作可能的后果之后再动手进行任何的修改。
文中提及的权限都是在原有权限上附加的权限。
[背景]
默认安装的情况下,MS SQL服务在安装时,服务启动账户会被设置成
“系统帐户”(SYSTEM)或者一个指定的帐户。如果设置成系统账户,
由于此帐户代表系统本身,则在MS SQL有缺陷的情况下,恶意用户或
入侵者可以利用这些缺陷,以系统本身的权限对系统终的资源进行操
作。如果设置使用管理员组的账户运行MS SQL服务,也会发生同样的
问题。彻底解决问题的办法就是降低MS SQL运行者的系统权限,保证
即便MS SQL被攻破,入侵者也无法威胁系统的安全。本文主要描述在
降低MS SQL运行者权限后,需要设置哪些权限以保证MS SQL本身的正
常运行。
[修改步骤]
1.创建用户
创建一个名为mssqlusr的用户,设置一个随机密码,密码的长度最好
不要少于20位。
2.设置用户的身份
将mssqlusr用户加入Guests组,并去掉其它任何的组。
3.设置用户的组策略权力
在控制面板→管理工具→本地安全策略中,找到本地策略→用户权力
指派,在其中确认如下的两个权限:
拒绝本地登录:其中应当包含Guests组
作为服务登录:其中应当包含mssqlusr用户
4.修改相关的磁盘权限
C:盘相关权限
C:
mssqlusr(只有该文件夹)
遍历文件夹/运行文件
列出文件夹/读取数据
读取属性
读取扩展属性
*注:上述权限需要到权限页中的高级设置中设定
C:Program FilesMicrosoft SQL Server
mssqlusr
读取和运行
列出文件夹目录
读取
C:Program FilesMicrosoft SQL ServerMSSQLData
(如果此目录用来放置mssql用户数据库或备份)
mssqlusr
修改
读取和运行
列出文件夹目录
读取
写入
其他磁盘相关权限
(假设用户的数据库开设在D:hostingmssqldb)
D:
(如果此分区用来放置mssql用户数据库或备份)
mssqlusr(只有该文件夹)
遍历文件夹/运行文件
列出文件夹/读取数据
读取属性
读取扩展属性
D:hostingmssqldb
(如果此目录用来放置mssql用户数据库或备份)
mssqlusr
修改
读取和运行
列出文件夹目录
读取
写入
备份相关设置
(假设管理员将数据库备份在E:ackupmssqldb)
E:
(如果此分区用来放置mssql用户数据库或备份)
mssqlusr(只有该文件夹)
遍历文件夹/运行文件
列出文件夹/读取数据
读取属性
读取扩展属性
E:ackupmssqldb
(如果此目录用来放置mssql用户数据库或备份)
mssqlusr
修改
读取和运行
列出文件夹目录
读取
写入
<完>
以上是关于如何设置MS SQL服务使用非SYSTEM身份运行的主要内容,如果未能解决你的问题,请参考以下文章
MS SQL 作业在具有 Windows 身份验证的链接服务器上运行存储过程
如何使用 powershell 设置 IIS 的表单身份验证(system.web/authentication)的 overrideMode?
如何让 ms-access 以其他用户身份连接到 ms-sql?
C# 使用 System.DirectoryServices.Protocols 针对 MS Active Directory 服务器验证用户