12C-OCP升级1z-060-007

Which Oracle Database component is audited by default if the unified Auditing option is
enabled?
A. Oracle Data Pump
B. Oracle Recovery Manager (RMAN)
C. Oracle Label Security
D. Oracle Database Vault
E. Oracle Real Application Security
Answer: B

正确答案解析:
审计(Auditing)
审计功能(Audit)用于监视用户所执行的数据库操作,并且Oracle会将审计跟踪结果存放指定的地方。
统一审计(Unified Auditing)
Oracle Database 12c 推出一套全新的审计架构,称为统一审计功能。统一审计主要利用策略和条件在 Oracle 数据库内部有选择地执行有效的审计。新架构将现有审计跟踪统一为单一审计跟踪,从而简化了管理,提高了数据库生成的审计数据的安全性。
关于统一审计的基础知识,大家可以参考以下Oracle的官方在线文档,在这里仅作简单的介绍。
Database Security Guide
https://docs.oracle.com/database/121/DBSEG/auditing.htm#DBSEG630
初始安装的12c数据库,为了兼容以前的版本默认启用混合模式,即传统审计和统一审计同时有效。你可以通过手动移植到完全的统一审计,也可以使统一审计无效,沿用传统审计。 
你可以通过以下的SQL文,查询统一审计是否有效。TRUE表示完全的统一审计有效。FALSE表示并非是完全的统一审计。
SQL>SELECT PARAMETER,VALUE FROM V$OPTION WHERE PARAMETER = 'Unified Auditing';
PARAMETER         VALUE
----------------  ----------
Unified Auditing  FALSE

那么我们如何的开启统一审计的模式呢
SQL> conn /as sysdba
SQL> SHUTDOWN IMMEDIATE
SQL> EXIT
$ lsnrctl stop listener_name
$ cd $ORACLE_HOME/rdbms/lib
$ make -f ins_rdbms.mk uniaud_on ioracle ORACLE_HOME=$ORACLE_HOME
$ lsnrctl start listener_name
11:54:45 sys@prodcdb> col parameter for a30
11:57:30 sys@prodcdb> col VALUE for a30
11:57:41 sys@prodcdb> SELECT PARAMETER,VALUE FROM V$OPTION WHERE PARAMETER = 'Unified Auditing';
PARAMETER                      VALUE
------------------------------ ------------------------------
Unified Auditing               TRUE

同理,你也可以通过以下的方法把数据库统一审计功能关闭掉(UNIX为例)。
SQL> conn /as sysdba
SQL> SHUTDOWN IMMEDIATE
SQL> EXIT
$ lsnrctl stop listener_name
$ cd $ORACLE_HOME/rdbms/lib
$ make -f ins_rdbms.mk uniaud_off ioracle
$ lsnrctl start listener_name
SQL> conn /as sysdba
SQL> STARTUP

默认有效的审计策略
12c数据库中预先定义了一些审计策略,并且根据版本不同,默认开启的审计策略也略有不同。
我们可以通过audit_unified_enabled_policies视图进行确认默认开启的统一审计的审计策略。


--12.1.0.2的默认审计策略

col USER_NAME for a30
col POLICY_NAME for a30
SQL> select USER_NAME,POLICY_NAME,ENABLED_OPT,SUCCESS,FAILURE from audit_unified_enabled_policies;
USER_NAME                      POLICY_NAME                    ENABLED_ SUC FAI
------------------------------ ------------------------------ -------- --- ---
ALL USERS                      ORA_SECURECONFIG               BY       YES YES
ALL USERS                      ORA_LOGON_FAILURES             BY       NO  YES

由上面的输出结果我们可以看到,不做任何配置的情况下, 
在12.1.0.2数据库的环境中,默认开启了ORA_SECURECONFIG和ORA_LOGON_FAILURES审计策略,数据库会根据这2个审计策略,对相应的操作进行审计。 
而在12.1.0.2数据库中,,ORA_SECURECONFIG审计策略移除了对所有LOGON和LOGOFF的审计,而增加了一个新的审计策略ORA_LOGON_FAILURES,用于仅审计登陆失败的操作。这样更加方管理,也能改善因为大量LOGON和LOGOFF的审计对表空间的浪费。
ORA_SECURECONFIG审计策略的详细可以参考以下官方在线文档,
http://docs.oracle.com/database/121/DBSEG/audit_config.htm#CHDIGFHG
ORA_LOGON_FAILURES审计策略的详细可以参考以下, 
http://docs.oracle.com/database/121/DBSEG/audit_config.htm#DBSEG703

附:无效掉默认的审计策略方法。
SQL>--12.1.0.2的环境
SQL> noaudit policy ORA_SECURECONFIG;
Noaudit succeeded.
SQL> noaudit policy ORA_LOGON_FAILURES;
Noaudit succeeded.

我们摘取官方文档上的内容:
CREATE AUDIT POLICY ORA_SECURECONFIG
 PRIVILEGES ALTER ANY TABLE, CREATE ANY TABLE, DROP ANY TABLE,
            CREATE ANY PROCEDURE, DROP ANY PROCEDURE, ALTER ANY PROCEDURE, 
            GRANT ANY PRIVILEGE, GRANT ANY OBJECT PRIVILEGE, GRANT ANY ROLE, 
            AUDIT SYSTEM, CREATE EXTERNAL JOB, CREATE ANY JOB, 
            CREATE ANY LIBRARY, 
            EXEMPT ACCESS POLICY, 
            CREATE USER, DROP USER, 
            ALTER DATABASE, ALTER SYSTEM, 
            CREATE PUBLIC SYNONYM, DROP PUBLIC SYNONYM, 
            CREATE SQL TRANSLATION PROFILE, CREATE ANY SQL TRANSLATION PROFILE, 
            DROP ANY SQL TRANSLATION PROFILE, ALTER ANY SQL TRANSLATION PROFILE, 
            TRANSLATE ANY SQL, 
            EXEMPT REDACTION POLICY,  
            PURGE DBA_RECYCLEBIN, LOGMINING, 
            ADMINISTER KEY MANAGEMENT
 ACTIONS    ALTER USER, CREATE ROLE, ALTER ROLE, DROP ROLE,
            SET ROLE, CREATE PROFILE, ALTER PROFILE, 
            DROP PROFILE, CREATE DATABASE LINK, 
            ALTER DATABASE LINK, DROP DATABASE LINK, 
            CREATE DIRECTORY, DROP DIRECTORY, 
            CREATE PLUGGABLE DATABASE,  
            DROP PLUGGABLE DATABASE, 
            ALTER PLUGGABLE DATABASE, 
            EXECUTE ON DBMS_RLS;

包含了这么多的审计的内容,在当中,我们并没有看到rman相关的内容的审计。这个时候,我们可以手工做下测试,用rman进行下备份恢复的实验
通过查看下面的视图
select client_program_name,action_name,sql_text,system_privilege_used from UNIFIED_AUDIT_TRAIL order by event_timestamp desc;
CLIENT_PROGRAM_NAME       ACTION_NAME          SQL_TEXT                                 SYSTEM_PRIVILEGE_USED
------------------------- -------------------- ---------------------------------------- ------------------------------
rman@kiwi (TNS V1-V3)     ALTER DATABASE       alter database recover if needed         SYSDBA, ALTER DATABASE
                                                datafile 17
rman@kiwi (TNS V1-V3)     ALTER DATABASE       alter database recover datafile list clear SYSDBA, ALTER DATABASE

其实就是因为rman在本质上还是调用的sql_text的语句,它还是调用了ALTER DATABASE的权限,从而会触发ORA_SECURECONFIG的统一审计
所以正确的答案是:B
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值