三大数据库安全性控制方法比较分析

上传人:第*** 文档编号:34054157 上传时间:2018-02-20 格式:DOCX 页数:6 大小:25.01KB
返回 下载 相关 举报
三大数据库安全性控制方法比较分析_第1页
第1页 / 共6页
三大数据库安全性控制方法比较分析_第2页
第2页 / 共6页
三大数据库安全性控制方法比较分析_第3页
第3页 / 共6页
三大数据库安全性控制方法比较分析_第4页
第4页 / 共6页
三大数据库安全性控制方法比较分析_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《三大数据库安全性控制方法比较分析》由会员分享,可在线阅读,更多相关《三大数据库安全性控制方法比较分析(6页珍藏版)》请在金锄头文库上搜索。

1、三大数据库安全性控制方法比较分析武汉大学国际软件学院,湖北省 武汉市 430079摘要:近几年来,数据库的应用已越来越广泛,但同时也带来了数据的安全隐患。本文选取市场占有最大的三种数据库,从维护数据库系统安全的角度,讨论 ORCAL、DB2、SQL SERVER 数据库访问控制,并提出三种数据库应用时的安全措施,从而有效的增强数据库的安全性。 关键字:ORACLE,DB2,SQL,数据库,安全性 1 引言数据库的一大特点是数据可以共享,但数据共享必然带来数据库的安全性问题,因此数据库系统中的数据共享不能是无条件的共享。数据库中数据的共享是在 DBMS统一的严格的控制之下的共享,即只允许有合法使

2、用权限的用户访问允许他存取的数据数据库系统的安全保护措施是否有效是数据库系统主要的性能指标之一2 用户标识与鉴别用户标识与鉴别是系统提供的最外层安全保护措施。系统提供一定的方式让用户标识自己的名字或身份;系统内部记录着所有合法用户的标识;每次用户要求进入系统时,由系统核对用户提供的身份标识;通过鉴定后才提供机器使用权。几乎所有数据库产品基本都涉及这个流程,只是各个侧重点和安全性要求不同。2.1 ORACLE 的用户标识和鉴定在 ORACLE中,最外层的安全性措施是让用户标识自己的名字,然后由系统进行核实。ORACLE允许用户标识重复三次,如果三次仍未通过,系统自动退出。通过验证目的和用户的同,

3、Oracle 验证分为 SYS用户验证和普通用户验证。SYS用户验证:SYS 用户拥有数据库的完全控制权,对其验证时,数据库往往还未启动,ORACLE采用两种方式来验证 SYSDBA用户:操作系统验证和口令文件验证。操作系统验证(外部身份认证)操作系统认证:即 oracle认为操作系统用户是可靠的,即既然能登陆到操作系统那么oracle数据库你也能登陆(即为操作系统用户提供的一种登陆方式)。操作系统验证具有最高优先级,当设置为他时,口令文件验证不起作用。 口令文件验证要使用口令文件验证,首先禁用操作系统验证,其次是设置口令验证配置参数。Oracle认证认为操作系统用户是不可信任的,如果要访问数

4、据库,必须进行再次认证。普通 ORACLE用户验证:SYS 用户是在数据库还没启动时登录数据库进行启动操作,而普通用户是在数据库启动后操作不同方案下的对象。普通用户采用的是数据字典的验证方式。2.2 IBM DB2 的用户标识和鉴定在 IBM DB2用户验证由 DB2之外的安全性工具完成,这个工具通常是操作系统的一部分或独立产品。安装 DB2 数据库系统时就包括了依赖于基于操作系统的认证的缺省认证安全插件模块。DB2 数据库管理器还提供了用于 Kerberos 和轻量级目录访问协议(LDAP)的认证插件模块。可以构建自己的认证安全插件模块。具体由配置参数来确定如何检验认证信息和标识,从而确定是

5、否权访问实例和数据库。2.3 SQL Server 的用户标识和鉴定在 SQL Server中对应的是 Windows NT/2000登录账号和口令以及 SQL Server用户登录账号和口令。SQL Server 支持 Windows身份验证模式和混合模式两种身份验证模式。这两种身份验证模式的区别有:(1) Windows 身份验证模式只进行 Windows 身份验证。用户不能指定 SQL Server 2000 登录 ID。这是 SQL Server 2000 的默认身份验证模式。不能为在 Windows 98 上运行的 SQL Server 实例指定 Windows 身份验证模式,因为此

