第11章数据库安全性管理 本章导读: 合理有效的数据库安全机制,不仅可以保证被授权用户方便地访问数据库中的 数据,还能够防止非法用户的入侵。 SQL Server的安全性管理是建立在身 份验证和权限验证的基础上,并通过 SQL Server登录、数据库用户、角色、 权限等机制实现。 知识要点 SQL Server登录 数据库用户 角色 权限 111数据安全性概述 112 SQL Server登录 113数据库用户 114角色 11.5权限
第11章 数据库安全性管理 ⚫ 本章导读: 合理有效的数据库安全机制,不仅可以保证被授权用户方便地访问数据库中的 数据,还能够防止非法用户的入侵。SQL Server的安全性管理是建立在身 份验证和权限验证的基础上,并通过SQL Server登录、数据库用户、角色、 权限等机制实现。 知识要点: ⚫ SQL Server登录 ⚫ 数据库用户 ⚫ 角色 ⚫ 权限 11.1 数据安全性概述 11.2 SQL Server登录 11.3 数据库用户 11.4 角色 11.5 权限
11.1数据安全性概述 安全性问题不是数据库系统所独有的,所有计算 机系统都有这个问题。只是在数据库系统中大 量数据集中存放,而且为许多最终用户直接共 享,从而使安全性问题更为突出。系统安全保 护措施是否有效是数据库系统的主要指标之一。 11.1.1计算机安全性概述 11.1.2安全标准
11.1 数据安全性概述 安全性问题不是数据库系统所独有的,所有计算 机系统都有这个问题。只是在数据库系统中大 量数据集中存放,而且为许多最终用户直接共 享,从而使安全性问题更为突出。系统安全保 护措施是否有效是数据库系统的主要指标之一。 11.1.1 计算机安全性概述 11.1.2 安全标准
11.1.1安全概述 1.安全概述 数据库的安全性和计算机系统的安全性(包括计算机硬件、 操作系统、网络系统在内的安全性)是紧密联系、相互 支持的,理解计算机系统安全性问题是理解数据库系统 安全性机制的前提 1.安全概述 计算机系统安全性是指为计算机系统建立和采取的各种安 全保护措施,以保护计算机系统硬件、软件及数据,防 止其因偶然因素导致系统破坏,数据遭到更改或泄露。 影响计算机系统安全性的因素很多,不仅有硬件因素,还 有环境和人的因素;不仅涉及技术方面,还涉及管理规 范、政策法律方面等。计算机安全性包括计算机安全理 论、策略、技术,计算机安全管理、评价、监督,计算 机安全犯罪、侦察、法律等。概括起来,计算机系统的 安全性分为三大类:技术安全类、管理安全类和政策法 律类。这里只涉及技术安全类
11.1.1 安全概述----------1.安全概述 数据库的安全性和计算机系统的安全性(包括计算机硬件、 操作系统、网络系统在内的安全性)是紧密联系、相互 支持的,理解计算机系统安全性问题是理解数据库系统 安全性机制的前提。 1.安全概述 计算机系统安全性是指为计算机系统建立和采取的各种安 全保护措施,以保护计算机系统硬件、软件及数据,防 止其因偶然因素导致系统破坏,数据遭到更改或泄露。 影响计算机系统安全性的因素很多,不仅有硬件因素,还 有环境和人的因素;不仅涉及技术方面,还涉及管理规 范、政策法律方面等。计算机安全性包括计算机安全理 论、策略、技术,计算机安全管理、评价、监督,计算 机安全犯罪、侦察、法律等。概括起来,计算机系统的 安全性分为三大类:技术安全类、管理安全类和政策法 律类。这里只涉及技术安全类
11.1.1安全概述 2安全标准 为了准确地测定和评估计算机系统的安全性能,规范和 指导让算机系统的生 各国逐步建立和发展了一套 可信计算机系统安全性的评测标准 其中,1985 年美国国防部颁布的《DoD可信计算机系统评估标准》 (Trusted Computer System Evaluation Critical TCSEC)和1991年美国国家计算机安全中心(NCSC 颁发的《可信计算机系统评估标准关于可信数据库系 统的解释》( Trusted Database Interpretation,TDl 最为重要。TD将 TCSEC扩展到数据库管理系统,定 义了数据库系统设计与实现中需要满足及其评估的安 全性级别标准。 TCSEC/TD将系统划分为DCBA四组,D,C1,C2,B1, B2,B3,A1从低到高7个等级。较高的安全等级提供 的安全保护要包含较低等级的所有保护要求,同时提 供更多完善的保护。7个安全等级的基本要求如下:
11.1.1 安全概述----------2.安全标准 为了准确地测定和评估计算机系统的安全性能,规范和 指导计算机系统的生产,各国逐步建立和发展了一套 “可信计算机系统安全性的评测标准”。其中,1985 年美国国防部颁布的《DoD可信计算机系统评估标准》 (Trusted Computer System Evaluation Critical, TCSEC)和1991年美国国家计算机安全中心(NCSC) 颁发的《可信计算机系统评估标准关于可信数据库系 统的解释》(Trusted Database Interpretation,TDI) 最为重要。TDI将TCSEC扩展到数据库管理系统,定 义了数据库系统设计与实现中需要满足及其评估的安 全性级别标准。 TCSEC/TDI将系统划分为DCBA四组,D,C1,C2,B1, B2,B3,A1从低到高7个等级。较高的安全等级提供 的安全保护要包含较低等级的所有保护要求,同时提 供更多完善的保护。7个安全等级的基本要求如下:
11.1.1安全概述-2安全标准 (1)D级:提供最小保护。如DOS是操作系统中安全标准为D的典型例子,它具有 操作系统的基本功能,如文件系统的基本功能,如文件系统、进程调度等,但在 安全性方面几乎没有专门的机制来保障。 (2)C1级:提供自主安全保护。实现用户与数据的分离,进行自主存取控制,保护 和限制用户权限的传播。 (3)C2级:提供受控的存取保护。将C1级的DAC进一步细化,以个人身份注册负 责,并实施审计和隔离,是安全产品的最低档次。 (4)B1级:标记安全保护。对系统的数据加以标记,并对标记的主体和客体实施强 制存取控制。B1级较好地满足大型企业或一般政府部门对于数据的安全需求,辶 一级别的产品才认为是真正意义上的安全产品。满足B1级的产品出售允许冠以 security或 trusted字样 (5)B2级:结构化保护。建立形式化的安全策略模型并对系统的所有主体和客体实 施DAC和MAC。达到B2级的系统非常稀少,在数据库方面没有此级别的产品。 (6)B3级:安全域保护。要求可信任的运算基础必须满足访问监控器的要求,审计 跟踪能力更强,并提供系统恢复过程。 (⑦)A1级:验证设计。提供B3级保护的同时给出系统形式化设计说明和验证以确 保各安全保护的真正实现
11.1.1 安全概述----------2.安全标准 (1)D级:提供最小保护。如DOS是操作系统中安全标准为D的典型例子,它具有 操作系统的基本功能,如文件系统的基本功能,如文件系统、进程调度等,但在 安全性方面几乎没有专门的机制来保障。 (2)C1级:提供自主安全保护。实现用户与数据的分离,进行自主存取控制,保护 和限制用户权限的传播。 (3)C2级:提供受控的存取保护。将C1级的DAC进一步细化,以个人身份注册负 责,并实施审计和隔离,是安全产品的最低档次。 (4)B1级:标记安全保护。对系统的数据加以标记,并对标记的主体和客体实施强 制存取控制。B1级较好地满足大型企业或一般政府部门对于数据的安全需求,这 一级别的产品才认为是真正意义上的安全产品。满足B1级的产品出售允许冠以 security或trusted字样。 (5)B2级:结构化保护。建立形式化的安全策略模型并对系统的所有主体和客体实 施DAC和MAC。达到B2级的系统非常稀少,在数据库方面没有此级别的产品。 (6)B3级:安全域保护。要求可信任的运算基础必须满足访问监控器的要求,审计 跟踪能力更强,并提供系统恢复过程。 (7)A1级:验证设计。提供B3级保护的同时给出系统形式化设计说明和验证以确 保各安全保护的真正实现
11.1.2数据库安全性概述 在规划和设计数据库的安全性时,一般要从系统的 角度,整体考虑网络系统、操作系统和数据管理 系统三个层次的支持和配合,从外到内保证数据 的安全。这里只讨论数据库管理系统的安全体系 结构,主要包括登录、数据库用户和操作权限等, 如图11-1所示 客户机安全性 QL Server登录 数据库用户 数据库对象访问权限 用c+→人寄妈口→下服多器 数据库 数据库对象 图11-1 SQL Server安全体系结构
11.1.2 数据库安全性概述 在规划和设计数据库的安全性时,一般要从系统的 角度,整体考虑网络系统、操作系统和数据管理 系统三个层次的支持和配合,从外到内保证数据 的安全。这里只讨论数据库管理系统的安全体系 结构,主要包括登录、数据库用户和操作权限等, 如图11-1所示。 图11-1 SQL Server安全体系结构
112 SQL Server登录 登录(身份验证)是指核对登录 SQL Server实 例的登录账户和密码是否正确,从而确认用户 是否具有连接 SQL Server服务器的权限。登 录服务器属于 SQL Server的第1个安全层次。 112.1登录账户 11.22身份验证模式 112.3创建登录账户
11.2 SQL Server登录 登录(身份验证)是指核对登录SQL Server实 例的登录账户和密码是否正确,从而确认用户 是否具有连接SQL Server服务器的权限。登 录服务器属于SQL Server的第1个安全层次。 11.2.1 登录账户 11.2.2 身份验证模式 11.2.3 创建登录账户
11.2.1登录账户 用户连接到 SQL Server服务器的账号均称为登录账户。登录账户只有成功连接 上 SQL Server服务器实例,才有访问整个 SQL Server服务器的资源的可能。 1.两类登录帐户 SQL Server2000提供了两类登录账户: Windows登录账户和 SQL Server登录 账户 indows登录账户是由 Windows系统( Windows身份验证模式)负责验证身份 的登录帐号,授予 Windows用户或组对 SQL Server系统的访问权限。 SQL Server登录帐号是由 SQL Server系统( SQL Server身份验证模式)自身负 责验证身份的登录帐号。 2.默认登录帐户 (1)sa:即默认系统管理员( system administrator)账户,该账户在SQL Server系统和所有数据库中拥有所有的权限。默认情况下,它指派给服务器 角色 sysadmin,且不允许更改和删除。在安装 SQL Server时,如果使用混 合模式进行身份验证,则 SQL Server安装程序将提示更改sa的登录密码,建 议立即分配密码以防未授权用户访问。以sa账户登录后可以创建和管理其← 登录账户。 (2) BULTIN Administrators:表示 Windows系统中的 Administrators组的成员 账户都允许作为 SQL Server登录账户,与sa权限等价。 打开“企业管理器”:展开控制台目录,直至“安全性”目录,选择“登录” 节点,显示两个默认的登录账户,如图1-所示
11.2.1 登录账户 用户连接到SQL Server服务器的账号均称为登录账户。登录账户只有成功连接 上SQL Server服务器实例,才有访问整个SQL Server服务器的资源的可能。 1.两类登录帐户 SQL Server 2000提供了两类登录账户:Windows登录账户和SQL Server登录 账户。 Windows登录账户是由Windows系统(Windows身份验证模式)负责验证身份 的登录帐号,授予Windows用户或组对SQL Server系统的访问权限。 SQL Server登录帐号是由SQL Server系统(SQL Server身份验证模式)自身负 责验证身份的登录帐号。 2.默认登录帐户 (1)sa:即默认系统管理员(system administrator)账户,该账户在SQL Server系统和所有数据库中拥有所有的权限。默认情况下,它指派给服务器 角色sysadmin,且不允许更改和删除。在安装SQL Server时,如果使用混 合模式进行身份验证,则SQL Server安装程序将提示更改sa的登录密码,建 议立即分配密码以防未授权用户访问。以sa账户登录后可以创建和管理其它 登录账户。 (2)BULTIN\Administrators:表示Windows系统中的Administrators组的成员 账户都允许作为SQL Server登录账户,与sa权限等价。 打开“企业管理器”,展开控制台目录,直至“安全性”目录,选择“登录” 节点,显示两个默认的登录账户,如图11-1所示
11.2.1登录账户 打开“企业管理器”,展开控制台目录,直至“安 全性”目录,选择“登录”节点,显示两个默认 的登录账户,如图11-2所示。 控制台根目录 crosoft SQL Servers\SQL Ser.回 空制台根目录 登录2个项目 闺 Microsoft SQL S 日 SQL Server组 名称 类型 服务器访问 SHUJU CW s'BUILTIN\Administrators Windows组许可 □数据库 标准 许可 t口数据转换 口管理 口复制 白口安全性 登录 服务{v 图11-2默认的登录账户
11.2.1 登录账户 打开“企业管理器”,展开控制台目录,直至“安 全性”目录,选择“登录”节点,显示两个默认 的登录账户,如图11-2所示。 图11-2 默认的登录账户
1122身份验证模式 不管使用哪种登录账户,只有通过身份验证,才能连接到指定的 SQL Server服务器实例,进而访问整 个 SQL Server服务器。 SQL Server提供了两种身份验证模式:仅 Windows模式和混合模式(SQL Server和 wIndows),两种模式具有同样的安全机制 1.仅 Windows模式 SQL Server通常运行在 Windows服务器平台上,而 Windows本身有一套用户管理系统,具有验证用户 身份和管理用户登录的功能。在这种模式下,只要用户通过 windows身份认证,就可以连接到SQL Server实例,而 SQL Server通过回叫 Windows以获得信息,重新验证账户名和密码。 Windows模 式只允许使用 Windows登录账户连接 SQL Server服务器 如果用户使用空白登录名连接到 SQL Server实例,则 SQL Server将使用 Windows身份验证。如果试图 使用特定的登录连接到配置为 Windows身份验证的 SQL Server实例,则将忽略该登录并使用 Windows身份验证。 2.混合模式( SQL Server和 Windows) 混合模式下,既可以使用 Windows模式验证 Windows登录账户,也可以使用 SQL Server模式验证SQL Server登录账户。当使用 SQL Server身份验证,还须提供登录账号名和密码。 如果 SQL Server运行在 Windows9X系统上,则只能使用混合模式,因为 indows9x系统上不支持 Windows身份验证模式 3.设置验证模式 要设置身份验证模式,用户必须使用系统管理员账户。 在企业管理器中,右击数据库服务器的实例名,弹出快捷菜单,选择“属性”命令,如图11-2所示,单 击释放后,弹出如图113所示的“ SQL Server属性(配置)”对话框,选择“安全性”选项,即可 以设置身份验证模式
11.2.2 身份验证模式 不管使用哪种登录账户,只有通过身份验证,才能连接到指定的SQL Server服务器实例,进而访问整 个SQL Server服务器。SQL Server提供了两种身份验证模式:仅Windows模式和混合模式(SQL Server和Windows),两种模式具有同样的安全机制。 1.仅Windows模式 SQL Server通常运行在Windows服务器平台上,而Windows本身有一套用户管理系统,具有验证用户 身份和管理用户登录的功能。在这种模式下,只要用户通过windows身份认证,就可以连接到SQL Server实例,而SQL Server通过回叫Windows 以获得信息,重新验证账户名和密码。Windows模 式只允许使用Windows登录账户连接SQL Server服务器。 如果用户使用空白登录名连接到SQL Server实例,则SQL Server将使用Windows身份验证。如果试图 使用特定的登录连接到配置为Windows身份验证的SQL Server实例,则将忽略该登录并使用 Windows身份验证。 2.混合模式(SQL Server和Windows) 混合模式下,既可以使用Windows模式验证Windows登录账户,也可以使用SQL Server模式验证SQL Server登录账户。当使用SQL Server身份验证,还须提供登录账号名和密码。 如果SQL Server运行在Windows 9x系统上,则只能使用混合模式,因为Windows 9x系统上不支持 Windows身份验证模式。 3.设置验证模式 要设置身份验证模式,用户必须使用系统管理员账户。 在企业管理器中,右击数据库服务器的实例名,弹出快捷菜单,选择“属性”命令,如图11-2所示,单 击释放后,弹出如图11-3所示的“SQL Server属性(配置)”对话框,选择“安全性”选项,即可 以设置身份验证模式