文章目录
- 1、登录到数据库
- 2、查看审计状态
- 3、创建审计目录
- 4、启用审计
- 5、设置审计文件路径
- 6、再次查看结果
1、登录到数据库
使用SQL*Plus或者其他Oracle数据库客户端登录到数据库。
sqlplus / as sysdba;
2、查看审计状态
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用户实现
mkdir -p /opt/oracle/audit;
切换到原审计目录下:
cd /u01/app/oracle/admin/orcl/adump
拷贝原审计数据:
cp * /opt/oracle/audit/
切换到新的审计目录查看信息:
cd /opt/oracle/audit;
信息拷贝完成。现在我们进入sql界面
sqlplus / as sysdba;
-- 创建目录CREATE OR REPLACE DIRECTORY audit_dir AS '/opt/oracle/audit/';-- 赋予写入权限GRANT WRITE ON DIRECTORY audit_dir TO PUBLIC;
4、启用审计
选择你要审计的级别,可以是 DB, EXTENDED 或者 OS 级别。在这里,我们以 DB, EXTENDED 为例。审计只支持以下级别类型:
-- 启用数据库审计alter system set audit_trail =db,extended scope=spfile;
5、设置审计文件路径
-- 设置审计文件路径ALTER SYSTEM SET AUDIT_FILE_DEST = '/opt/oracle/audit/' SCOPE=SPFILE;-- 重新启动数据库使更改生效SHUTDOWN IMMEDIATE;STARTUP;
如果遇见启动错误的情况,这里错误的原因是数据在加载,这里比较耗费时间,需要重新退出数据库,然后重新登录数据库在启动。
如果还不能解决需要重启虚拟机或者多等待一会(这个时间会久一点),然后进入数据库首先执行关闭数据库的命令(遗留的内容彻底关闭),然后在启动数据库就能解决问题。
6、再次查看结果
show parameter audit;
ok,该造完成
完结散花