【问题标题】:Should NT AUTHORITY\System be granted the sysadmin role?NT AUTHORITY\System 是否应该被授予系统管理员角色?
【发布时间】:2017-07-26 09:10:46
【问题描述】:

我似乎找不到这个问题的明确答案。

问题:我正在使用 Octopus Deploy 运行一个可执行文件,该可执行文件将运行我的数据库迁移脚本。当 Octopus“Tentacle”Windows 服务以localsystem 运行时发生错误,该服务转换为NT AUTHORITY\System

一种解决方案是更改 SQL 服务器安全设置并向 NT AUTHORITY\System 用户授予适当的角色,从而允许以 localsystem 用户身份运行的进程创建数据库。

进行此更改会带来哪些安全隐患?这将允许以localsystem 运行的任何进程对数据库执行操作,但鉴于我控制安装到服务器上的内容,这是一件坏事吗?

似乎在 SQL Server 2012 左右进行了更改,其中 localsystem 帐户以前默认为 sysadmin,但现在已更改。我看到的一件事是,此更改会阻止服务器管理员访问服务器,但鉴于您无论如何都无法以 localsystem 登录,因此我看不出这是怎么可能的。

我错过了什么?

参考资料:

https://support.microsoft.com/en-us/help/932881/how-to-make-unwanted-access-to-sql-server-2005-by-an-operating-system

https://dba.stackexchange.com/questions/142166/grant-sysadmin-permissions-to-nt-authority-system

https://serverfault.com/questions/130958/implications-and-benefits-of-removing-nt-authority-system-from-sysadmin-role

【问题讨论】:

  • 我会创建一个用于您的服务的特定帐户,并且只向该用户授予最低权限。根据this运行向导的用户必须在您的 SQL Server 上具有创建数据库和授予权限的权限

标签: sql-server octopus-deploy


【解决方案1】:

我回答这个:

我看到的一件事是,此更改阻止了服务器管理员 可以访问服务器,但我看不出这是怎么可能的 无论如何您都无法以本地系统身份登录。

本地 Windows 管理员无论如何都可以访问服务器,在单用户模式下启动 SQL Server,他将完全控制它:Connect to SQL Server When System Administrators Are Locked Out

但这需要重启服务器。

以系统管理员身份访问服务器而无需重新启动的另一个选项是使用PsExec (-s):您甚至可以通过 SSMS 以本地系统身份登录。如果此登录名是系统管理员,则您可以完全控制服务器

【讨论】:

    【解决方案2】:

    如果有人能够破坏您的 Octopus Deploy 实例,SA 角色提供了足够的访问权限来删除您服务器上的每个数据库。

    我想创建初始数据库是一个蓝月亮事件。更安全的选择是手动创建数据库并授予 NT 权威最少的权限来运行迁移脚本。

    我们采用这种方法并从 SA 到 db_owner 再到自定义角色

    [db_datareader]
    [db_datawriter]
    [db_ddladmin]
    

    【讨论】:

      【解决方案3】:

      NT AUTHORITY\SYSTEM 帐户过去默认为 sysadmin,但现在不再是因为它被视为“共享”帐户。这并不是一个巨大的安全问题,而是当出现问题时需要指责某人时,这是不可能的,因为使用 SYSTEM 允许“匿名”执行操作。这就是为什么不再推荐 SYSTEM 作为系统管理员的原因。

      "任何对服务器有足够访问权限的用户都可以执行以下任务: 将使用任务调度程序以 NT AUTHORITY\SYSTEM 身份运行,或者 其他工具。此时,NT AUTHORITY\SYSTEM 本质上变成了一个 由于操作系统和 SQL Server 无法共享帐户 以确定谁创建了该流程。在 SQL Server 2012 之前,NT 默认情况下,AUTHORITY\SYSTEM 是 sysadmin 角色的成员。这 允许在未经批准的情况下在 SQL Server 中执行的作业/任务 或 DBA 的知识,因为它看起来像操作系统 活动。” (https://www.stigviewer.com/stig/ms_sql_server_2016_instance/2018-03-09/finding/V-79129)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-01-28
        • 1970-01-01
        • 1970-01-01
        • 2012-02-10
        • 1970-01-01
        • 2020-03-20
        • 2020-11-21
        • 2021-04-07
        相关资源
        最近更新 更多