我正在比较我的开发服务器和生产,并find一个这样的:
EXEC sp_grantdbaccess N'guest'
任何人如何利用连接string中的访客用户? 它似乎没有映射到login。 在酒吧里我看到客人是公众的一员。 客人似乎不可删除。
这是某种匿名访问帐户或什么? 如果这是一个安全问题,我该如何解决这个问题?
如果到SQL Server的login没有其他方式进入数据库,则来宾用户允许访问。 您必须首先有一个有效的login到SQL Server。 无论授予给客人什么许可,该login都将有权执行。 有几件事要看:
一般的build议是不启用访客用户。 如果login应该有权访问数据库,最好授予显式访问权限。 这使审计更容易。 这就是说,你会注意到,如果你看一下系统数据库master和msdb启用了guest用户。 这是一个要求。
除了数据删除或其他恶意活动,首先想到的是未经授权的用户访问您的数据。 对于一些攻击者来说,有时候不是你可以销毁的东西,而是你可以复制到他们的系统上的东西。 如果他们可以复制你所拥有的任何敏感数据,那么他们是否试图回来并不重要 – 毕竟他们有自己的副本! 在这种情况下,马几乎不在门外,在事实之后封锁违规只停止其他尝试,而不是复制已经采取的数据。