6、操作系统不支持 Windows 身份验证。(2) 混合模式如果用户在登录时提供了 SQL Server 2000 登录 ID,则系统将使用 SQL Server 身份验证对其进行验证。如果没有提供 SQL Server 2000 登录 ID 或请求 Windows 身份验证,则使用 Windows 身份验证对其进行身份验证。3 GRANT、REVOKE 语句及视图关系3.1 授权语句 GRANTGRANT语句一般格式:GRANT(priv-type priv),ONtable|view|storage process|sql sequence|all-except(sql sequence)A

7、S nameTOPUBLIC|group number|user nameWITH grant-optAT conditionGRANT语句一次将一个客体的一组固定类型的授权授予一个主体。可执行 GRANT操作的用户包括客体的所有者和组管理员。3.2 取消授权语句 REVOKEREVOKE(priv-type priv),|allONtable|view|storage process|sql sequence|all-except(sql sequence)|nameFROMPUBLIC|group number|user nameREVOKE语句可将授予一个或者多个主体的授权取消。FROM

8、 后使用 PUBLIC关键字的话则取消所有被当前授权支持的授权。可执行 REVOKE操作的用户为客体的拥有者和组管理员。3.3 GRANT、REVOKE 与视图的关系分析Grant和 revoke主要是给表、视图、列上分配或失去权限的。视图使得数据库结构得到逻辑上的扩充,数据库设计者可以在不改变视图列(用户使用)的情况下,基于业务修改数据库。简化数据库结构和关系图,将复杂查询转化为视图,方便检索。安全性提高。可以对视图进行加密处理。通过视图机制把要保密的数据对无权存取的用户隐藏起来,从而自动地对数据提供一定程度的安全性。通过视图用户只能查询和修改他们所能见到的数据。数据库中的其他数据则既看不见

9、也取不到。数据库 GRANT、REVOKE 授权命令可以使每个用户对数据库的检索限制到特定的数据库对象上,但不能授权到数据库特定行和特定的列上。通过视图,用户可以被限制在数据的不同子集上。同时,视图机制的安全保护功能太不精细,往往不能达到应用系统的要求,其主要功能在于提供了数据库的逻辑独立性。在实际应用中,通常将视图机制与授权机制结合起来使用,首先用视图机制屏蔽一部分保密数据,然后在视图上再进一步定义存取权限。4 角色、权限和特权4.1 ORACLE 访问控制方法ORACLE的权限包括系统权限和数据库对象的权限,采用非集中式的授权机制,即 DBA负责授予与回收系统权限,每个用户授予与回收自己创

10、建的数据库对象的权限。ORACLE 允许重复授权和无效回收,即可将某一权限多次授予同一用户,或者回收用户不具有的某权限,系统不会出错。ORACLE提供了 80多种系统权限,如创建会话、创建表、创建视图、创建用户等。DBA在创建一个用户时需要将其中的一些权限授予该用户。ORACLE支持角色的概念。所谓角色就是一组系统权限的集合,目的在于简化权限管理。ORACLE除允许 DBA 定义角色外,还提供了一些预定义的角色,如 CONNECT,RESOURCE 和DBA。4.2 DB2 访问控制方法访问控制方法用于创建信息内容的子集,从而用户可以只查看或存取与其需要相关的数据。您可以在 DB2 中使用许多

11、不同的访问控制方法。访问控制是为您在数据库中所进行的一切操作而存在的。使用数据包的访问控制。数据包是与一条或多条 SQL 语句有关的信息集合,这是 DB2内 SQL 的基本访问控制点。数据包中包括诸如优化器生成的访问计划和授权模型等信息。向数据库引擎发出的任何语句都会和特定数据包有关。4.3 SQL Server 访问控制策略 Microsoft SQL Server对用户的访问控制分为以下两个阶段:登录帐户认证;访问许可确认。在登录帐户认证阶段, Windows NT 操作系统或 SQL Server对用户登录进行认证,如果认证成功, 用户则可连接到 SQL Server, 否则服务器将拒绝

