欢迎来到天天文库
浏览记录
ID:50525467
大小:19.00 KB
页数:7页
时间:2020-03-06
《Oracle数据库安全方案.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、Oracle数据库安全数据库高可信安全HAP=数据库机制+DBV机制一、Oracle提供的主要安全性措施身份认证功能(Authentication):识别访问个体的身份数据访问的机密性(Confidentialty):保证敏感数据访问的机密性。数据完整性(Integrity):保证数据不被篡改。授权能力(Authorization):保证被授权用户对数据的查询和修改能力。访问控制(AccessControl):确定对指定数据的访问能力。审计能力(Auditing):提供监测用户行为的能力。私有性(Priv
2、acy):提供对敏感数据访问的私密性。高可用性(Availability):保证数据和系统提供不间断服务的能力。代理管理能力(DelegatedAdministration):提供对用户帐号的集中管理功能。二、Oracle的安全性领域:Profile控制Oracle利用profile机制来管理会话资源占用,7/7同时也管理用户密码的安全策略。通过profile我们可以实现:某个特定用户最多只能占用系统百分之几的CPU时间?某个特定用户连接到数据库之后能存活多长时间?某个特定用户连接到数据库之后多长时间处于
3、非活跃状态就将被系统中断连接?用户登录密码输入错误多少次之后就将自动锁定用户?用户密码的长度和包含的字符必须符合什么样的规则?用户密码在多少天后将自动失效并要求设定新密码?用户权限控制(Privilage)Oracle通过角色(Role),权限(Privilage)等的一系列授予(Grant)和回收(Revoke)操作可以有效的进行用户的权限控制。通过权限控制我们可以实现:某个特定用户只能读取而不能修改另一个用户的表数据。某个特定用户只能运行Oracle数据库系统的几个存储过程或者函数。某个特定用户自己能
4、够拥有修改某些数据的权力,但是却无法给其它不拥有这个权限的用户授予修改该数据的权力。某个特定用户可以读取数据但是无法创建新的表空间。7/7三、组和安全性:在操作系统下建立用户组也是保证Oracle数据库安全性的一种有效方法。Oracle程序为了安全性目的一般分为两类:一类所有的用户都可执行,另一类只DBA可执行。在Unix环境下组设置的配置文件是/etc/group。保证安全性的几种方法:(1)在安装OracleServer前,创建数据库管理员组(DBA)而且分配root和Oracle软件拥有者的用户ID
5、给这个组。DBA能执行的程序只有710权限。在安装过程中SQL*DBA系统权限命令被自动分配给DBA组。(2)Oracle数据库中的两个具有DBA权限的用户Sys和System的缺省密码是manager。为了您数据库系统的安全,修改这两个用户的密码,具体操作如下:在SQL*DBA下键入:alterusersysindentifiedbyoracle;alterusersystemindentifiedbyoracle;其中oracle为用户设置的密码。(3)Oracle数据库中,在项目上线时可将db_ex
6、admin用户权限revoke收回,只保留执行存储过程的查询权限。7/7四、Oracle服务器实用例程的安全性:(1)确保$ORACLE_HOME/bin目录下的所有程序的拥有权归Oracle软件拥有者所有;(2)给所有用户实用便程(sqiplus,sqiforms,exp,imp等)711权限,使服务器上所有的用户都可访问Oracle服务器;(3)给所有的DBA实用例程(比如SQL*DBA)700权限。Oracle服务器和Unix组当访问本地的服务器时,可以通过在操作系统下把Oracle服务器的角色映射
7、到Unix的组的方式来使用Unix管理服务器的安全性,这种方法适应于本地访问。在Unix中指定Oracle服务器角色的格式如下:ora_sid_role[_dla]其中sid是您Oracle数据库的oracle_sid;role是Oracle服务器中角色的名字;d(可选)表示这个角色是缺省值;a(可选)表示这个角色带有WITHADMIN选项,只可以把这个角色授予其他角色,不能是其他用户。以下是在/etc/group文件中设置:7/7ora_test_osoper_d:NONE:1:jim,narry,sc
8、ottora_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,
此文档下载收益归作者所有