设置MSSQL服务使用非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 Files\Microsoft SQL Server\
mssqlusr
读取和运行
列出文件夹目录
读取
C:\Program Files\Microsoft SQL Server\MSSQL\Data\
(如果此目录用来放置mssql用户数据库或备份)
mssqlusr
修改
读取和运行
列出文件夹目录
读取
写入
其他磁盘相关权限
(假设用户的数据库开设在D:\hosting\mssqldb)
D:\
(如果此分区用来放置mssql用户数据库或备份)
mssqlusr(只有该文件夹)
遍历文件夹/运行文件
列出文件夹/读取数据
读取属性
读取扩展属性
D:\hosting\mssqldb\
(如果此目录用来放置mssql用户数据库或备份)
mssqlusr
修改
读取和运行
列出文件夹目录
读取
写入
备份相关设置
(假设管理员将数据库备份在E:\backup\mssqldb)
E:\
(如果此分区用来放置mssql用户数据库或备份)
mssqlusr(只有该文件夹)
遍历文件夹/运行文件
列出文件夹/读取数据
读取属性
读取扩展属性
E:\backup\mssqldb\
(如果此目录用来放置mssql用户数据库或备份)
mssqlusr
修改
读取和运行
列出文件夹目录
读取
写入
- 最新评论