免责声明:我不是 DBA。我是一名数据库开发人员。
一位 DBA 刚刚向我们的数据管理员发送了一份报告,并计划从一组服务器上的 sysadmin 角色中删除 NT AUTHORITY\SYSTEM 帐户。(可能违反了他们收到的一些审计报告)。
我看到一篇MSKB 文章说不要这样做。
从我在网上阅读各种不同的信息可以看出,即使 SQL Server 和代理服务等都在运行,一堆特殊的服务/操作(卷复制、全文索引、MOM、Windows 更新)也会使用这个帐户在专用账户下。
免责声明:我不是 DBA。我是一名数据库开发人员。
一位 DBA 刚刚向我们的数据管理员发送了一份报告,并计划从一组服务器上的 sysadmin 角色中删除 NT AUTHORITY\SYSTEM 帐户。(可能违反了他们收到的一些审计报告)。
我看到一篇MSKB 文章说不要这样做。
从我在网上阅读各种不同的信息可以看出,即使 SQL Server 和代理服务等都在运行,一堆特殊的服务/操作(卷复制、全文索引、MOM、Windows 更新)也会使用这个帐户在专用账户下。
如果你们有一个变更管理流程,那就挑战一下吧。确保他们知道(他们确实应该知道)并确认这不会影响任何服务。
如果您没有变更管理流程来挑战这一点,那么我至少会把它带给他们。希望您的开发人员和您工作的管理员之间建立友好的关系,并且您将能够互相学习。他们可能知道风险,可能会向您解释他们这样做的原因并向您展示他们如何以安全的方式进行操作。
这些人是否被问过为什么要删除它,以及他们是否了解系统帐户的目的是什么?我同意您对这里涉及的审计报告的猜测,并且我还猜测该报告只是列出了哪些帐户有权做什么,并且 DBA 通过删除他们不认识的任何帐户来盲目地遵循它。
基本上,系统帐户用于授予操作系统本身执行操作的权限。它不是一般用户帐户,不应真正被视为此类帐户。
如果 DBA 决定删除它,也许可以尝试建议他们首先在测试系统上这样做(最好是一个日常使用活跃的系统),给它一个月的时间看看是否有任何事情发生,然后做出最终决定.
你没有说哪个版本,这是关键。如果您说的是 SQL Server 2000 并且已安装全文,则不,您无法将其删除。原因是如果全文不在本地系统帐户下运行,它可能会引发访问冲突并崩溃。并且帐户全文运行下需要对 SQL Server 的系统管理员访问权限。所以你去。
从 SQL Server 2005 及更高版本开始,这取决于您将服务配置为在哪些帐户下运行。这是在线图书页面,其中包含有关服务帐户的信息。一般来说,本地或域帐户优于主要服务的任何内置帐户,从而减轻了这种担忧。
设置 WINdows 服务帐户(SQL Server 2005 联机丛书)
您没有提到的另一件事是 BUILTIN\Administrators 是否已从 sysadmin 固定服务器角色中删除。如果不是,则 System 仍然具有 sysadmin 访问权限,因为它被视为该本地安全组的成员。
他们这样做的唯一合法原因(您的 MS 文章也证实了这一点)是试图阻止运行 SQL 的服务器的管理员对数据库进行管理员访问。他们将遇到的问题是,任何确定的操作系统管理员都可以返回并重新添加他们的权限,因为他们拥有对服务器的完全访问权限。听起来他们想要做的事情不应该对数据库上的任何东西产生负面影响(除非某些东西被设置为使用本地管理员的 AD 帐户并且没有设置特定的数据库权限),但这绝对是他们应该首先测试的东西mh建议。
如果您当前通过成为操作系统的本地管理员对数据库具有管理员访问权限,我建议您创建一个 SQL 用户(或获取另一个 AD 用户帐户),如果可能的话,该用户具有系统管理员访问权限。如果他们进行此更改,这将确保您仍然可以访问。
如果 NT AUTHORITY\SYSTEM 帐户在 SQL Server 中具有 SysAdmin 角色,这意味着在 LocalSystem 下运行的任何 Windows 服务或计划任务都可以访问您的 SQL Server。这真的是你想要的……??!
添加到 K.Brian Kelley 的答案中,从 SQL 2012 开始,默认情况下不再为 [NT AUTHORITY\SYSTEM] 和 [BUILTIN\administrators] 提供 sysadmin。
来源: https ://social.msdn.microsoft.com/Forums/sqlserver/en-US/94ff47eb-a0e0-4441-9799-b56b5ce3712b/sql-server-2012-ntauthoritysystem-sysadmin-is-not-checked-by-默认?forum=sqlsecurity