您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据库 > Oracle数据库安全方案
1Oracle数据库安全数据库高可信安全HAP=数据库机制+DBV机制一、Oracle提供的主要安全性措施身份认证功能(Authentication):识别访问个体的身份数据访问的机密性(Confidentialty):保证敏感数据访问的机密性。数据完整性(Integrity):保证数据不被篡改。授权能力(Authorization):保证被授权用户对数据的查询和修改能力。访问控制(AccessControl):确定对指定数据的访问能力。审计能力(Auditing):提供监测用户行为的能力。私有性(Privacy):提供对敏感数据访问的私密性。高可用性(Availability):保证数据和系统提供不间断服务的能力。代理管理能力(DelegatedAdministration):提供对用户帐号的集中管理功能。二、Oracle的安全性领域:Profile控制Oracle利用profile机制来管理会话资源占用,同时也管理用户密码的安全策略。通过profile我们可以实现:某个特定用户最多只能占用系统百分之几的CPU时间?某个特定用户连接到数据库之后能存活多长时间?某个特定用户连接到数据库之后多长时间处于非活跃状态就将被系统中断连接?用户登录密码输入错误多少次之后就将自动锁定用户?2用户密码的长度和包含的字符必须符合什么样的规则?用户密码在多少天后将自动失效并要求设定新密码?用户权限控制(Privilage)Oracle通过角色(Role),权限(Privilage)等的一系列授予(Grant)和回收(Revoke)操作可以有效的进行用户的权限控制。通过权限控制我们可以实现:某个特定用户只能读取而不能修改另一个用户的表数据。某个特定用户只能运行Oracle数据库系统的几个存储过程或者函数。某个特定用户自己能够拥有修改某些数据的权力,但是却无法给其它不拥有这个权限的用户授予修改该数据的权力。某个特定用户可以读取数据但是无法创建新的表空间。三、组和安全性:在操作系统下建立用户组也是保证Oracle数据库安全性的一种有效方法。Oracle程序为了安全性目的一般分为两类:一类所有的用户都可执行,另一类只DBA可执行。在Unix环境下组设置的配置文件是/etc/group。保证安全性的几种方法:(1)在安装OracleServer前,创建数据库管理员组(DBA)而且分配root和Oracle软件拥有者的用户ID给这个组。DBA能执行的程序只有710权限。在安装过程中SQL*DBA系统权限命令被自动分配给DBA组。3(2)Oracle数据库中的两个具有DBA权限的用户Sys和System的缺省密码是manager。为了您数据库系统的安全,修改这两个用户的密码,具体操作如下:在SQL*DBA下键入:alterusersysindentifiedbyoracle;alterusersystemindentifiedbyoracle;其中oracle为用户设置的密码。(3)Oracle数据库中,在项目上线时可将db_exadmin用户权限revoke收回,只保留执行存储过程的查询权限。四、Oracle服务器实用例程的安全性:(1)确保$ORACLE_HOME/bin目录下的所有程序的拥有权归Oracle软件拥有者所有;(2)给所有用户实用便程(sqiplus,sqiforms,exp,imp等)711权限,使服务器上所有的用户都可访问Oracle服务器;(3)给所有的DBA实用例程(比如SQL*DBA)700权限。Oracle服务器和Unix组当访问本地的服务器时,可以通过在操作系统下把Oracle服务器的角色映射到Unix的组的方式来使用Unix管理服务器的安全性,这种方法适应于本地访问。在Unix中指定Oracle服务器角色的格式如下:ora_sid_role[_dla]其中sid是您Oracle数据库的oracle_sid;4role是Oracle服务器中角色的名字;d(可选)表示这个角色是缺省值;a(可选)表示这个角色带有WITHADMIN选项,只可以把这个角色授予其他角色,不能是其他用户。以下是在/etc/group文件中设置:ora_test_osoper_d:NONE:1:jim,narry,scottora_test_osdba_a:NONE:3:patora_test_role1:NONE:4:bob,jane,tom,mary,jimbin:NONE:5:root,oracle,dbaroot:NONE:7:root词组“ora_test_osoper_d”表示组的名字;词组“NONE”表示这个组的密码;数字1表示这个组的ID;接下来的是这个组的成员。前两行是Oracle服务器角色的例子,使用test作为sid,osoper和osdba作为Oracle服务器角色的名字。osoper是分配给用户的缺省角色,osdba带有WITHADMIN选项。为了使这些数据库角色起作用,必须shutdown数据库系统,设置Oracle数据库参数文件initORACLE_SID.ora中os_roles参数为True,然后重新启动您的数据库。如果让这些角色有connectinternal权限,运行orapwd为这些角色设置密码。当尝试connectinternal时,您键入的密码表示了角色所对应的权限。5五、数据库文件的安全性:由于使用ASM裸设备存储,安全性较高。只需定期修改asm的密码六、OracleDatabaseVault可通过下列方法解决一些最为常见的安全问题和内部威胁:(保护涉及合作伙伴、员工和顾客的敏感业务信息或隐私数据的客户最为担心的问题)1.限制DBA和其他授权用户访问应用程序数据。2.防止DBA操纵数据库和访问其他应用程序。OracleDatabaseVault提供了强大的职责划分控制功能,可防止擅自更改数据库。比如说如果一个用户具有CREATEUSER权限,但不具备正确的用户管理权限,则OracleDatabaseVault将阻止该DBA创建新用户。3.更好的控制何人、何时、何地可以访问应用程序。如日期时间、数据库客户端在网络上的位置之类的因素。七、网络安全性:当处理网络安全性时,以下是额外要考虑的几个问题。(1)在网络上使用密码在网上的远端用户可以通过加密或不加密方式键入密码,当用不加密方式键入密码时,密码很有可能被非法用户截获,导致破坏了系统的安全性。(2)网络上的DBA权限控制可以通过下列两种方式对网络上的DBA权限进行控制:A设置成拒绝远程DBA访问;6B通过orapwd给DBA设置特殊的密码。
本文标题:Oracle数据库安全方案
链接地址:https://www.777doc.com/doc-12399 .html