`
cjc
  • 浏览: 680567 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

走进SQL Server 2005:十大安全举措

阅读更多
<script>function StorePage(){d=document;t=d.selection?(d.selection.type!='None'?d.selection.createRange().text:''):(d.getSelection?d.getSelection():'');void(keyit=window.open('http://www.365key.com/storeit.aspx?t='+escape(d.title)+'&u='+escape(d.location.href)+'&c='+escape(t),'keyit','scrollbars=no,width=475,height=575,left=75,top=20,status=no,resizable=yes'));keyit.focus();}</script>

SQL Server 2005 加强的十大安全举措

  随着数据库系统被用作网络应用程序后台存储范围的持续扩大,对安全的关注也就越来越必要。虽然从发展的角度来看,围绕在SQL Server 2005的周围的还有不少的杂音,但是微软的囊括了很多优秀的新特性的数据管理系统还是可以帮助开发人员和数据库管理员锁定数据库系统,保护对敏感数据的访问。

  以下是一个高层列表,没有特定的顺序,列出了SQL Server 2005中大概10个最显著的安全加强。要按照重要性来进行排序是困难的,因为每个数据库管理员都有不同的需要。

  目录表

  模拟(Impersonation)

  表面区域配置工具(Surface Area Configuration tool)

  用户-计划分离(User-schema separation)

  粒度权限集合(Granular permission sets)

  密码策略(Password policies)

  加密(Encryption)

  受限元数据可见度(Limited metadata visibility)

  安全分类视图(Security catalog views)

  数据定义语言触发器(DDL triggers)

  Windows用户信任映射(Mapping Windows user credentials)

  模拟(Impersonation )

  模拟,或者是执行环境上下文交换,指的是临时交换一个连接的安全设置的过程,为的是获得对资源的访问。这对于采用了最小权限设计的系统特别重要。假设用户只有尽可能最小的对资源的权限,并且在必要的时候使用模拟来有选择的提高权限,这样做可以帮助减少整体的暴露。

  在SQL Server 2005中,EXECUTE AS 和 SETUSER 是用来控制背景环境交换的。要获得更有有关这些语句的信息,查看《A First Look at SQL Server 2005 for Developers》的摘要。

  表面区域配置工具(Surface Area Configuration tool)

  SQL Server 2005是一个大的产品——大到可以包括了许多新的特性,因此潜在地,它也可以处于安全的目的用作向量。为了防止这类事件,要能够容易快捷地看到每个特性的状态——还有配置——是非常重要的。如果一个特性没有用于数据库支持的应用,为了防止滥用的可能性,就应该将其失效。

  表面区域配置工具是SQL Server 2005提供的,允许数据库管理员从单个地点管理多个外部资源的工具。类似CLR集成,SQL 邮件和本地XML网络服务的特性都可以用这个工具进行配置。虽然每个特性都可以使用T-SQL 进行配置,但是表面区域配置工具提供了一种方便使用的图形化用户界面。

  要了解有关这个工具的更多信息,请到Developer.com 上查看《管理SQL Server 2005的表面区域》这篇文章。

  用户计划分离(User-schema separation)

  在SQL Server 2005中,数据库中的对象没有必要再被一个用户拥有。相反,他们可以包含在一个计划中,一个可以被赋予权限的逻辑容器。这个分离的意思是当一个对象突然崩溃的时候可以给用户分配多个对象的权限,而不是像SQL Server以前的版本中,数据库管理员每次只能分配一个。此外,从数据库中删除用户也不再意味着他们拥有的对象必须被删除或者重新分配。

  要了解更多有关计划的信息,查看我的tip《SQL Server 2005中的权限》。

  粒度权限集合(Granular permission sets)

  在SQL Server以前的版本中,假设需要访问服务器资源的时候,数据库管理员几乎没有选择。当把整个的权限配置归结为一个严格的“固定的服务器角色”集合的时候,看起来似乎就不能完美地适合任何一个环境了。例如,不可能给开发人员权限来运行Profiler 追踪的时候,不给同一个人访问服务器上所有其他资源的权力。

  幸运的是,这些固定的角色在SQL Server 2005中不再必要了,感谢新的粒度权限集合特性。现在每次给一个人实际地分配访问每个服务器资源的权限成为可能。用户可以被赋予访问任何资源的权限组合——或者仅仅是某项资源。系统像数据库管理员期望的那样灵活。

  要获得有关粒度权限的更多信息,也可以阅读我的tip《SQL Server 2005中的权限》。

  密码策略(Password policies)

  当安装在Windows Server 2003系统上的时候,SQL Server 2005可以采用操作系统的密码策略登录SQL Server。它转换为更加安全的密码,减少了发生在数据库服务器上的暴力攻击的机会。SQL Server 2005不但支持密码复杂度规则(确保最小长度,加强字母和数字字符的组合,等),还支持密码过期策略(确保古老的密码必须被修改)。

  要使用这些特性,数据库管理员们可以使用ALTER LOGIN语句来设置CHECK_POLICY 和CHECK_EXPIRATION 选项。

  加密 (Encryption)

  大多数的存储了敏感数据的数据库都使用了加密技术来确保数据的安全。直到现在,这样的技术还只是在应用层实现,通过类似微软的Base Cryptographic Provider的技术。

  SQL Server 2005通过自带的暴露加密技术减少了基于应用进行加密的需求。现在,数据库管理员和开发人员能够建立一个证书库,创建对称或者不对称的密钥,并使用不同的算法,其中包括三层DES(数据加密标准),RC4和AES(高级加密标准)。

  加密是一个很大的话题。要获得更多有关SQL Server 2005 在这个领域内的贡献的信息,查阅《Database Journal》中的文章《SQL Server 2005安全——第三部分 加密》。

  受限元数据可见度(Limited metadata visibility)

  在SQL Server的早期版本中,元数据没有基于访问控制机制的保护措施。用户也许不能从某个特定的表中查询数据,但是他仍然可以通过类似sysobjects的系统表或者INFORMATION_SCHEMA视图,例如INFORMATION_SCHEMA.TABLES,看到这个表的存在。

  SQL Server 2005的数据库管理员们现在不需要担心以下的任何事情:数据库系统的分类视图(包括兼容性视图和INFORMATION_SCHEMA视图)现在都被保护起来,用户只能看到他们能够访问的对象。这对于担心数据安全的数据库管理员们,和那些不想看到他们不能访问的资源的用户都有好处。

 要获得更多有关SQL Server 2005的分类视图的信息,请阅读我的tip《向SQL Server 2005中的系统表说再见》。

  安全分类视图(Security catalog views)

  在保护那些包含数据库对象(在前面项目中描述的)的信息的分类视图的安全之外,SQL Server 2005还包含了一系列的综合视图,允许数据库管理员快速获得有关访问权限的信息。

  庞大的sys.database_permissions 视图包含了某个数据库中有关所有准予的权限的信息。这个视图显示数据的粒度与应用权限的粒度在同一个档次上,这样数据库管理员要决定谁可以访问什么就很容易了。有一个类似的视图,sys.server_permissions ,包含了服务器级别的权限的信息。

  其他的安全视图包含了有关法则、角色和与加密相关的数据信息。查看SQL Server 2005 的在线书籍以了解更多有关这些视图的信息。

  数据定义语言触发器(DDL triggers)

  SQL Server 数据库管理员很早就开始意识到了使用触发器在数据操纵操作中嵌入基于事件的逻辑的威力。所谓的数据操纵语言(DML)触发器在几年前的产品就存在了。

  现在,同样的能力扩展到了数据定义语言(DDL)语句中。数据库管理员可以编写服务器或者数据库级别的触发器来监控类似创建或者删除表,增加服务器登录或者修改数据库的事件。从安全和审计的角度来看,这些触发器的价值都是无法衡量的。现在,数据库管理员可以非常轻松地编写自动记录日志的触发器来捕捉发生的事件。

  要了解有关SQL Server 2005 数据定义语言触发器的信息,查阅Developer.com 上的文章《使用数据定义语言触发器来管理SQL Server 2005》。

  Windows用户信任映射(Mapping Windows user credentials)

  在SQL Server 2005 里面,用来访问外部资源的登录再也不需绑定到SQL Server服务账户的访问权限上。数据库管理员可以使用新的语句,CREATE CREDENTIAL来创建一个可以映射到一个或者多个登录的访问点。

  当使用需要访问外部资源的SQLCLR模块或者SQL Server 代理任务工作的时候,这种新的方式带来了更大的灵活性。例如,如果一个SQL Server 代理任务需要访问一个远程文件以彻夜导入数据,SQL Server 服务账户再也不需要拥有浏览远程服务器以检索文件的权限了。

  总结

  通过使用SQL Server 2005中的新的安全特性,数据库管理员和开发人员可以创建更加灵活和更不易于攻击的数据库应用程序。当安全在我们的信息受到困扰的社会中变得越来越重要的时候,数据库专业人员们就需要更多的工具来抵御这些威胁。SQL Server 2005用这些,以及其他的加强的安全措施迎接了这个挑战。

分享到:
评论

相关推荐

    com.microsoft.sqlserver.jdbc.SQLServerException: 只进结果集不支持请求的操作 解决方案

    另一种方法是使用原生SQL查询,这样可以直接控制SQL语句的生成,包括使用LIMIT和OFFSET关键字(对于MySQL等数据库)或ROW_NUMBER()函数(对于SQL Server)来实现分页。这同样可以绕过Hibernate的默认只进结果集行为...

    Inside Microsoft SQL Server 2005: T-SQL Programming

    《Inside Microsoft SQL Server 2005: T-SQL Programming》是针对SQL Server 2005数据库管理系统中T-SQL编程的一本专业指南。这本书深入探讨了SQL Server 2005的核心语言Transact-SQL(T-SQL),它是SQL Server进行...

    SQLServer2005客户端:SQLServer2005-SSMSEE-x64.msi,支持win7和64位系统等

    Microsoft SQL Server Management Studio Express(SSMSE)是一种免费、易于使用的图形管理工具,用于管理SQL Server 2005 Express Edition和SQL Server 2005 ExpressEdition with Advanced Services。注意:SSMSE ...

    Microsoft SQL Server 2005 向后兼容组件SQLServer2005_BC.msi

    【Microsoft SQL Server 2005 向后兼容组件】是微软为了确保应用程序能在更新的SQL Server版本上继续运行而提供的关键组件。这些组件确保了与SQL Server 2005相关的功能和特性在更高版本的数据库服务器中得以支持,...

    SQL Server 2005盛宴系列之六:新的选择――SQL Server Express 2005.zip

    总的来说,通过"SQL Server 2005盛宴系列之六"的学习,你可以掌握SQL Server Express 2005的基本操作,理解其在实际开发中的作用,以及如何利用它来构建高效、安全的数据驱动应用程序。对于想要入门数据库管理和开发...

    SQLServer2005_BC_x64补丁 ,SQLServer2005_BC 32位补丁

    本压缩包包含了针对32位和64位系统的两个补丁:SQLServer2005_BC.msi 和 SQLServer2005_BC_x64.msi,主要目的是为了提升SQL Server 2005 Business Intelligence (BI)组件的兼容性和性能。 SQL Server 2005 Business...

    SQL Server 2005 启用远程连接

    ### SQL Server 2005 启用远程连接详解 #### 一、为SQL Server ...通过以上步骤,我们可以成功地为SQL Server 2005启用远程连接,并确保了安全性和可用性。这对于管理和维护部署在不同地理位置上的数据库非常有帮助。

    SQL Server2005 SP4

    这个服务包包含了大量的修复程序、安全更新和性能优化,旨在提高SQL Server 2005的稳定性和安全性。SP4是SQL Server 2005的最后一个服务包,它整合了自SQL Server 2005 RTM(Release to Manufacturing)以来的所有...

    如何将SQL Server 2005升级到SQL Server 2008

    在将SQL Server 2005升级至SQL Server 2008的过程中,涉及的知识及技巧涵盖了从理解新版本特性到优化、安全、开发、维护高可用性数据库、数据仓库构建和报告服务使用的广泛范围。以下将详细介绍升级过程中需要注意的...

    SQLServer2008附加SQLServer2005数据库

    - 使用 T-SQL 命令设置数据库兼容级别为 SQL Server 2005: ```sql ALTER DATABASE [MyDatabase] SET COMPATIBILITY_LEVEL = 90; ``` - 重新启动 SQL Server 服务,确保更改生效。 3. **检查附加后的数据库*...

    SqlServer2005 打开 SqlServer2008 mdf文件

    Sql Server 2005 打开 Sql Server 2008 mdf 文件数据库转换是指将 Sql Server 2008 中的数据库文件(mdf 文件)转换为 Sql Server 2005 可以识别的格式,以便在 Sql Server 2005 中使用。这种转换过程需要使用 Sql ...

    Microsoft SQL Server 2005 向后兼容组件

    Microsoft SQL Server 2005 Backward Compatibility Components (Microsoft SQL Server 2005 向后兼容组件) SQL Server Backward Compatibility 包中包含最新版本的 Data Transformation Services 2000 运行时 (DTS)...

    SQLserver2005下载X64

    在实际应用中,SQL Server 2005支持多种安全机制,如登录验证、角色权限管理、加密等,以保护数据库的安全。此外,它还提供了性能监控和优化工具,帮助管理员监控数据库性能并进行调优。 在"SQL Server x64"这个...

    sqlserver 2005 express X64

    SQL Server 2005 Express Edition 是微软推出的一款轻量级数据库管理系统,特别适用于小型企业和个人开发者。在64位(X64)系统上安装SQL Server 2005 Express,可以充分利用更大的内存和处理器资源,从而提高数据...

    SQLserver 2005 SP3-64位及32位补丁

    SQL Server 2005 SP3(Service Pack 3)是微软数据库管理系统SQL Server 2005的一个重要更新版本,旨在提升系统性能、稳定性和安全性。SP3包含了自SQL Server 2005 RTM(Release to Manufacturing)发布以来的所有...

    SQLServer2005客户端SQLServer2005_SSMSEE.msi

    "SQLServer2005_SSMSEE.msi" 文件就是SQL Server 2005的System Management Studio Express(SSMSEE)的安装程序,这是一个简化版的SQL Server Management Studio,专为开发者和小型团队设计,提供基础的数据库管理和...

    Microsoft SQL Server 2005 向后兼容组件 [免费版]

    Microsoft SQL Server 2005 Backward Compatibility Components (Microsoft SQL Server 2005 向后兼容组件) SQL Server Backward Compatibility 包中包含最新版本的 Data Transformation Services 2000 运行时 (DTS...

    SQLServer2005_SSMSEE_x64.rar

    8. **安全性**:SQL Server 2005提供了角色基础的访问控制、登录账户、权限分配、加密等安全特性,确保数据的安全性。 9. **备份与恢复**:SQL Server 2005提供了多种备份策略,如完整备份、差异备份、日志备份,...

Global site tag (gtag.js) - Google Analytics