从Domain Admin保护SQL Server数据库

时间:2013-05-29 15:18:04

标签: sql-server security authentication roles owner

我继承了一个带有一系列数据库的SQL Server框,它具有Windows Auth,用于创建/维护精心设计和建立的数据库。该框本身还有许多其他服务,需要用户以管理员身份登录才能维护。

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

我希望继续为这些人提供他们需要的管理级别访问权限,以便在此框中使用其他所有内容,但限制它们使用SQL Server选项,以便我可以更好地管理数据库并保护它们。什么是解除Windows身份验证方法并为这些用户创建数据库/创造机会的最佳方法,同时保护他们不应访问的新数据库?我是否通过偏离Windows Auth方法走向了正确的方向?

3 个答案:

答案 0 :(得分:4)

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

你还应该考虑一些事情。

首先,是的,您应尽可能解除安全问题,并提供任何给定用户/组所需的最低安全性。这是最好的做法。在没有明确理由的情况下,永远不要发出dbo或sysadmin权限,甚至要彻底质疑它以确保没有其他方法解决问题。永远不要提供超出绝对要求的权限。

其次,如果他们确实想要进入实例,那么几乎不可能将实例所在的服务器的管理员保留在实例之外。而我只是说“几乎”不可能,因为我可能有办法不知道。在服务器或域管理员的管理员级别,您必须假设他们可以信任不要试图闯入。无论如何,您可能无法阻止它们。

最后但并非最不重要的是,如果你可以将你的实例从has many other services which require a user to login as admin to maintain.服务器移出这首先是安全噩梦(如上所述),那么你的SQL服务器将在它自己的服务器上运行得更好。我甚至听过专家的建议,说你不应该远程进入SQL Server实例的服务器。如果你必须遥控,绝对不要在远程复制文件。一般来说,服务器上发生的事情越少,SQL越快乐。

答案 1 :(得分:1)

您可以通过从SQL Server登录中删除BUILTIN \ Administrators组来删除域管理员访问SQL Server的权限。

我不建议您远离Windows身份验证,因为您将创建一组全新的安全问题,然后您必须处理这些问题。

答案 2 :(得分:0)

域管理员可以

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

SQL Server始终启用Window Auth,因此Domain Admins始终可以使用

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