【叙述Oracle数据库安全性】 数据库的安全性

  【摘 要】从数据库用户安全、权限设置、数据限制等几个方面对Oracle数据库的安全性能进行阐述。  【关键词】Oracle数据库;安全;数据  数据库在企事业单位得到了越来越广泛地应用,数据库中存在着许多关键数据,这些数据对于企事业单位有着至关重要的作用;因此,数据库安全方面的问题就显得极为重要,必须加强对数据库安全技术的研究。Oracle数据库是应用最为广泛的数据库系统,因此如何保证Oracle数据库的安全有着极为重要的意义。
  Oracle数据库在通常条件下可以保证数据库的安全性和稳定性,如果数据库的操作系统受到其他计算机或者网络的故障影响,那么数据的安全性就会受到威胁,甚至出现Oracle数据库瘫痪的现象。为了保证数据库的安全性,必须对数据库采用安全技术来保证系统的正常运行,确保数据的绝对安全和可靠。
  一、用户安全管理
  由于用户是定义在数据库中的一个名称,它是Oracle数据库的基本访问控制机制。当用户要连接到Oracle数据库以进行数据访问时,必须要提供合法的用户名及其口令,如CONNECT scott/tiger。Oracle数据库是可以为多个用户共享使用的,一个数据库中通常会包含多个用户。数据库在新建后通常会自动建好一些用户,其中最重要的有sys和system两个管理员用户及scott等一些普通用户。数据库每个用户都可以拥有自己的对象,一个用户所拥有对象的集合称为一个模式,用户与模式具有一一对应的关系,并且两者名称相同。不同模式中可以具有相同的数据库对象名,即不同用户下的对象名称可以相同。对象的访问格式为[模式名.]对象名,只有访问自己模式对象时,模式名才可以省略。
  1、用户创建
  数据库管理员可以定义和创建新的数据库用户,可以为用户更改口令,可以锁定某用户禁止其登录数据库,总之,用户管理工作是数据库管理员的职责之一。
  创建用户必须具有CREATE USER系统权限。通常情况下只有数据库管理员或安全管理员才拥有CREATE USER权限。
  创建用户时除了指定用户名外,还要指出验证方式、默认使用表空间、空间使用限额、用户是否被锁定、用于资源限制的概要文件等选项。验证方式包括数据库口令验证、操作系统验证。数据库口令验证要求用户登录时必须要提供口令。
  2、特权用户
  特权用户是指具有特殊权限(SYSDBA或SYSOPER)的数据库用户,这类用户主要用于执行数据库的维护操作,例如,启动和关闭数据库、建立数据库、备份和恢复等任务。
  从Oracle9i开始,当建立实例服务时会建立名称为sys的特权用户。另外,当将初始化参数REMOTE—LOGIN_PASSWORDFILE设置为EXCLUSIVE时,还可以将SYSDBA和SYSOPER特权授予其他用户。
  需要注意的是,从Oracle9i开始,sys用户或其他欲以特权身份登录的用户登录必须带有As SYSDBA或AS SYSOPER子句,而且特权用户都对应sys用户,表1验证了这一点。
  3、修改用户
  1)更改口令
  使用ALTER USER命令可以修改用户的信息,但是需要由DBA或者具有ALTER USER系统权限的用户来完成。用户经常更改登录口令是一个不错的习惯。每个用户都可以使用如下命令修改其自身口令:SQL>ALTER USER testuser IDENTIFIED BY ertghj。当用户遗忘了口令无法登录时,可以由DBA使用上述命令为其重设一个新口令。
  2)更改某个表空间的使用配额
  用户在某个表空间的使用配额可能会根据实际情况有所调整。
  3)更改用户的状态
  不希望某用户使用数据库数据时,可以将此用户进行锁定:SQL>ALTER USER testuser ACCOUNT LOCK;而解除对testuser用户账户的锁定,使用如下命令:SQL>ALTER USER testuser ACCOUNT UNLOCK;删除用户之后,Oracle会从数据字典中删除用户及该用户拥有对象的信息。
  特权用户具有启动、关闭数据库等特权,通过查询动态性能视图v$pwfile_users,可以确定有哪些特权用户及他们有哪些特权,这样的话就保证了Oracle数据库的安全。
  二、权限管理
  权限用于限制用户可执行的操作,即限制用户在数据库中或对象上可以做什么,不可以做什么。新建立用户没有任何权限,不能执行任何操作,只有给用户授予了特定权限或角色之后,该用户才能连接到数据库,进而执行相应的SQL语句或进行对象访问操作。
  Oracle中权限分为系统权限和对象权限两种类型。
  1、系统权限。系统权限是在数据库中执行某种操作,或者针对某一类的对象执行某种操作的权力。系统权限并不针对某一个特定的对象,而是针对整个数据库范围。
  2、对象权限。对象权限是一种对于特定的表、视图、序列、过程、函数或程序包执行特定操作的一种权限或权力。
  角色管理。角色就是一组权限的集合。角色可以被授予用户或其他的角色,把角色分配给用户,就是把角色所拥有的权限分配给了用户。
  使用角色可以更容易地进行权限管理,主要体现在如下三个方面。(1)减少了授权工作:用户可以先将权限授予一个角色,然后再将角色授予每一个用户,而不是将一组相同的权限授予多个用户。(2)动态权限管理:当一组权限需要改变时,只需要更改角色的权限,则所有被授予了此角色的用户自动地立即获得了修改后的权限。(3)方便地控制角色的可用性:角色可以临时禁用和启用,从而使权限变得可用和不可用。(4)PROFILE管理。PROFILE也称配置文件或概要文件,是口令限制和资源限制的命名集合。数据库每个用户都会对应一个配置文件。当建立数据库时,系统会自动建立DEFAULT配置文件,该文件的所有口令及资源限制选项初始值均为UNLIMITED,即未进行任何口令和资源限制。当建立用户时,如果不指定PROFILE子句,则Oracle会将DEFAULT分配给该用户。根据用户所承担任务的不同,DBA应该建立不同的PROFILE,并将PROFILE分配给相应的用户。
  (1)使用PROFILE可以管理口令和进行资源限制。管理口令有锁定账户、终止口令、口令历史以及口令校验等四种安全保护方式,共包含了7个口令管理选项,如果仅指定某个或某几个选项,那么其他选项将自动使用DEFAULT的相应选项值。
  在大而复杂的多用户数据库管理环境中,用户众多,不仅需要管理这些用户的口令,还要对每个用户或会话使用的CPU、内存等系统资源予以限制,以有效地利用系统资源确保系统性能。使用PROFILE进行资源限制,既可以限制整个会话的资源占用,也可以限制调用级(SQL语句)的资源占用。(2)修改与删除PROFILE。当口令和资源限制无法满足目前的实际需求时,就需要修改口令及资源限制。修改口令及资源限制由ALTER PROFILE命令完成,使用该命令要求用户必须具有ALTER PROFILE系统权限。
  删除PROFILE使用DROP PROFILE命令完成,只是如果PROFILE已经被分配给某个用户,那么删除PROFILE时还必须带有CASCADE选项。
  四、总结
  作者主要对Oracle数据库的安全性进行了阐述,包括如何创建用户与更改用户属性、如何管限、角色的概念及如何通过角色管理权限。
  一位Oracle的发言人说,一个产品被报告的缺陷点的数量并不能度量这个软件的安全性。同时说:“产品具有丰富的特色、性能、版本以及支撑平台,安全性的度量是一个非常复杂的过程,消费者们必须考虑诸多因素——包括使用案例、缺省配置、缺陷补救以及揭发策略和实施等。”
  参考文献:
  [1]于淑云,马继军.Oracle数据库安全问题探析与应对策略[J].软件导刊,2010,(10).
  [2]孙银昌,夏跃伟,刘兰兰.ORACLE数据库安全策略和方法[J]煤炭技术,2012,(3).
  [3]李红,刘志杰,谢晓尧.Oracle分布式数据库系统及网络安全策略研究[J].贵州师范大学学报(自然科学版),2011,(8).

推荐访问:叙述 安全性 数据库 Oracle