开启数据库审计 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,该造完成

完结散花

相关推荐
筱小虾米2 分钟前
解决SSL VPN客户端一直提示无法连接服务器的问题
运维·服务器
dntktop2 小时前
内嵌编辑器+AI助手,Wave Terminal打造终端新体验
运维
Peter_chq3 小时前
【计算机网络】多路转接之select
linux·c语言·开发语言·网络·c++·后端·select
太阳风暴4 小时前
Ubuntu-修改左Alt和Win键位置关系
linux·ubuntu·修改键盘·键盘映射
kaiyuanheshang4 小时前
docker 中的entrypoint和cmd指令
运维·docker·容器·cmd·entrypoint
wanhengwangluo5 小时前
裸金属服务器能够帮助企业解决哪些问题?
运维·服务器
Python私教5 小时前
除了 Docker,还有哪些类似的容器技术?
运维·docker·容器
java_heartLake5 小时前
PostgreSQL数据库参数调优实践
数据库·postgresql·调优
titxixYY5 小时前
SElinux
linux·运维·服务器