从域管理员保护SQL Server数据库



我继承了一个带有一系列数据库的SQL Server盒子,它具有用于创建/维护良好的和建立的数据库的Windows Auth。盒子本身有许多其他服务,需要用户以管理员身份登录来维护。

我现在必须在服务器上创建一个新的数据库,该数据库只有公司中的少数人(包括IT)可以访问。所以我在寻找最好的起点。

我想继续给这些家伙管理员级别的访问权限,他们需要在这个盒子上的所有其他东西,但限制他们在SQL Server选项,所以我可以更好地管理数据库和保护他们。什么可能是最好的方式来解除Windows身份验证方法和分发数据库/创造机会,为那些用户,同时保护新的数据库,他们不应该访问?我偏离Windows验证方法的方向是否正确?

在服务器上创建第二个实例的主要原因之一是安全性。通过创建第二个实例,基本上可以重新启动安全性。因此,这是您可能会考虑的新数据库的一个选项。IE创建第二个实例,并将"安全"数据库放在其上。

你还应该考虑一些事情。

首先,是的,您应该尽可能地解除安全性,并为任何给定的用户/组提供所需的最低安全性。这是最佳实践。永远不要在没有明确理由的情况下授予dbo或sysadmin权限,即使这样做,也要彻底质疑它,以确保没有其他方法可以解决这个问题。永远不要给超出绝对需要的权限。

第二,如果实例所在服务器的管理员非常想进入实例,那么将其排除在实例之外几乎是不可能的。我之所以说"几乎"不可能是因为可能有一种我不知道的方法。在服务器的管理员或域管理员级别上,您必须假设他们是可信的,不会试图闯入。你可能无论如何都无法阻止他们。

最后但并非最不重要的是,如果您可以将实例从has many other services which require a user to login as admin to maintain.服务器上移走,这首先是一个安全噩梦(正如我上面所说),其次,您的SQL服务器将在自己的服务器上更好地工作。我甚至听过专家的建议,说你永远不应该远程进入SQL server实例所在的服务器。如果你必须远程操作,绝对不要在远程操作时复制文件。一般来说,服务器上的事情越少,SQL就越快乐。

您可以通过从SQL Server登录中删除BUILTIN administrators组来删除域管理员访问SQL Server的能力。

我不建议放弃Windows身份验证,因为你将创建一个全新的安全问题,然后你将不得不处理。

域管理员可以

  • 将自己添加到任何有权限访问SQL Server的组(本地或域)
  • 更改服务帐户策略并登录
    • 更改SQL服务器使用服务帐户,以防它使用内置帐户
  • 使用任何具有SQL Server访问权限的用户帐户
    • 更改密码以允许此
  • 在域中执行任何操作。在。。

SQL Server总是有窗口认证开关,所以它总是可用的域管理员

如果它是那么敏感,那么它需要在单独的域或独立或其他

最新更新