oracle-组件vault

http://www.linuxidc.com/Linux/2014-05/101108p2.htm

Oracle Database Vault

概述
对于信息系统而言,安全性是至关重要的考量方面。从近年来全球爆发的信息数据泄露引起的广泛关注来看,没有数据的安全,就没有客户持续的信任,也就没有企业的生存空间。
 
安全威胁是一个综合性的范围。究其要点,是由很多因素构成的,比如广受关注的外界黑客网络攻击。但是,经过统计,我们企业面对的绝大多数情况都是针对数据内部的威胁。很多机密、隐私数据并不是通过“无所不在”的黑客们盗取的,而是就在运维部门、开发部门和业务部门的“内鬼”引起的。
 
内部安全问题,其实是一个非常矛盾的“非技术”问题。如果不对内部人员放开数据,很多工作是无法完成的。如果对内部人员开放数据,特别是第三方服务商人员,你的数据其实是没有保障的。
 
当然,很多机构和组织也尝试了一些方法,来应对这样的问题。比如法律上的保密协定、多层审批机制,但是这也只能从一定程度上缓解问题。一种普遍认为比较有用的方法就是职责分开,单人单值。也就是说,一个人一个岗位只让承担一个单一职责,只是接触数据全过程的一个环节。单一工作人员泄密风险是高的,但是整个工作流上所有点,甚至整个团队都泄密的风险是大大降低的。
 
Oracle数据库作为目前最成熟的商业数据库,在稳定其核心功能的同时也针对数量众多的用户群提出了很多安全运维工具解决方案。在数据层面,Oracle有三个代表新的技术:Virtual Private Database(VPD)、Label Security和Oracle Vault。VPD主要是针对解决应用层面的数据访问需求添加数据访问权限,Label Security是VPD某种程度的拓展升级。而Vault主要是对Oracle数据库的安全职责进行分离,将数据安全责任从用户甚至sys身上剥离出去,进行细粒度的安全责任分配。

Oracle Vault是官方推荐的security策略之一,它主要用于运维机构中对数据的保护。传统意义的Oracle安全是一种“sys上帝”的主宰模型。我们虽然有各种系统、角色和对象权限,虽然各种安全手册要我们使用非sys用户进行维护工作,但是很多数据库管理员还是在使用sys进行所有工作。一些数据防护技术,比如VPD虽然可以实现数据层面的控制,但是对sys也是无效的。
 
更重要的是一些any类的系统权限,如select any table,一旦赋予,用户其实就控制了所有数据表的数据访问。这个是非常武断的做法,潜藏着很大问题。
 
在“sys上帝”的前提控制下,这样的局面是控制不住的。因为一些运维操作,如数据备份、导入导出是避免不了高级访问权限的。“要么不做、要么别管”就是我们目前很多运维机构的现状。
 
Oracle Vault提供了sys用户削权的一种选择。作为Oracle数据库的一个可选组件,Vault是需要额外的文件链接、注册和安装的。安装vault之后,Oracle会去创建一个全新的用户dbvowner,原有的sys对一些数据的操作和访问权限,也都有进行控制的可能。
 
Vault中的三个核心要素:Realm(领域)、Factor(因素)和规则(Rule)。从数据对象、操作命令等多个方面来限制或者保护特定的对象。

Oracle Vault是目前Oracle官方推荐的运维安全策略。在实际应用中,主要便于进行sys等管理员帐号权限限制,保护核心业务数据。
和很多Oracle组件一样,Oracle Vault是可以通过一系列的API接口调用来进行配置管理的。但是,由于复杂性,Oracle并不推荐直接使用API接口命令进行管理,而是通过提供的dbv应用进行配置。使用dbv的方法和em很像,而且避免了出现错误的几率。
调用dbv的方法,首先是启动emctl。之后调用https://ip:1158/dva。端口号和em是一样的。

一、预装(安装数据库时就将这个组件勾选上)
用下面的地址,并用安装时设置的用户名来登录
https://192.168.3.183:1158/dva/mac/login
vault1:vg_fgyoracle1
localhost
1521

二、后装
调用dbca进行编译
选择Configure Database Options项目,从组件中,选择上Label Security和Vault选项。
配置项目中,包括了Oracle Vault用户owner的名称和管理员密码。注意:这个配置密码环节是很严格的,要求长度是8-30位、不出现重复字符和包括至少一个标点符号。
最后安装成功,结束GUI界面。

本系列中,会介绍Oracle Vault的安装、配置和使用方法。首先,我们介绍如何进行vault安装。
默认企业版中,Vault是不会安装的。我们需要手工的进行编译、安装,才能使用。

=================================
select * from v$version;
select * from v$option;
select * from v$option where parameter like ‘%Vault%‘;
select * from product_component_version;

