audit审计方法是什么

网友投稿 240 2023-12-05

audit审计方法是什么

本篇内容介绍了“audit审计方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

audit审计方法是什么

audit_trail 的value值为NONE表示不开启;

和审计相关的两个主要参数:1.audit_sys_operations:默认为false,当设置为true时,审计管理用户(sysdba/sysoper角色登陆)的操作都会被记录,audit trail不会写在aud$表中,这个很好理解,如果数据库还未启动aud$不可用,那么像conn /as sysdba这样的连接信息,只能记录在其它地方。如果是windows平台,audti trail会记录在windows的

事件管理中,如果是linux/unix平台则会记录在audit_file_dest参数指定的文件中。

2.audit_trail:None:是10g默认值,不做审计;11g默认值DB,将审计结果记录到aud$表中;

audit_trail 的value值为FALSE表示不开启;

audit_trail 的value值为DB表示开启;

audit_trail 的value值为TURE表示开启;

audit_trail 的value值为OS表示审计记录写入一个操作系统文

3.oracle 审计日志清理

--进入审计日志目录:

cd $ORACLE_BASE/admin/$ORACLE_SID/adump

--删除3个月前的审计文件:

find ./ -type f -name "*.aud" -mtime +91|xargs rm -f

--一次清空所有审计文件

find ./ -type f -name "*.aud"|xargs rm-f

find ./ -mtime +7 -name "*.aud" -type f –delete

注意:

oracle在$ORACLE_BASE/admin/$ORACLE_SID/adump 目录中记陆后缀为.aud的审计文件。

所以,开了DB功能,会同时将审计日志记在AUD$表中和操作系统aud文件中。设置为NONE,仍然会而且毫无其他办法的将记录在操作系统aud文件中。

*数据库的表为:sys.aud$

*操作系统目录为:$ORACLE_BASE/admin/实例名/adump/
4.审计:4.1 强制性审计启停数据库等动作,都记录在了 alert 日志中,这些就是强制审计,是 oracle 自动开启的。4.2 标准数据库审计show parameter audit_trail4.3 基于值审计这个是通过我们自己编写的触发器来完成的。4.4 细粒度审计 (FGA)可以针对某一列进行更细致的审计4.5 DBA 审计安全管理员对 DBA 的审计标准数据库审计- 审计语法:audit sql_statement_clause by {session | access} whenever [not] successful;by session,在一个会话中,同类型的操作只审计一条 by access,每个符合审计的操作全部审计- 审计相关参数( audit_trail):audit_trail = { none | os | db [, extended] | xml [, extended] } none: 10g 默认值,不做审计; os:将 audit trail 记录在操作系统文件中,文件名由 audit_file_dest 参数指定;db: 11g 默认值,将审计结果记录到 aud$表中; db,extended:将审计结果记录到 aud$表中,同时包括绑定变量及 CLOB 字段; xml:记录 OS 文件的是 XML 格式的审计记录;xml,extended:记录OS 文件的是 XML 格式的审计记录,同时包括绑定变量及 CLOB 字段。oracle10g:默认审计参数为 NONE,即未开启Oracle11g:默认审计参数为 DB实验一:审计开启os[oracle@wang ~]$ sqlplus / as sysdbaSQL*Plus: Release 11.2.0.4.0 Production on Sun Aug 13 08:11:24 2017Copyright (c) 1982, 2013, Oracle.  All rights reserved.Connected to:Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit ProductionWith the Partitioning, OLAP, Data Mining and Real Application Testing optionsSQL> show parameter auditNAME                                 TYPE        VALUE------------------------------------ ----------- ------------------------------audit_file_dest                      string      /u01/app/oracle/admin/DBdb/adumpaudit_sys_operations                 boolean     FALSEaudit_syslog_level                   stringaudit_trail                          string      DBSQL> SQL> alter system set audit_trail=OS scope=spfile;System altered.SQL> shutdown immediate;Database closed.Database dismounted.ORACLE instance shut down.SQL> startupORACLE instance started.Total System Global Area  835104768 bytesFixed Size                  2257840 bytesVariable Size             549456976 bytesDatabase Buffers          281018368 bytesRedo Buffers                2371584 bytesDatabase mounted.Database opened.SQL> SQL> show parameter auditNAME                                 TYPE        VALUE------------------------------------ ----------- ------------------------------audit_file_dest                      string      /u01/app/oracle/admin/DBdb/adumpaudit_sys_operations                 boolean     FALSEaudit_syslog_level                   stringaudit_trail                          string      OSSQL>  --查看os层的审计文件[oracle@wang adump]$ cd /u01/app/oracle/admin/DBdb/adump--进行相关操作SQL> conn scott/tiger;  Connected. SQL> alter session set nls_date_format=yyyy-mm-dd hh34:mi:ss; Session altered. SQL> select sysdate from dual;SYSDATE ------------------- 2018-01-26 00:28:58

