常用数据库系统安全

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第20章常用数据库系统安全

数据库是信息管理系统、电子商务、电子政务的基础,保存着重要的数据和信息,例如生产数据、交易记录、工程数据、个人资料等等。数据完整性和合法存取会受到很多方面的安全威胁,包括密码策略、系统后门、数据库操作以及本身的安全方案。数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄漏、更改或破坏。本章围绕数据库的安全性配置、数据库的架构设计以及对数据的备份与恢复操作等方面的内容,展开详细讲解。

20.1 SQL Server服务器的安全配置

SQL Server 2008是微软公司推出的一个数据库产品,集成了许多新的功能特性和关键的改进,使得它成为至今为止的最强大和最全面的SQL Server版本。SQL Server 2008 提供了丰富的安全特性,用于保护数据和网络资源。它的安装更轻松、更安全,除了最基本的特性之外,其他特性都不是默认安装的,即便安装了也处于未启用的状态。SQL Server提供了丰富的服务器配置工具,它的身份验证特性得到了增强,SQL Server 更加紧密地与Windows身份验证相集成,并保护弱口令或陈旧的口令。有了细粒度授权、SQL Server Agent 代理和执行上下文,在经过验证之后,授权和控制用户可以采取的操作将更加灵活。元数据也更加安全,因为系统元数据视图仅返回关于用户有权以某种形式使用的对象的信息。在数据库级别,加密提供了最后一道安全防线,而用户与架构的分离使得用户的管理更加轻松。

SQL Server的安全机制一般主要包括三个等级:

●服务器级别的安全机制

这个级别的安全性主要通过登录帐户进行控制,要想访问一个数据库服务器,必须拥有一个登录帐户。登录帐户可以是Windows账户或组,也可以是SQL Server的登录账户。登录账户可以属于相应的服务器角色。至于角色,可以理解为权限的组合。

●数据库级别的安全机制

这个级别的安全性主要通过用户帐户进行控制,要想访问一个数据库,必须拥有该数据库的一个用户账户身份。用户账户是通过登录账户进行映射的,可以属于固定的数据库角色或自定义数据库角色。

●数据对象级别的安全机制

这个级别的安全性通过设置数据对象的访问权限进行控制。

SQL Server2008中广泛使用安全主体和安全对象管理安全。一个请求服务器、数据库或架构资源的实体称为安全主体。每一个安全主体都有唯一的安全标识符(Secrity Identifier,ID)。安全主体在3个级别上管理:Windows、SQL Server和数据库。安全主体的级别决定了安全主体的影响范围。通常,Windows和SQL Server级别的安全主体具有实例级的范围,而数据库级别的安全主体的影响范围是特定的数据库。

安全主体能在分等级的实体集合(也称为安全对象)上分配特定的权限。最顶层的三个安全对象是服务器、数据库和架构。这些安全对象的每一个都包含其他的安全对象,后者依次又包含其他的安全对象,这些嵌套的层次结构称为范围。因此,也可以说SQL Server中的安全对象范围是服务器、数据库和架构。

20.1.1 身份验证模式配置

【实验目的】

掌握SQL Server2008数据库服务器的身份验证模式配置。

【原理简介】

SQL Server 2008提供了Windows身份和混合身份两种验证模式。

1.Windows身份验证

使用Windows身份验证模式是默认的身份验证模式,它比混合模式要安全得多。当用户通过Windows用户帐户连接时,SQL Server使用操作系统中的Windows 主体标记验证帐户名和密码。也就是说,用户身份由Windows进行确认。SQL Server 不要求提供密码,也不执行身份验证。通过Windows身份验证完成的连接有时也称为可信连接,这是因为SQL Server 信任由Windows 提供的凭据。

Windows省份验证模式有以下主要优点:

●数据库管理员的工作可以集中在管理数据库上面,而不是管理用户账户。对用户账

户的管理可以交给Windows去完成。

●Windows有更强的用户账户管理工具。可以设置账户锁定、密码期限等。如果不通

过定制来扩展SQL Server,SQL Server则不具备这些功能。

●Windows的组策略支持多个用户同时被授权访问SQL Server。

2.混合模式

使用混合安全的身份验证模式,可以同时使用Windows身份验证和SQL Server登录。SQL Server登录主要用于外部的用户,例如那些可能从Internet访问数据库的用户。可以配置从Internet访问SQL Server 2008的应用程序以自动地使用指定的账户或提示用户输入有效的SQL Server用户账户和密码。

使用混合安全模式,SQL Server 2008首先确定用户的连接是否使用有效的SQL Server 用户账户登录。仅当用户没有有效的登录时,SQL Server 2008才检查Windows账户的信息。在这种情况下,SQL Server 2008将会确定Windows账户是否有连接到服务器的权限。如果账户有权限,连接被接受;否则,连接被拒绝。

当使用混合模式身份验证时,在SQL Server中创建的登录名并不基于Windows用户帐户。用户名和密码均通过使用SQL Server创建并存储在SQL Server中。通过混合模式身份验证进行连接的用户每次连接时必须提供其凭据(登录名和密码)。当使用混合模式身份验证时,必须为所有SQL Server帐户设置强密码。

如果用户是具有Windows 登录名和密码的Windows 域用户,则还必须提供另一个用于连接的(SQL Server)登录名和密码。记住多个登录名和密码对于许多用户而言都较为困难。每次连接到数据库时都必须提供SQL Server 凭据也十分繁琐。混合模式身份验证的缺点如下所示。

●SQL Server身份验证无法使用Kerberos 安全协议。

●SQL Server登录名不能使用Windows 提供的其他密码策略。

混合模式身份验证的优点如下。

●允许SQL Server支持那些需要进行SQL Server身份验证的旧版应用程序和由第三

方提供的应用程序。

●允许SQL Server支持具有混合操作系统的环境,在这种环境中并不是所有用户均

相关文档
最新文档