ITPub博客

首页 > 数据库 > Oracle > Oracle 11g开启只读用户和管理员用户SQL审计

Oracle 11g开启只读用户和管理员用户SQL审计

原创 Oracle 作者:feelpurple 时间:2016-06-20 14:22:46 0 删除 编辑
--将包括SQL的审计记录写到数据库的审计路径(SYS.AUD$表),修改此数据库参数,需要重启实例
C:\Users\Administrator>sqlplus / as sysdba

SQL*Plus: Release 11.2.0.1.0 Production on 星期一 6月 20 10:02:42 2016

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

连接到:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> SHOW PARAMETER AUDIT_TRAIL

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
audit_trail                          string      DB


SQL> ALTER SYSTEM SET AUDIT_TRAIL=DB,EXTENDED SCOPE=SPFILE;

系统已更改。

SQL> shutdown immediate
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup
ORACLE 例程已经启动。

Total System Global Area 1068937216 bytes
Fixed Size                  2182592 bytes
Variable Size             616563264 bytes
Database Buffers          444596224 bytes
Redo Buffers                5595136 bytes
数据库装载完毕。
数据库已经打开。
SQL> SHOW PARAMETER AUDIT_TRAIL


NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
audit_trail                          string      DB, EXTENDED

--对只读用户query和管理员用户system开启语句审计

SQL> AUDIT ALL STATEMENTS BY query BY ACCESS;

审计已成功。

SQL> AUDIT ALL STATEMENTS BY system BY ACCESS;

审计已成功。

--进行测试
--使用query用户进行查询
SQL> select * from scott.emp;

     EMPNO ENAME      JOB              MGR HIREDATE                   SAL       COMM     DEPTNO
---------- ---------- --------- ---------- ------------------- ---------- ---------- ----------
      7369 SMITH      CLERK           7902 1980-12-17 00:00:00        800                    20
      7499 ALLEN      SALESMAN        7698 1981-02-20 00:00:00       1600        300         30
      7521 WARD       SALESMAN        7698 1981-02-22 00:00:00       1250        500         30
      7566 JONES      MANAGER         7839 1981-04-02 00:00:00       2975                    20
      7654 MARTIN     SALESMAN        7698 1981-09-28 00:00:00       1250       1400         30
      7698 BLAKE      MANAGER         7839 1981-05-01 00:00:00       2850                    30
      7782 CLARK      MANAGER         7839 1981-06-09 00:00:00       2450                    10
      7788 SCOTT      ANALYST         7566 1987-04-19 00:00:00       3000                    20
      7839 KING       PRESIDENT            1981-11-17 00:00:00       5000                    10
      7844 TURNER     SALESMAN        7698 1981-09-08 00:00:00       1500          0         30
      7876 ADAMS      CLERK           7788 1987-05-23 00:00:00       1100                    20

     EMPNO ENAME      JOB              MGR HIREDATE                   SAL       COMM     DEPTNO
---------- ---------- --------- ---------- ------------------- ---------- ---------- ----------
      7900 JAMES      CLERK           7698 1981-12-03 00:00:00        950                    30
      7902 FORD       ANALYST         7566 1981-12-03 00:00:00       3000                    20
      7934 MILLER     CLERK           7782 1982-01-23 00:00:00       1300                    10

已选择14行。

--使用system用户查询query用户的审计记录
SQL> select s.username,
  2         s.userhost,
  3         s.timestamp,
  4         s.owner,
  5         s.sessionid,
  6         s.action_name,
  7         s.sql_text
  8    from DBA_AUDIT_TRAIL s
  9   where s.username = 'QUERY'
 10     and s.timestamp > trunc(sysdate)
 11     and owner = 'SCOTT';

USERNAME   USERHOST   TIMESTAMP           OWNER    SESSIONID ACTION_NAM SQL_TEXT
---------- ---------- ------------------- ------- ---------- ---------- ---------------------------------------------
QUERY      WORKGROUP\ 2016-06-20 10:45:45 SCOTT       480314 SELECT     select * from scott.emp
           USER-4FU6K
           1AC9P

