2012-11-28 51 views
0

我刚刚被授予访问安装了SQL Server 2008 R2的新Windows Web Server 2008 R2的权限。当我打开SQL Server Management Studio并尝试连接时,它使用Windows身份验证执行此操作,但是,它并不要求我输入密码,并且它已成功连接。为SQL Server 2008 R2帐户设置密码

我担心(不希望)不应该访问服务器的人这样做,然后可以很容易地连接到SQL Server Management Studio,而不需要输入密码,然后就可以访问数据库。

这里最好的办法是确保任何想要访问我的数据库的人都必须输入密码?

我知道我可以在SQL Server中创建用户帐户并将用户分配给特定的数据库(SQL Server身份验证),但是这并没有解决刚刚选择Windows身份验证类型的匿名用户的问题,并且不输入密码,并且可以完全访问我的数据库。

有人能请教这个吗?

谢谢大家。

更新

也许我不应该说在上面的例子中为“无名氏”,一个更好的描述是,别人谁偷走了的Windows Web服务器的登录信息的用户。他们现在登录到Web服务器上,并且由于他们使用的登录详细信息标识该用户使用Windows身份验证访问SQL Server的权限(无需密码),他们可以访问数据库和数据。

如果出现这种情况,有什么我可以做的,以防止用户访问SQL Server,即我可以设置Windows身份验证密码?

+0

“匿名用户”已经可以使用windows帐户访问您的机器,可能是具有管理权限的用户。 –

+0

@Damien_The_Unbeliever请参阅我的更新后的问题 – tgriffiths

回答

2

不,你不能为windows身份验证密码。

过去,默认情况下,作为计算机上的Windows管理员的任何用户也是SQL Server上的系统管理员,但自2005年以来,情况并非如此(Express版本除外)。但是,在安装过程中,它会坚持至少添加一个windows用户作为sa。通常情况下,这将是安装SQL Server的用户(他必须是框中的管理员)。

在这些设置中,只有可以自动访问服务器的Windows帐户是已经是管理员的帐户。如果有人拥有管理员权限,您已经失去了控制权。除非您授予,否则所有其他Windows帐户都有访问权限。

1

我知道我可以创建SQL Server中的用户帐户和用户分配 专用数据库(SQL Server身份验证),但这并不 围绕只是选择了Windows 验证类型匿名用户的问题得到,输入没有密码,并有权访问我的 数据库。

这不是发生在这里的事 - 它不是匿名的。您已经使用Windows身份验证(Kerberos)来检查您登录到Windows的帐户是否可以访问服务器。

在SQL Server的安全选项卡下,您将看到允许用服务器进行身份验证的帐户列表。您的帐户或您是成员的组将在此处列出 - 这就是SQL Server允许您连接和查看数据库的原因。

您可以锁定此部分SQL,以便只允许说'管理员'组的成员连接,并且是允许在服务器上执行任何操作的sysadmin角色的成员。

您可以以相同方式锁定对特定数据库的访问权限,添加组\角色并为其分配Windows凭据。

这种方式,只允许连接到服务器,并在数据库角色的成员,用户将能够查看数据

+0

请参阅我更新的问题 – tgriffiths