SQL> select * from tab;TNAME                          TABTYPE  CLUSTERID------------------------------ ------- ----------BONUS                          TABLEDEPT                           TABLEEMP                            TABLEJOBS                           TABLESQL> create table a as select * from user_objects;Table created.SQL> insert into a select * from a;10 rows created.SQL> commit;Commit complete.SQL> update a set object_id=1;20 rows updated.SQL> commit;Commit complete.SQL> delete a where rownum <10;9 rows deleted.SQL> commit;Commit complete.SQL> truncate table a;Table truncated.

SQL> drop table a purge;

Table dropped. --查看审计文件:

[oracle@wang adump]$ pwd

/u01/app/oracle/admin/DBdb/adump

[oracle@wang adump]$     

[oracle@wang adump]$

[oracle@wang adump]$ ll

total 24

-rw-r----- 1 oracle oinstall 772 Jan 26 00:22 DBdb_ora_27579_20180126002238441832143795.aud

-rw-r----- 1 oracle oinstall 755 Jan 26 00:26 DBdb_ora_27630_20180126002622032142143795.aud

-rw-r----- 1 oracle oinstall 762 Jan 26 00:26 DBdb_ora_27630_20180126002623437420143795.aud

-rw-r----- 1 oracle oinstall 768 Jan 26 00:26 DBdb_ora_27669_20180126002623481070143795.aud

-rw-r----- 1 oracle oinstall 772 Jan 26 00:26 DBdb_ora_27674_20180126002627838313143795.aud

-rw-r----- 1 oracle oinstall 877 Jan 26 00:28 DBdb_ora_27722_20180126002816963203143795.aud

[oracle@wang adump]$

--查看审计日志

[oracle@wang adump]$ more DBdb_ora_27722_20180126002816963203143795.aud

Audit file /u01/app/oracle/admin/DBdb/adump/DBdb_ora_27722_20180126002816963203143795.aud

Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production

With the Partitioning, OLAP, Data Mining and Real Application Testing options

ORACLE_HOME = /u01/app/oracle/product/11.2.0/db_1

System name:    Linux

Node name:      wang

Release:        3.10.0-327.el7.x86_64

Version:        #1 SMP Thu Oct 29 17:29:29 EDT 2015

Machine:        x86_64

Instance name: DBdb

Redo thread mounted by this instance: 1

Oracle process number: 29

Unix process pid: 27722, image: oracle@wang (TNS V1-V3)

Fri Jan 26 00:28:16 2018 +08:00

LENGTH: "266"

SESSIONID:[7] "7450116" ENTRYID:[1] "1" STATEMENT:[1] "1" USERID:[5] "SCOTT" USERHOST:[4] "wang" TERMINAL:[5] "pts/1" ACTION:[3] "100" RETURNCODE:[1] "0" COMMENT$TEXT:

[26] "Authenticated by: DATABASE" OS$USERID:[6] "oracle" DBID:[10] "3282897732" PRIV$USED:[1] "5"

[oracle@wang adump]$

实验证明os层不记录数据库相关操作,只有一些登入登出数据库操作实验二:SQL> show parameter auditNAME                                 TYPE        VALUE------------------------------------ ----------- ------------------------------audit_file_dest                      string      /u01/app/oracle/admin/DBdb/adumpaudit_sys_operations                 boolean     FALSEaudit_syslog_level                   stringaudit_trail                          string      OSSQL> SQL> alter system set audit_trail=DB scope=spfile;System altered.SQL> shutdown immediate;Database closed.Database dismounted.ORACLE instance shut down.SQL> SQL> startupORACLE instance started.Total System Global Area  835104768 bytesFixed Size                  2257840 bytesVariable Size             549456976 bytesDatabase Buffers          281018368 bytesRedo Buffers                2371584 bytesDatabase mounted.Database opened.SQL> SQL> show parameter auditNAME                                 TYPE        VALUE------------------------------------ ----------- ------------------------------audit_file_dest                      string      /u01/app/oracle/admin/DBdb/adumpaudit_sys_operations                 boolean     FALSEaudit_syslog_level                   stringaudit_trail                          string      DBSQL> SQL>