--使用system用户进行测试

SQL> AUDIT ALL STATEMENTS BY zhangwenyuan BY ACCESS;

--使用system用户查询system用户的审计记录
SQL> select s.username,
  2         s.userhost,
  3         s.timestamp,
  4         s.owner,
  5         s.sessionid,
  6         s.action_name,
  7         s.sql_text
  8    from DBA_AUDIT_TRAIL s
  9   where s.username = 'SYSTEM'
 10     and s.timestamp > trunc(sysdate)
 11     and lower(sql_text) like '%audit all%';

USERNAME   USERHOST   TIMESTAMP           OWNER    SESSIONID ACTION_NAM SQL_TEXT
---------- ---------- ------------------- ------- ---------- ---------- ---------------------------------------------
SYSTEM     WORKGROUP\ 2016-06-20 11:07:16             480328 SYSTEM AUD AUDIT ALL STATEMENTS BY zhangwenyuan BY ACCES
           USER-4FU6K                                        IT         S
           1AC9P

SYSTEM     WORKGROUP\ 2016-06-20 14:13:24 SYS         480356 SELECT     select s.username,
           USER-4FU6K                                                          s.userhost,
           1AC9P                                                               s.timestamp,
                                                                               s.owner,
                                                                               s.sessionid,
                                                                               s.action_name,
                                                                               s.sql_text

USERNAME   USERHOST   TIMESTAMP           OWNER    SESSIONID ACTION_NAM SQL_TEXT
---------- ---------- ------------------- ------- ---------- ---------- ---------------------------------------------
                                                                          from DBA_AUDIT_TRAIL s
                                                                         where s.username = 'SYSTEM'
                                                                           and s.timestamp > trunc(sysdate)
                                                                           and lower(sql_text) like '%audit all%'

--将所有审计记录保存到操作系统文件中,Oracle官方推荐使用这种方法,尤其是在对安全有较高要求的环境中。

SQL> ALTER SYSTEM SET AUDIT_TRAIL=OS SCOPE=SPFILE;

系统已更改。

--AUDIT_FILE_DEST参数指定操作系统审计记录文件的路径。在UNIX系统上,默认的路径是$ORACLE_HOME/admin/$ORACLE_SID/adump。为了更好的性能,可以将AUDIT_FILE_DEST参数设为数据库实例本地的一个单独路径下。

SQL> show parameter AUDIT_FILE_DEST

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
audit_file_dest                      string      E:\APP\ADMINISTRATOR\ADMIN\FLA
                                                 ME\ADUMP

--如果要审计SYSDBA和SYSOPER用户的操作,需要将AUDIT_SYS_OPERATIONS参数设为TRUE

SQL> show parameter AUDIT_SYS_OPERATIONS

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
audit_sys_operations                 boolean     FALSE

SQL> alter system set AUDIT_SYS_OPERATIONS=TRUE SCOPE=SPFILE;

系统已更改。

--重启数据库,以使参数生效

SQL> show parameter AUDIT_SYS_OPERATIONS

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
audit_sys_operations                 boolean     TRUE
SQL> SHOW PARAMETER AUDIT_TRAIL

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
audit_trail                          string      OS

--AUDIT_SYSLOG_LEVEL参数决定使用SYSLOG来记录SYS用户和标准的OS审计记录,这个参数只适用于UNIX环境。

[oracle@PGAMEDB ~]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.3.0 Production on Tue Jun 21 16:02:46 2016

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

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

SQL> show parameter AUDIT_SYSLOG_LEVEL

NAME     TYPE VALUE
------------------------------------ ----------- ------------------------------
audit_syslog_level     string

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/26506993/viewspace-2120490/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2014-08-01

  • 博文量
    404
  • 访问量
    1673988