开启数据库审计 db,extended级别或os级别)并将审计文件存放到/opt/oracle/audit/下

文章目录

1、登录到数据库

使用SQL*Plus或者其他Oracle数据库客户端登录到数据库。

bash 复制代码
sqlplus / as sysdba;

2、查看审计状态

sql 复制代码
show parameter audit;

目前是DB状态,并且我们的审计目录也不符合要求

audit_trail 的 value值:

  • NONE:表示不开启审计功能。这种情况下,不会记录任何审计信息。
  • FALSE:也是不开启审计功能的表示。
  • DB:表示开启审计功能,并且审计记录会被保存在数据库中。这是默认的审计方式。
  • TRUE:表示开启审计功能。
  • OS:表示审计记录将被写入一个操作系统文件。这通常用于将审计信息记录到操作系统的日志文件中。
  • DB,EXTEND:表示在数据库中开启审计功能,并且使用扩展的审计记录格式。
    AUDIT_SYS_OPERATIONS 是 Oracle 数据库审计的一个选项,用于审计对数据库中系统级别操作的访问。启用此选项后,Oracle 将记录对数据库中涉及敏感系统级别操作的尝试,这有助于监控和审计数据库的安全性。

具体来说,启用 AUDIT_SYS_OPERATIONS 将审计以下类型的系统级别操作:

  • SYSDBA 和 SYSOPER 角色的活动:
    通过 SYSDBA 或 SYSOPER 角色登录到数据库的尝试。
    使用 CONNECT ... AS SYSDBA 或 CONNECT ... AS SYSOPER 连接到数据库的尝试。
  • 用户帐户管理:
    创建、修改或删除用户帐户的操作。
    赋予或收回 SYSDBA 或 SYSOPER 权限的操作。
  • 数据库配置更改:
    修改数据库参数(ALTER SYSTEM)的尝试。
    启动、关闭数据库的尝试。
    当 AUDIT_SYS_OPERATIONS 的值为 FALSE 时,表示当前并未启用对数据库中系统级别操作的审计。这意味着 Oracle 数据库并不记录对 SYSDBA 和 SYSOPER 角色的活动,用户帐户管理操作以及数据库配置更改等敏感操作的尝试。

3、创建审计目录

同时我们也要手工创建审计目录:

这一步需要root用户实现

bash 复制代码
mkdir -p /opt/oracle/audit;

切换到原审计目录下:

bash 复制代码
cd /u01/app/oracle/admin/orcl/adump

拷贝原审计数据:

bash 复制代码
cp * /opt/oracle/audit/

切换到新的审计目录查看信息:

bash 复制代码
cd /opt/oracle/audit;

信息拷贝完成。现在我们进入sql界面

bash 复制代码
sqlplus / as sysdba;
sql 复制代码
-- 创建目录
CREATE OR REPLACE DIRECTORY audit_dir AS '/opt/oracle/audit/';

-- 赋予写入权限
GRANT WRITE ON DIRECTORY audit_dir TO PUBLIC;

4、启用审计

选择你要审计的级别,可以是 DB, EXTENDED 或者 OS 级别。在这里,我们以 DB, EXTENDED 为例。审计只支持以下级别类型:

sql 复制代码
-- 启用数据库审计
alter system set audit_trail =db,extended scope=spfile;

5、设置审计文件路径

sql 复制代码
-- 设置审计文件路径
ALTER SYSTEM SET AUDIT_FILE_DEST = '/opt/oracle/audit/' SCOPE=SPFILE;

-- 重新启动数据库使更改生效
SHUTDOWN IMMEDIATE;
STARTUP;

如果遇见启动错误的情况,这里需要重新退出数据库,然后重新登录数据库在启动。

5、再次查看结果

sql 复制代码
show parameter audit;

ok,该造完成

完结散花

相关推荐
m0_609000423 分钟前
向日葵好用吗?4款稳定的远程控制软件推荐。
运维·服务器·网络·人工智能·远程工作
小安运维日记1 小时前
Linux云计算 |【第四阶段】NOSQL-DAY1
linux·运维·redis·sql·云计算·nosql
kejijianwen2 小时前
JdbcTemplate常用方法一览AG网页参数绑定与数据寻址实操
服务器·数据库·oracle
编程零零七2 小时前
Python数据分析工具(三):pymssql的用法
开发语言·前端·数据库·python·oracle·数据分析·pymssql
CoolTiger、4 小时前
【Vmware16安装教程】
linux·虚拟机·vmware16
m0_741768854 小时前
使用docker的小例子
运维·docker·容器
学习3人组5 小时前
CentOS 中配置 OpenJDK以及多版本管理
linux·运维·centos
高兴就好(石5 小时前
DB-GPT部署和试用
数据库·gpt
厨 神5 小时前
vmware中的ubuntu系统扩容分区
linux·运维·ubuntu
这孩子叫逆5 小时前
6. 什么是MySQL的事务?如何在Java中使用Connection接口管理事务?
数据库·mysql