安装配置之前,要将监听程序、数据库、DB Console关闭。
lsnrctl stop
shutdown immediate;
emctl stop dbconsole
================================
然后进行编译
Oracle Vault是依赖Label Security,需要在操作系统层面上启动配置。在Linux/Unix环境下,使用make进行配置链接。
[[email protected] lib]$ cd $ORACLE_HOME/rdbms/lib
[[email protected] lib]$ make -f ins_rdbms.mk dv_on lbac_on ioracle
/usr/bin/ar d /u01/app/oracle/rdbms/lib/libknlopt.a kzvndv.o
/usr/bin/ar cr /u01/app/oracle/rdbms/lib/libknlopt.a /u01/app/oracle/rdbms/lib/kzvidv.o
/usr/bin/ar d /u01/app/oracle/rdbms/lib/libknlopt.a kzlnlbac.o
/usr/bin/ar cr /u01/app/oracle/rdbms/lib/libknlopt.a /u01/app/oracle/rdbms/lib/kzlilbac.o
chmod 755 /u01/app/oracle/bin

- Linking Oracle
rm -f /u01/app/oracle/rdbms/lib/oracle
gcc  -o /u01/app/oracle/rdbms/lib/oracle -m32 -z noexecstack -L/u01/app/oracle/rdbms/lib/ -L/u01/app/oracle/lib/ -L/u01/app/oracle/lib/stubs/ -L/u01/app/oracle/lib/ -lirc -lipgo    -Wl,-E /u01/app/oracle/rdbms/lib/opimai.o
(篇幅原因,有省略……)
-L/u01/app/oracle/lib
test ! -f /u01/app/oracle/bin/oracle ||\
          mv -f /u01/app/oracle/bin/oracle /u01/app/oracle/bin/oracleO
mv /u01/app/oracle/rdbms/lib/oracle /u01/app/oracle/bin/oracle
chmod 6751 /u01/app/oracle/bin/oracle
==================================
lsnrctl start
startup
dbca进行配置并设置账号与密码
emctl start dbconsole
https://ip:1158/dva
===================================

三、现象,sys用户权限被削减,开始还不知道为什么,最后查出是vault这个组件的作用
[[email protected] dbs]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.4.0 Production on Tue Aug 22 10:53:17 2017

Copyright (c) 1982, 2013, Oracle.  All rights reserved.

Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, Oracle Label Security, OLAP, Data Mining,
Oracle Database Vault and Real Application Testing options

SQL> create user test identified by 123456;
create user test identified by 123456
                               *
ERROR at line 1:
ORA-01031: insufficient privileges

SQL> alter system set utl_file_dir=‘/u01/app/oracle/admin/fgy1/dpdump/‘ scope=spfile;
alter system set utl_file_dir=‘/u01/app/oracle/admin/fgy1/dpdump/‘ scope=spfile
*
ERROR at line 1:
ORA-01031: insufficient privileges

四、卸载(较麻烦)

Oracle Vault是安全三个技术策略的重要组成部分。相对于其他两种,Label Security和VPD(Virtual Private Database),Oracle Vault更加体现运维体系管理建设和安全规则配置。安装配置Vault之后,Oracle原有的sys超级用户安全角色被剥离,数据、操作和资源以规则的方式进行安全限制。应该说,使用Vault之后,才能真正实现对于数据管理员行为的管制。

本篇主要介绍如何对Vault进行卸载操作,依据的版本是11gR2。注意:Oracle Vault不同版本下进行卸载的方法有一定差异,特别是在relink的过程。
1、卸载前准备
Oracle Vault在数据库中涉及几个部分:dva组件以Web App的方式绑定在OEM中、内部的dbowner和manager管理对象和角色权限调整。在正式的卸载操作之前,我们需要将数据库和各种组件进行关闭。

五、与data pump

Oracle Vault是Oracle推出的一套比较完整的运维安全体系框架。在很多运维机构中,Vault是非常好的可选择方案。

Oracle Vault的原则是安全职责的拆分保护。从原来数据库管理员sys承担安全职责这个假设,转变为单独安全人员dbvowner和dbvaccount manager为安全配置中心。之后,从行为、领域等多个层面设定了很多安全区,对安全区采用额外的保护策略,将管理员屏蔽住。
 
注意:Vault的出发点是我们进行选型的一个重要考虑。安全威胁是多种类、多层次的。Oracle Vault是针对运维机构对“自己人”的一种约束设置,形成管理员和安全员相互牵制的结构。
 
数据库管理员虽然可以进行管理工作,但是却不能访问特定敏感区域。而安全员虽然有安全授权能力,但是没有管理员数据授权(系统权限和数据权限),安全员也不能访问敏感数据。
 
这个过程中是有一些漏洞的,比如管理员存在修改安全员密码,夺取安全员权限的可能,所以Oracle Vault在安装之后,有一些默认的领域和命令规则,将管理员严格的进行束缚。
 
此外,管理员有一些日常操作,如使用DB Control、Datapump和Recovery Manager,都有触动安全领域规则的风险。这样的情况Oracle是如何处理呢?本篇从Data Pump操作入手,进行简单讨论。

1、Data Pump与Vault