--确认审计相关的表是否已经安装

select * from sys.aud$;         -- 没有记录返回  

select * from dba_audit_trail;  -- 没有记录返回

如果做上述查询的时候发现表不存在,说明审计相关的表还没有安装,需要安装。

@$ORACLE_HOME/rdbms/admin/cataudit.sql  

审计表安装在SYSTEM表空间。所以要确保SYSTEM表空间又足够的空间存放审计信息。

--查询审计表aud$情况:

SQL> col owner for a10

SQL> col table_name for a15

SQL> col TABLESPACE_NAME for a15

SQL> alter session set nls_date_format=yyyy-mm-dd hh34:mi:ss;

Session altered.

SQL> select OWNER,TABLE_NAME,TABLESPACE_NAME,STATUS,LAST_ANALYZED from dba_tables where table_name=AUD$;

OWNER      TABLE_NAME      TABLESPACE_NAME STATUS   LAST_ANALYZED

---------- --------------- --------------- -------- -------------------

SYS        AUD$            SYSTEM          VALID    2018-01-24 22:01:31

SQL> col segment_name for a15

SQL> select OWNER,SEGMENT_NAME,PARTITION_NAME,TABLESPACE_NAME,BYTES/1024 size_k from dba_segments where SEGMENT_NAME=AUD$;

OWNER      SEGMENT_NAME    PARTITION_NAME                 TABLESPACE_NAME     SIZE_K

---------- --------------- ------------------------------ --------------- ----------

SYS        AUD$                                           SYSTEM                 128

SQL> conn scott/tigerConnected.SQL> create table temp as select * from user_objects;Table created.SQL> insert into temp select * from temp;10 rows created.SQL> commit;Commit complete.SQL> update temp set object_name=WANG where object_id=10;0 rows updated.SQL> update temp set object_name=WANG where object_id=87107;2 rows updated.SQL> commit;Commit complete.SQL> delete temp where rownum <10;9 rows deleted.SQL> commit;Commit complete.SQL> truncate table temp;Table truncated.SQL> drop table temp purge;Table dropped.

--查询审计表aud$:

SQL> select os_username,

       username,

       obj_name,

       action_name,

audit_option,

       logoff_time,

       sessionid,

       os_process,

       instance_number,

       sql_text,

       sql_bind

  from dba_audit_trail

where sql_text like %TEMP%;

no rows selected

实验三:指定对t表进行更新审计登录 scott 用户,创建 t 表并开启 update 审计,使用 by access 子句,每次 update 都审计SQL> conn scott/tiger;Connected.SQL> create table t(x int);Table created.SQL> insert into t values(9);1 row created.SQL> commit;Commit complete. --在scott用户下对t表进行access级别的审计 SQL> audit update on t by access;Audit succeeded.表示对t表的每次更新操作进行审计(by access,每个符合审计的操作全部审计;by session,在一个会话中,同类型的操作只审计一条)--使用绑定变量的 sql 进行 update 测试SQL>var v_num number;SQL>exec :v_num:=1000;   (:v_num绑定变量,:v_num:=给绑定变量授予一个值)PL/SQL procedure successfully completed.SQL>update t set x=:v_num;1 row updated.SQL>commit;commit complete.--关闭审计SQL> noaudit update on t;Noaudit succeeded.--查询审计结果

set lines 200

col OS_USERNAME for a10

col USERNAME for a10

col OBJ_NAME for a10

col SQL_BIND for a10

col SQL_TEXT for a10

col OWNER for a10

col ACTION_NAME for a10

alter session set nls_date_format=yyyy-mm-dd hh34:mi:ss;

select os_username,

username,

       timestamp,

       owner,

       obj_name,

       action_name,

       sessionid,

       instance_number,

       os_process,

       transactionid,

sql_bind,

       sql_text

  from dba_audit_trail

 where sql_text like %T%;
结果说明开启DB级的审计,必须指定对某个表或某个session(by access 或 by session),才会对相应操作进行审计并记录在dba_audit_trail表中

“audit审计方法是什么”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:oracle出现SVR4 Error报错问题怎么解决
下一篇:Oracle11g RAC下ASM的管理与维护方法是什么
相关文章

 发表评论

暂时没有评论,来抢沙发吧~