Oracle 11g默认审计功能深度解析,网友力荐的数据库安全必读指南

文章导读
Oracle 11g默认开启了标准审计功能,主要审计登录失败、登录成功、SYS用户操作和DDL操作等关键事件。通过查看V$SESSION和DBA_AUDIT_TRAIL视图,可以轻松追踪这些审计记录,实现数据库安全监控的基本需求。
📋 目录
  1. 默认审计设置详解
  2. 查看默认审计记录
  3. 审计文件位置和清理
  4. 增强默认审计配置
  5. 常见问题排查
  6. 安全最佳实践
A A

Oracle 11g默认开启了标准审计功能,主要审计登录失败、登录成功、SYS用户操作和DDL操作等关键事件。通过查看V$SESSION和DBA_AUDIT_TRAIL视图,可以轻松追踪这些审计记录,实现数据库安全监控的基本需求。

默认审计设置详解

在Oracle 11g中,默认审计策略由AUDIT_SYS_OPERATIONS参数控制,默认值为TRUE,这会审计所有SYS用户的操作记录到操作系统审计文件OS_AUDIT;同时,标准审计默认开启了CONNECT、DBA、DELETE TABLE、EXECUTE PROCEDURE、GRANT、INSERT TABLE、SELECT TABLE、UPDATE TABLE等对象的审计,这些记录保存在SYS.AUD$表中,可通过DBA_AUDIT_TRAIL视图查询。

查看默认审计记录

要查看默认审计记录,可以执行以下SQL:SELECT username, action_name, timestamp, returncode FROM dba_audit_trail WHERE username='SYS' ORDER BY timestamp DESC; 这将列出SYS用户的最近操作,帮助管理员快速定位安全事件。

审计文件位置和清理

默认审计文件位于$ORACLE_BASE/diag/rdbms/dbname/trace/adump目录下,文件名为alert_dbname.log和类似audit文件。定期清理可以通过DELETE FROM sys.aud$ WHERE obj$creator IS NULL AND obj$name IS NULL AND action#=100等语句执行,但需谨慎操作以防丢失重要记录。

增强默认审计配置

虽然默认审计已覆盖基本场景,但网友推荐进一步设置AUDIT_TRAIL=DB,EXTENDED参数,并执行AUDIT SESSION WHENEVER SUCCESSFUL; AUDIT ALL BY SYS; 来加强审计粒度,确保所有会话和SYS操作都被完整记录。

Oracle 11g默认审计功能深度解析,网友力荐的数据库安全必读指南

常见问题排查

如果审计记录为空,检查AUDIT_SYS_OPERATIONS是否为TRUE,重启数据库生效;登录失败不记录时,确保AUDIT_TRAIL参数不为NONE。网友分享经验:使用UNIFIED AUDIT从11gR2起更强大,但默认仍依赖传统审计。

安全最佳实践

结合默认审计与Oracle Fine-Grained Auditing(FGA),可实现条件触发审计,如对敏感表的SELECT操作设置策略:BEGIN DBMS_FGA.ADD_POLICY(object_schema=>'SCOTT', object_name=>'EMP', policy_name=>'EMP_SELECT'); END; 这被誉为数据库安全必备组合。

FAQ
Q: Oracle 11g默认审计哪些操作?
A: 默认审计登录成功/失败、SYS操作、基本DDL/DML如SELECT/INSERT/UPDATE/DELETE。
Q: 如何关闭默认审计?
A: 设置AUDIT_TRAIL=NONE并重启数据库,但不推荐以防安全风险。
Q: 审计记录存储在哪里?
A: SYS.AUD$表或操作系统文件adump目录。
Q: 如何清理审计表?
A: 使用TRUNCATE TABLE sys.aud$或删除旧记录SQL,备份后再操作。