12、用户的连接请求。 用户成功连接到 SQL Server后, 系统根据数据库中保存的与服务器登录标识相对应的用户帐户判断他们是否具有对数据库的访问许可。用户对数据库的访问许可被确认后才可访问指定的数据库对象,否则, SQL Server 将拒绝用户对数据库的操作。 在 SQL Server中, 服务器登录标识由系统管理员创建, 而对数据库对象的访问许可则由数据库对象所有者授权。使用视图的访问控制。视图是另一种主要限制对数据的低级(也称为“行级”)存取的访问控制方法。通过使用视图,您就可以对 SQL 语句隐藏驻留在原始表中的敏感信息的行和列。您可以通过根据视图授予特权使用户可以存取信息。因为这些特

13、权只适用于视图,不会影响基本表,所以用户的存取范围仅限于视图,而该视图是通过创建所需表中数据的子集生成的。WITH CHECK 选项甚至提供更多的安全性,因为它不会让特定的 SQL 语句改变用户在视图中没有特权读取的那些行。5 审计当数据非常敏感时,采用审计的方法,跟踪记录有关这些数据的访问活动。审计中用一个特殊的文件来自动记录用户对数据库的操作。分析审查这些审计记录,可以找出导致数据库出现安全问题的一系列事件,从而找到非法存取数据库的人。审计能够对非法窃取数据的人起到警示作用,使其不敢轻举妄动。审计是需要在时间和空间上付出代价的,所以 DBMS经常将其作为可选的设置,由 DBA根据应用对安全

14、的要求,灵活地打开或关闭审计功能,以达到安全和效率的折衷。 5.1 ORACLE 的审计技术在 ORACLE中,审计分为用户级审计和系统级审计。用户级审计是任何 ORACLE 用户可设置的审计,主要是用户针对自己创建的数据库表或视图进行审计,记录所有用户对这些表或视图的一切成功和/或不成功的访问要求以及各种类型的 SQL操作。系统级审计只能由DBA进行,可以监测成功或失败的登录要求,监测 GRANT和 REVOKE操作以及其他数据库级权限下的操作。ORACLE的审计功能很灵活,是否使用审计,对哪些表进行审计,对哪些操作进行审计等,都可以由用户自由选择。为此,ORACLE 提供了 AUDIT语句

15、设置审计功能,NOAUDIT 语句取消审计功能。设置审计时,可以详细指定对 SQL操作进行审计。例如,如果想对修改SC表结构或数据的操作进行审计,可使用如下语句:AUDIT ALTER,UPDATE ON SC取消对 SC表的一切审计可使用如下语句:NOAUDIT ALL ON SC在 ORACLE中,审计设置以及审计内容均存放在数据字典中。5.2 DB2 的审计技术DB2 UDB 审计功能是 DBA 工具箱中一件重要的安全性工具。它可以生成对一系列预定义的数据库事件的审计跟踪,并允许 DBA 维护审计跟踪。它可以对一些数据库事件,例如授权检查、数据库对象维护、安全性维护、系统管理和用户验证等

16、做日志记录。本文向您展示如何有效地使用该功能对可疑的系统活动进行跟踪和调查。审计发生在实例级,这意味着一旦启动审计功能,它就会审计那个实例中所有数据库的活动。审计功能必须单独启动和停止。例如,如果使用 db2stop 命令停止一个实例,那么审计功能不会自动停止;它必须单独使用 db2audit stop 命令来停止。 只有具有 SYSADM 权限的用户才能配置和使用审计功能。审计记录通常首先被写入到一个内存缓冲区,然后才刷新到磁盘。缓冲区的大小是由 AUDIT_BUF_SZ 这个数据库管理器配置参数决定的。该参数指定为审计缓冲分配的 4K 大小的页面的数量。缓冲区大小的选择将在很大程度上影响审计的性能,因为可能要将很多记录写到审计日志中。对 DB2进行安全审计虽然可以在很大程度上保证数据库信息的安全性,但是也会增加系统的各类开销,例如启动 DB2 AUDIT TRACE的时候,每个 TASK将增加 5%的 CPU消耗,同时也会增加系统存储等资源的消耗,在一定程度上影响系统性能。因此数据库管理员

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号