三大数据库安全控制方法比较分析.docx_第1页
三大数据库安全控制方法比较分析.docx_第2页
三大数据库安全控制方法比较分析.docx_第3页
三大数据库安全控制方法比较分析.docx_第4页
三大数据库安全控制方法比较分析.docx_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

三大数据库安全性控制方法比较分析武汉大学国际软件学院,湖北省 武汉市 430079摘要:近几年来,数据库的应用已越来越广泛,但同时也带来了数据的安全隐患。本文选取市场占有最大的三种数据库,从维护数据库系统安全的角度,讨论ORCAL、DB2、SQL SERVER数据库访问控制,并提出三种数据库应用时的安全措施,从而有效的增强数据库的安全性。关键字:ORACLE,DB2,SQL,数据库,安全性1 引言数据库的一大特点是数据可以共享,但数据共享必然带来数据库的安全性问题,因此数据库系统中的数据共享不能是无条件的共享。数据库中数据的共享是在DBMS统一的严格的控制之下的共享,即只允许有合法使用权限的用户访问允许他存取的数据数据库系统的安全保护措施是否有效是数据库系统主要的性能指标之一2 用户标识与鉴别用户标识与鉴别是系统提供的最外层安全保护措施。系统提供一定的方式让用户标识自己的名字或身份;系统内部记录着所有合法用户的标识;每次用户要求进入系统时,由系统核对用户提供的身份标识;通过鉴定后才提供机器使用权。几乎所有数据库产品基本都涉及这个流程,只是各个侧重点和安全性要求不同。2.1 ORACLE的用户标识和鉴定在ORACLE中,最外层的安全性措施是让用户标识自己的名字,然后由系统进行核实。ORACLE允许用户标识重复三次,如果三次仍未通过,系统自动退出。通过验证目的和用户的同,Oracle验证分为SYS用户验证和普通用户验证。SYS用户验证:SYS用户拥有数据库的完全控制权,对其验证时,数据库往往还未启动,ORACLE采用两种方式来验证SYSDBA用户:操作系统验证和口令文件验证。操作系统验证(外部身份认证)操作系统认证:即oracle认为操作系统用户是可靠的,即既然能登陆到操作系统那么oracle数据库你也能登陆(即为操作系统用户提供的一种登陆方式)。操作系统验证具有最高优先级,当设置为他时,口令文件验证不起作用。 口令文件验证要使用口令文件验证,首先禁用操作系统验证,其次是设置口令验证配置参数。Oracle认证认为操作系统用户是不可信任的,如果要访问数据库,必须进行再次认证。普通ORACLE用户验证:SYS用户是在数据库还没启动时登录数据库进行启动操作,而普通用户是在数据库启动后操作不同方案下的对象。普通用户采用的是数据字典的验证方式。2.2 IBM DB2的用户标识和鉴定在IBM DB2用户验证由DB2之外的安全性工具完成,这个工具通常是操作系统的一部分或独立产品。安装 DB2 数据库系统时就包括了依赖于基于操作系统的认证的缺省认证安全插件模块。DB2 数据库管理器还提供了用于 Kerberos 和轻量级目录访问协议(LDAP)的认证插件模块。可以构建自己的认证安全插件模块。具体由配置参数来确定如何检验认证信息和标识,从而确定是否权访问实例和数据库。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 身份验证模式,因为此操作系统不支持 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) AS nameTOPUBLIC|group number|user nameWITH grant-optAT conditionGRANT语句一次将一个客体的一组固定类型的授权授予一个主体。可执行GRANT操作的用户包括客体的所有者和组管理员。3.2 取消授权语句REVOKEREVOKE(priv-type priv),|all ONtable|view|storage process|sql sequence|all-except(sql sequence)|name FROMPUBLIC|group number|user nameREVOKE语句可将授予一个或者多个主体的授权取消。FROM后使用PUBLIC关键字的话则取消所有被当前授权支持的授权。可执行REVOKE操作的用户为客体的拥有者和组管理员。3.3 GRANT、REVOKE与视图的关系分析Grant和revoke主要是给表、视图、列上分配或失去权限的。视图使得数据库结构得到逻辑上的扩充,数据库设计者可以在不改变视图列(用户使用)的情况下,基于业务修改数据库。简化数据库结构和关系图,将复杂查询转化为视图,方便检索。安全性提高。可以对视图进行加密处理。通过视图机制把要保密的数据对无权存取的用户隐藏起来,从而自动地对数据提供一定程度的安全性。通过视图用户只能查询和修改他们所能见到的数据。数据库中的其他数据则既看不见也取不到。数据库GRANT、REVOKE授权命令可以使每个用户对数据库的检索限制到特定的数据库对象上,但不能授权到数据库特定行和特定的列上。通过视图,用户可以被限制在数据的不同子集上。同时,视图机制的安全保护功能太不精细,往往不能达到应用系统的要求,其主要功能在于提供了数据库的逻辑独立性。在实际应用中,通常将视图机制与授权机制结合起来使用,首先用视图机制屏蔽一部分保密数据,然后在视图上再进一步定义存取权限。4 角色、权限和特权4.1 ORACLE访问控制方法ORACLE的权限包括系统权限和数据库对象的权限,采用非集中式的授权机制,即DBA负责授予与回收系统权限,每个用户授予与回收自己创建的数据库对象的权限。ORACLE允许重复授权和无效回收,即可将某一权限多次授予同一用户,或者回收用户不具有的某权限,系统不会出错。ORACLE提供了80多种系统权限,如创建会话、创建表、创建视图、创建用户等。DBA在创建一个用户时需要将其中的一些权限授予该用户。ORACLE支持角色的概念。所谓角色就是一组系统权限的集合,目的在于简化权限管理。ORACLE除允许DBA 定义角色外,还提供了一些预定义的角色,如CONNECT,RESOURCE和DBA。4.2 DB2访问控制方法访问控制方法用于创建信息内容的子集,从而用户可以只查看或存取与其需要相关的数据。您可以在DB2中使用许多不同的访问控制方法。访问控制是为您在数据库中所进行的一切操作而存在的。使用数据包的访问控制。数据包是与一条或多条 SQL 语句有关的信息集合,这是DB2内 SQL 的基本访问控制点。数据包中包括诸如优化器生成的访问计划和授权模型等信息。向数据库引擎发出的任何语句都会和特定数据包有关。4.3 SQLServer访问控制策略MicrosoftSQLServer对用户的访问控制分为以下两个阶段:登录帐户认证;访问许可确认。在登录帐户认证阶段,WindowsNT操作系统或SQLServer对用户登录进行认证,如果认证成功,用户则可连接到SQLServer,否则服务器将拒绝用户的连接请求。用户成功连接到SQLServer后,系统根据数据库中保存的与服务器登录标识相对应的用户帐户判断他们是否具有对数据库的访问许可。用户对数据库的访问许可被确认后才可访问指定的数据库对象,否则,SQLServer将拒绝用户对数据库的操作。在SQLServer中,服务器登录标识由系统管理员创建,而对数据库对象的访问许可则由数据库对象所有者授权。使用视图的访问控制。视图是另一种主要限制对数据的低级(也称为“行级”)存取的访问控制方法。通过使用视图,您就可以对 SQL 语句隐藏驻留在原始表中的敏感信息的行和列。您可以通过根据视图授予特权使用户可以存取信息。因为这些特权只适用于视图,不会影响基本表,所以用户的存取范围仅限于视图,而该视图是通过创建所需表中数据的子集生成的。WITH CHECK 选项甚至提供更多的安全性,因为它不会让特定的 SQL 语句改变用户在视图中没有特权读取的那些行。5 审计当数据非常敏感时,采用审计的方法,跟踪记录有关这些数据的访问活动。审计中用一个特殊的文件来自动记录用户对数据库的操作。分析审查这些审计记录,可以找出导致数据库出现安全问题的一系列事件,从而找到非法存取数据库的人。审计能够对非法窃取数据的人起到警示作用,使其不敢轻举妄动。审计是需要在时间和空间上付出代价的,所以DBMS经常将其作为可选的设置,由DBA根据应用对安全的要求,灵活地打开或关闭审计功能,以达到安全和效率的折衷。 5.1 ORACLE的审计技术在ORACLE中,审计分为用户级审计和系统级审计。用户级审计是任何ORACLE 用户可设置的审计,主要是用户针对自己创建的数据库表或视图进行审计,记录所有用户对这些表或视图的一切成功和/或不成功的访问要求以及各种类型的SQL操作。系统级审计只能由DBA进行,可以监测成功或失败的登录要求,监测GRANT和REVOKE操作以及其他数据库级权限下的操作。ORACLE的审计功能很灵活,是否使用审计,对哪些表进行审计,对哪些操作进行审计等,都可以由用户自由选择。为此,ORACLE提供了AUDIT语句设置审计功能,NOAUDIT语句取消审计功能。设置审计时,可以详细指定对SQL操作进行审计。例如,如果想对修改SC表结构或数据的操作进行审计,可使用如下语句:AUDIT ALTER,UPDATE ON SC取消对SC表的一切审计可使用如下语句:NOAUDIT ALL ON SC在ORACLE中,审计设置以及审计内容均存放在数据字典中。5.2 DB2的审计技术DB2 UDB 审计功能是 DBA 工具箱中一件重要的安全性工具。它可以生成对一系列预定义的数据库事件的审计跟踪,并允许 DBA 维护审计跟踪。它可以对一些数据库事件,例如授权检查、数据库对象维护、安全性维护、系统管理和用户验证等做日志记录。本文向您展示如何有效地使用该功能对可疑的系统活动进行跟踪和调查。审计发生在实例级,这意味着一旦启动审计功能,它就会审计那个实例中所有数据库的活动。审计功能必须单独启动和停止。例如,如果使用db2stop 命令停止一个实例,那么审计功能不会自动停止;它必须单独使用 db2audit stop 命令来停止。 只有具有 SYSADM 权限的用户才能配置和使用审计功能。审计记录通常首先被写入到一个内存缓冲区,然后才刷新到磁盘。缓冲区的大小是由 AUDIT_BUF_SZ 这个数据库管理器配置参数决定的。该参数指定为审计缓冲分配的 4K 大小的页面的数量。缓冲区大小的选择将在很大程度上影响审计的性能,因为可能要将很多记录写到审计日志中。对DB2进行安全审计虽然可以在很大程度上保证数据库信息的安全性,但是也会增加系统的各类开销,例如启动DB2 AUDIT TRACE的时候,每个TASK将增加5%的CPU消耗,同时也会增加系统存储等资源的消耗,在一定程度上影响系统性能。因此数据库管理员应该根据应用对安全性的要求,灵活地打开或关闭审计功能。6.总结本文旨在探讨三大主流数据库安全性能,首先,分析了用户标识与鉴别;接下来再具体介绍了授权、取消语句及方法;以及审计方面的问题等。透过上述分析比较,三大主流数据库各有优缺点,而且都在不断改进

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论