美文网首页
Oracle 审计

Oracle 审计

作者: linceln | 来源:发表于2021-07-14 11:25 被阅读0次

查看审计功能是否开启:

SQL> show parameter audit

NAME                     TYPE    VALUE
------------------------------------ ----------- ------------------------------
audit_file_dest              string  /data/oracle/admin/orcl/adump
audit_sys_operations         boolean     FALSE
audit_syslog_level           string
audit_trail              string  OS

和审计相关的两个参数:

audit_sys_operations

默认为 false,当设置为true时,所有sys用户(包括以sysdba, sysoper身份登录的用户)的操作都会被记录,audit trail 不会写在aud$ 表中,这个很好理解,如果数据库还未启动aud$不可用,那么像conn /as sysdba这样的连接信息,只能记录在其它地方。如果是 linux/unix 平台会记录在 audit_file_dest 参数指定的文件中。

SQL> show parameter audit_sys_operation

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

audit_trail

NONE:是默认值,不做审计;
DB:将audit trail 记录在数据库的审计相关表中,如 aud$,审计的结果只有连接信息;
DB,Extended:这样审计结果里面除了连接信息还包含了当时执行的具体语句;
OS:将audit trail 记录在操作系统文件中,文件名由 audit_file_dest 参数指定;
XML:10g里新增的。

SQL> show parameter audit_trail

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

修改参数,打开审计 sys 用户的行为,审计记录记录到操作系统文件中:

SQL> alter system set audit_sys_operations=TRUE scope=spfile;

SQL> alter system set audit_trail=OS scope=spfile;

SQL> shutdown immediate

SQL> startup

注:这两个参数是 static 参数,需要重新启动数据库才能生效。

audit_syslog_level

这个参数和 syslog 配合使用,可以转发审计记录到本地其他目录或者远程审计服务器。

CentOS 中,使用 rsyslog 代替 syslogr 意思是 Rocket-fast,突出一个快。

配置 audit_syslog_levellocal0.info

SQL> alter system set audit_syslog_level='local0.info' scope=spfile;
SQL> shutdown immediate;
SQL> startup;
SQL> show parameter audit;

NAME                     TYPE    VALUE
------------------------------------ ----------- ------------------------------
audit_file_dest              string  /data/oracle/admin/orcl/adump
audit_sys_operations         boolean     FALSE
audit_syslog_level           string    LOCAL0.INFO
audit_trail              string  OS

local0.info是啥意思,这个是 rsyslog 日志配置的两个维度,local0facility 这个维度,有 local0-local7 可选;infoseverity 这个维度,这个比较好理解,就是日志等级,后续过滤日志时可以使用这些维度去过滤。

配置 /etc/rsyslog.conf

# 审计记录保存到本地文件,我们之前设置的 audit_syslog_level 为 `local0.info`, 那就过滤到特定文件中
local0.info /var/log/oracle_audit.log
# 或转发到远程审计服务器。@是使用 `UDP` 协议,@@是使用 `TCP` 协议
local0.info @140.0.1.108

# 找到这一行加上 `local0.none`,意思是不要把 oracle 日志写入 message 文件中
*.info;mail.none;cron.none;local0.none /var/log/message

重启 rsyslog

$ systemctl restart rsyslog

# sqlplus / as sysdba 时就会有数据了
$ tail -f /var/log/oracle_audit.log

相关文章

  • Oracle 审计

    查看审计功能是否开启: 和审计相关的两个参数: audit_sys_operations: 默认为 false,当...

  • ORACLE管理——审计

  • oracle粗粒度审计

    一.粗粒度审计功能。 1.审计级别: 语句级审计(stmt):表示只审计某种类型的SQL语句,不指定结构或对象。 ...

  • 2019-07-19

    Oracle的审计是一个事后的工作,即数据库出现安全问题后,为了定位、发现问题的根源,可以通过审计追根溯源。Ora...

  • oracle 细粒度审计

    1 细粒度审计作用 语句审计、权限审计以及对象审计等标准审计:只能发现访问了哪些对象以及由哪个用户访问,而不能知道...

  • 审计概论

    审计的定义和特征: 审计的主体、审计的授权者(委托者)、审计的客体、审计的目的、审计的依据、审计的本质 特征:独立...

  • 08:项目质量管理19

    审计(P294)(pmp审计有三种,质量审计,风险审计,财务审计)质量审计----用来确定项目活动是否遵循了组织和...

  • 审计结果的差异可能只取决于付出的努力

    影响审计结果的因素有很多,如:审计项目本身的难易程度,被审计单位的配合情况,审计资料取证的难易程度,审计人员的审计...

  • 分阶段审计沟通

    做审计少不了要与被审计单位沟通,不同的阶段,审计沟通方式也不相同。一般情况下,审计沟通主要分为审计进场沟通、审计过...

  • 审计学相关的名词解释

    第一章 审计概论 政府审计:又称为国家审计,是指国家审计机关依法所进行的审计,是国家审计机关代表政府依法对国务院各...

网友评论

      本文标题:Oracle 审计

      本文链接:https://www.haomeiwen.com/subject/hcyspltx.html