AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / dba / 问题 / 112011
Accepted
Heinzi
Heinzi
Asked: 2015-08-25 05:39:59 +0800 CST2015-08-25 05:39:59 +0800 CST 2015-08-25 05:39:59 +0800 CST

“指定 SQL Server 管理员” - 不寻常的默认值

  • 772

安装 SQL Server 时,您可以指定 SQL Server 管理员,即最初具有 sysadmin 角色的用户列表。默认情况下,此列表包含当前用户。

数据库引擎配置

(图片引自https://msdn.microsoft.com/en-us/library/dd578652.aspx。)

这个默认值让我觉得很奇怪。不是BUILTIN\Administrators比当前用户更明智的选择吗?毕竟,Windows 身份验证的重点不是不必管理两个单独的用户/组目录吗?并且本地管理员无论如何都可以获得系统管理员权限,如果他们愿意的话,所以它也不是一个真正的安全功能。

另一方面,SQL Server 是由比我聪明得多的人编写的,所以这个默认值实际上可能有一个很好的理由。它是什么?

sql-server permissions
  • 3 3 个回答
  • 3062 Views

3 个回答

  • Voted
  1. Best Answer
    spaghettidba
    2015-08-25T06:05:08+08:002015-08-25T06:05:08+08:00

    您是对的:系统管理员可以获得系统管理员访问权限,但您会在该操作的默认跟踪中找到条目。此外,它需要至少重新启动服务两次,这几乎不会被忽视。

    不授予 BUILTIN\Administrators 系统管理员权限是 SQL Server 2008 中引入的一项更改。在我看来,这是一个好主意:它允许服务器管理员和 SQL Server 管理员之间的职责分离。

    让 BUILTIN\Administrators 成为您的系统管理员角色的主要不良影响是失去控制,这可能表现为以下一项或多项烦人的事情:

    1. 出现在您的服务器上的新数据库
    2. 来自 Windows 管理员的不需要的连接,最终与合法连接竞争
    3. 对具有敏感数据的数据库的 Windows 管理员的隐含权限
    4. 看似无害但会破坏“自助服务”操作,例如使用差异备份策略对数据库进行完整的“一次性”备份。

    长话短说,Windows 管理员拥有不同的技能组合和不同的心态,更不用说不同的职责:让他们管理您的 SQL Server 实例并不是一个好主意。

    我的建议是为您的 DBA 创建一个 windows 组,并在每次安装新的 SQL Server 时将该组添加到 sysadmin 角色。

    • 4
  2. Jens W.
    2015-08-25T05:47:41+08:002015-08-25T05:47:41+08:00

    长期以来,使用本地管理员组一直是默认设置。但主要是在大型企业环境中,您有一个 Windows 操作团队和一个单独的 SQL Server 操作团队。允许所有人轻松(!)获得访问权限可以被视为安全问题。只允许当前用户可以用“默认安全”来解释。

    正如您所说,本地管理员可以获得系统管理员权限。但在大多数情况下,他们会留下这样做的痕迹。

    • 2
  3. user507
    2015-08-25T07:23:43+08:002015-08-25T07:23:43+08:00

    补充一点,删除默认系统管理员BUILTIN\Administrators和取消NT AUTHORITY\SYSTEM默认系统管理员是为了改变 Microsoft 产品的安全性;去secure by default方法论。我确信合规性的某些部分影响了 Microsoft 和 SQL Server 团队也选择这样做。

    实际上,允许后门进入您的实例的主要方法是将SYSTEM帐户用作服务帐户。这个后门在不重新启动 SQL Server 服务的情况下是可能的,并且除非在服务器上涉及监控,否则不会被注意到。如果您从角色中删除此帐户,则在SQL Server 2005 中不支持。sysadmin

    现在快进到 Window Server 2012,另外一个安全步骤也删除了后门,默认情况下每个服务都使用虚拟帐户,或配置托管服务帐户。psexec使用我现在知道的“冒充”虚拟或 MSA 帐户,即使不是不可能,也很困难。

    • 1

相关问题

  • SQL Server - 使用聚集索引时如何存储数据页

  • 我需要为每种类型的查询使用单独的索引,还是一个多列索引可以工作?

  • 什么时候应该使用唯一约束而不是唯一索引?

  • 死锁的主要原因是什么,可以预防吗?

  • 如何确定是否需要或需要索引

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目

    • 12 个回答
  • Marko Smith

    如何让sqlplus的输出出现在一行中?

    • 3 个回答
  • Marko Smith

    选择具有最大日期或最晚日期的日期

    • 3 个回答
  • Marko Smith

    如何列出 PostgreSQL 中的所有模式?

    • 4 个回答
  • Marko Smith

    列出指定表的所有列

    • 5 个回答
  • Marko Smith

    如何在不修改我自己的 tnsnames.ora 的情况下使用 sqlplus 连接到位于另一台主机上的 Oracle 数据库

    • 4 个回答
  • Marko Smith

    你如何mysqldump特定的表?

    • 4 个回答
  • Marko Smith

    使用 psql 列出数据库权限

    • 10 个回答
  • Marko Smith

    如何从 PostgreSQL 中的选择查询中将值插入表中?

    • 4 个回答
  • Marko Smith

    如何使用 psql 列出所有数据库和表?

    • 7 个回答
  • Martin Hope
    Jin 连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目 2014-12-02 02:54:58 +0800 CST
  • Martin Hope
    Stéphane 如何列出 PostgreSQL 中的所有模式? 2013-04-16 11:19:16 +0800 CST
  • Martin Hope
    Mike Walsh 为什么事务日志不断增长或空间不足? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland 列出指定表的所有列 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney MySQL 能否合理地对数十亿行执行查询? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx 如何监控大型 .sql 文件的导入进度? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison 你如何mysqldump特定的表? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 对 SQL 查询进行计时? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas 如何从 PostgreSQL 中的选择查询中将值插入表中? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 列出所有数据库和表? 2011-02-18 00:45:49 +0800 CST

热门标签

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve