我正在将我的开发服务器与生产服务器进行比较,发现一个有这个:
EXEC sp_grantdbaccess N'guest'
任何人将如何利用连接字符串中的来宾用户?它似乎没有映射到登录。在酒吧里,我看到客人是公众的一员。客人似乎不可删除。
这是某种匿名访问帐户还是什么?如果这是一个安全问题,我该怎么做才能解决它?
我正在将我的开发服务器与生产服务器进行比较,发现一个有这个:
EXEC sp_grantdbaccess N'guest'
任何人将如何利用连接字符串中的来宾用户?它似乎没有映射到登录。在酒吧里,我看到客人是公众的一员。客人似乎不可删除。
这是某种匿名访问帐户还是什么?如果这是一个安全问题,我该怎么做才能解决它?
如果 SQL Server 的登录没有其他方式进入数据库,则来宾用户允许该访问。您必须首先拥有对 SQL Server 的有效登录。无论授予访客什么权限,该登录名都有权执行此操作。有几件事要看:
一般建议是不要启用来宾用户。如果登录应该有权访问数据库,则最好授予显式访问权限。这使得审计更容易。话虽如此,您会注意到系统数据库 master 和 msdb 启用了 guest 用户,如果您看一下。这是一个要求。
除了数据删除或其他恶意活动之外,首先想到的是未经授权的用户可以访问您的数据。对于某些攻击者来说,有时重要的不是您可以破坏什么,而是您可以将什么复制到他们的系统上。如果他们可以复制您拥有的任何敏感数据,那么他们是否尝试返回也没关系 - 毕竟,他们有自己的副本!在这种情况下,马几乎会走出谷仓门,事后密封漏洞只会阻止其他尝试,而不是复制已经获取的数据。