Microsoft SQL Server 2008安全性提高(三)

日期: 2008-10-14 作者:James C. Foster翻译:李娜娜 来源:TechTarget中国 英文

有特权的实体   SQL Server 2008引进了许多全新的、精细的控制机制,以确保合理地创建、分配、执行这些权限,而且比前几个版本的误差更小。   公共职能。虽然大部分以核心职能为基础的访问性能都与SQL 2005保持相似,但是同时也包含附加的功能来帮助以网络为基础的应用程序软件盒,并且防止匿名的因特网攻击。创建一个新的公共职能,微软已经有了很大的提高。

通过SQL 2008服务器的默认值,每一个数据库用户被自动添加到该组(职能与组的类似,但是还拥有以数据库和应用程序逻辑与功能为基础的相关特权和访问权限)。创建这个公共职能,可以约束因特网用户,并限制所有类型的访问(见下面的屏幕截图)。  ……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

有特权的实体

  SQL Server 2008引进了许多全新的、精细的控制机制,以确保合理地创建、分配、执行这些权限,而且比前几个版本的误差更小。

  公共职能。虽然大部分以核心职能为基础的访问性能都与SQL 2005保持相似,但是同时也包含附加的功能来帮助以网络为基础的应用程序软件盒,并且防止匿名的因特网攻击。创建一个新的公共职能,微软已经有了很大的提高。通过SQL 2008服务器的默认值,每一个数据库用户被自动添加到该组(职能与组的类似,但是还拥有以数据库和应用程序逻辑与功能为基础的相关特权和访问权限)。创建这个公共职能,可以约束因特网用户,并限制所有类型的访问(见下面的屏幕截图)。

  公共职能

 


  在SQL Server 2008中,默认指派所有的用户为公共职能,这是一个限制因特网用户访问权限的好方法。

  元数据保护。数据库或者表格的元数据和其本来的数据同样重要。比如,如果我可以接到这样的证明:某个数据库中存在一个表格或者特定的矩阵,那么我就可以得出结论:这是SQL攻击的一个很好目标。SQL Server 2008允许你通过以用户分配的职能为基础的错误响应来保护这个元数据。因此,举例来说,如果所有的因特网用户都处在公共角色之中,并且其中一个用户在没有正当权限的情况下,试图访问或者甚至删除一个名为“SecretSauce”的表格,那么就会返回下面的响应:

  不能删除表格“SecretSauce”,因为不存在这个表格,或者是由于你没有这个权限。

  更精细的schema。SQL Server 2008中的突出之处是实施了以schema为基础的数据库安全及其文本。2008版之前,SQL Server通过采用某个用户进行逻辑配对,进而处理了一个schema。当你在SQL 2000/ 2005中创建一个新的用户时,其间也创建了一个schema。然后,这个用户得到了许可,这些许可就好像他自己的一样。现在,你必须创建一个用户,然后再创建或者分配给他一个特定的schema。这个用户获得了一个或者几个schema的拥有权,而且,然后这个schema分配不同的权限到数据库得基本元素中。这个额外的数据库层允许你为用户和数据库元素设置更精细的许可和控制。

  对象的分离允许某个单一用户创建并实施几个与2005版相对的schema,在2005版中,需要用到多个用户帐号。因此,可以潜在地减轻安全管理的负担。

  可获得的对象。2005中引进了可获得的对象,SQL Server 2008就是建立在这个理念的基础上的。被认为是主要功能的登录和服务可以划分为多个组分,将更精细的许可授予数据库中、表格中的几乎每个对象。这个以职能为基础的或者许可的精细度是数据安全性方面一个大的提高,这个很好地对公共职能进行了补充。在服务器的终端,提供了控制,进而限制通过网络信道、命名的传输管道以及其它通信信道的通信。

  通过许可设置,可获得的对象就可以连接到主要功能之中。虽然许可继续使用GRANT、DENY和 REVOKE,来定义某个功能的许可,但是现在,你可以再向前走一步,允许主要功能对其它功能授权,使这些功能可以访问受到控制的信息。

  代理服务器。SQL Server的代理服务器连接到用户证书和工作许可。这就提供了一种精细的方法来为任务中每个单独的步骤授予许可。这是与先前的版本形成鲜明的对比:先前的版本使用一个单一的,通常是全面的功能强大的代理器账户。每个子系统可以拥有任意数量的相关代理器。

  这里有一个特例:只有经过模块主人的许可,Transact-SQL子系统才可以运行。比如,如果拥有者是“Foster”,那么只有在Foster设置的特权下,才能执行所有的Transact-SQL语句。

  重要的是要注意到,当从SQL Serve2005升级到SQL Server 2008时,单一的代理器帐户将会继续保留到新的版本中。应当做出仔细的考虑,决定如何分割帐户,以及如何合理地限制权限。

相关推荐

  • 如何为服务器配置使用单点登录(SSO)

    两个服务器运行相同的应用,通过URL http://server1登陆到server No.1,再由server No.1通过http://server2链接到server No.2。应如何使用SSO来解决登录问题?

  • SQL Server中存储过程的安全问题(附图)

    SQLServer是一个c/s模式的强大的关系型数据库管理系统,应用领域十分广泛。网上关于这种入侵的文章很多,但我个人认为讲解的并不详细,甚至有些是错误的……

  • 通过分配读写权限防范文件删除操作

    在内网中我们通常需要共享文件来协同完成工作,然而实际应用中应如何阻止用户删除共享中的文件和文件夹?TT安全专家Randall Gamby对这一问题进行了详细解答……

  • 实例讲解网站被入侵后需做的检测

    如今黑客已逐渐强大到无孔不入的境界,有商业价值的网站都会遭到黑客攻击和入侵,那么网站被入侵后安全管理人员需做哪些检测?如何将危害减为最小呢?