Oracle Data Pump(数据泵)是Oracle10g以后推出的数据备份管理工具。作为Exp/Imp的进化版,Data Pump对于各种Oracle新特性、功能支持力度是比较好的,在海量数据操作的时候,Data Pump也是有独特的优势。
如果我们仔细研究过Data Pump操作过程,就可以得知,Oracle Data Pump进行数据导入的过程并不是一个整体,而是一系列动作的集合。比如:当进行数据导入Schema模式的时候,如果目标数据库没有这个用户,Data Pump时会创建出这个用户。这个过程其实就是一般的create user xxx语句执行。
所以,进行export和import数据的过程,是一个多种权限(系统权限)综合的过程。这也就是为什么Oracle中导入导出数据库的权限是两个角色权限(Import/Export Full Database)。
那么,如果管理员(备份操作员)需要进行数据导入导出敏感数据的时候,是要触动到敏感信息的。Oracle Vault环境下我们是怎么配置呢?

时间: 2024-10-10 04:09:33

oracle-组件vault的相关文章

使用技术手段限制DBA的危险操作—Oracle Database Vault

概述 众所周知,在业务高峰期,某些针对Oracle数据库的操作具有很高的风险,比如修改表结构.修改实例参数等等,如果没有充分评估和了解这些操作所带来的影响,这些操作很可能会导致故障,轻则导致应用错误,重则导致数据库服务不可用. 另外,在非业务高峰期,某些看似风险不大的操作也可能会导致严重后果,比如不按管理流程修改表结构,如果这个表正好是Oracle GoldenGate复制组的一部分,修改了源端结构而没有通知OGG的相关人员,没有在目标端进行相同的操作,而DDL复制功能也没有打开的情况下,就会导

Oracle Audit Vault and Database Firewall 12.2 新特性

Oracle Audit Vault and Database Firewall 12.2 新特性 Audit Vault Server的备份恢复组件被集成进AVDF产品. 当Audit Vault Agent(审计代理)重新启动或AVDF升级收,Audit Trail(审计线索)将会自动启动. AVCLI组件可以非交互式使用,通过存储在AVCLI的Wallet里存储管理员的认证信息. 可以使用Auidit Vault Agent(审计代理)的处理线程数量优化主机处理的性能. 可以配置Datab

oracle组件

目前在用的三个oracle版本 Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - ProductionWith the Partitioning, OLAP and Data Mining options Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - 64bit ProductionWith the Partitioning, OLAP, Data Mi

【翻译自mos文章】Oracle Audit Vault 和Database Firewall 12.x 的平台支持情况

Oracle Audit Vault 和Database Firewall 12.x 的平台支持情况 来源于: Oracle Audit Vault and Database Firewall 12.x Platform Support (文档 ID 1536380.1) 适用于: Oracle Audit Vault and Database Firewall - Version 12.1.0.0 and later Information in this document applies t

探索Oracle之数据库升级十 12c(12.1.0.2)CPU 19774304

探索Oracle之数据库升级十 12c(12.1.0.2)CPU 19774304 一.   补丁描述 参考metalink doc: (Doc ID 19774304.8) Bug19774304 - 12.1.0.2 Bundle Patch 2 for Engineered Systems and DB In-Memory (Nov2014) (Doc ID 19774304.8) 二.   补丁包含 19649591 DATABASE BUNDLE PATCH 12.1.0.2.2 (O

Oracle 版本查看及版本号说明

http://blog.163.com/magicc_love/blog/static/185853662201210194592757/ select * from v$version; 或select banner from sys.v_$version; 结果如下: BANNER 1 Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod 2 PL/SQL Release 10.2.0.1.0 - Productio

探索Oracle之数据库升级八 12c Downgrade 11gR2

探索Oracle之数据库升级八 12c Downgrade 11gR2 前言: 我们前面已经完成了11gR2 upgrade to 12c 的升级,整个过程还是比较顺利的,虽然和以前版本升级有些不太一样,但是整个难度不是太大,但是由于太多的特性不同,大大的加长了升级的时间. 但是对于Oracle 12c降回到之前版本,会有些限制,只能降级到升级前所用的版本和补丁级别. 如果我们是直接从10.2.0.5.11.1.0.7或版本11.2.0.2及更高版进行升级.那么将无法降级到10.2.0.5. 如

Linux静默安装oracle 11g

之前在oracle安装过程中碰到了很多问题,浪费了不少问题,后来有哥同事给了以下安装文档,解决了很多多问题,也提到了很多在安装过程中碰到的问题! 所以记录一下 本文档是Oracle Database 11.2.0.1 for RHEL5 Server(包括x86和x86_64平台)的静默安装指南. 所有操作无需使用图形界面. 静默安装能减少安装出错的可能性, 也能大大加快安装速度. # 后跟命令表示以操作系统下root用户操作; $ 后跟命令表示以操作系统下oracle用户操作; 1.1 上传软

已有数据库(单机)部署Database Vault

1.停止em和数据库 emctl stop dbconsole shutdown immediate 2.重新安装DB软件 ./runInstaller 选组件的时候,选中"Oracle database vault option" 3.修改环境变量 修改ORACLE_HOME 4.修改/etc/oratab中的ORACLE_HOME 5.从原来的HOME拷贝必要文件到现有HOME [[email protected] admin]$ pwd /u01/app/oracle/produ