常见问题解答主题

一般问题

1. 哪些 Oracle Database 版本支持 Unified Auditing?

Oracle Database 12c 及更高版本均支持 Unified Auditing。

2. 如何在 Oracle Database 中启用 Unified Auditing?

Oracle Database 12c 及更高版本默认启用 Unified Auditing。

3. Unified Auditing 是 Oracle Database 中的一个许可特性吗?

从 Oracle Database 12c 开始,Oracle Database 的所有发行版中都包括 Unified Auditing。

4. Oracle Database 23ai 中能否使用传统审计?

Oracle Database 23ai 不再支持传统审计。如果创建一个新的 Oracle Database 23ai,则不存在传统审计。

如果将旧数据库升级到 Database 23ai,结果取决于所升级的数据库。如果旧数据库已经在使用 Unified Auditing,并且没有现存的传统审计设置,那么升级后的数据库将继续使用 Unified Auditing。

但是,如果您升级的数据库有传统审计设置,那么升级后的数据库将继续应用这些审计设置并在旧版本的审计跟踪中捕获它们,直到您使用 NOAUDIT 命令禁用这些审计设置。您将无法创建新的传统审计设置或修改现有审计设置。

Oracle 建议在计划升级到 Database 23ai 之前,先计划转换到 Unified Auditing。

5. 我是 Unified Auditing 新手,应该从哪里开始?

如果您是 Unified Auditing 新手,可以先使用现成的审计工具和功能,这些工具和功能可以满足大多数基本审计需求。以下是一些提示。

  • 利用数据库中的“始终启用”功能:Oracle Database 为某些安全敏感操作启用了强制审计。这些始终启用的审计是内置的,无法关闭。因此,您无需在自己的策略中复制它们。

    对于 Database 19c 及更高版本,要查看强制审计的审计记录,请查询 UNIFIED_AUDIT_TRAIL 视图:

    SELECT * FROM UNIFIED_AUDIT_TRAIL
    WHERE UNIFIED_AUDIT_POLICIES LIKE ' ORA$MANDATORY';
  • 利用预定义的策略:Oracle 提供的内置审计策略涵盖了最常见的安全相关事件。其中一些策略默认已启用;可以使用以下查询来验证已启用的策略:

    SELECT * FROM AUDIT_UNIFIED_ENABLED_POLICIES;

    可以使用简单的 AUDIT 命令启用所需的策略,例如

    AUDIT POLICY ORA_SECURECONFIG;

    注:如果使用的是 Oracle Autonomous Database,许多基本审计策略都已预先启用。
  • 只需点击 Oracle Data Safe 和/或 Oracle Audit Vault and Database Firewall,即可利用现成的审计策略。

6. 如何查询 Unified Auditing 记录?

可以使用 UNIFIED_AUDIT_TRAIL 视图查询审计记录。

性能

1. Unified Auditing 会影响数据库性能吗?

对于审计特权用户或审计关键数据库操作的典型用例,性能影响非常小,由于一周内的审计量都很小,甚至无法衡量。当审计负载增加到每分钟几千条审计记录时,您可能会开始看到 1% 的性能影响。大多数用例的性能影响不会超出这个范围,但如果企业希望审计应用使用情况,最好调整审计策略。

使用 TPC-C 混合应用工作负载进行的内部性能测试显示,当审计速度超过每分钟 6000 条审计记录时,CPU 开销可能介于 2% 到 5% 之间。即使在极端审计负载下,每分钟高达 36000 条审计记录,额外开销仍保持在个位数范围内。

存储

1. Unified Auditing 中的审计数据存储在哪里?

审计记录存储在 AUDSYS 模式下受保护的内部表 AUD$UNIFIED 中。默认情况下,该表位于 SYSAUX 表空间中。

当无法写入数据库时(例如,数据库未打开且表空间已满),审计记录将作为溢出二进制文件写入操作系统,目录为 $ORACLE_BASE/audit/$ORACLE_SID。可以使用 UNIFIED_AUDIT_TRAIL 视图访问审计记录,该视图内部从表 AUDSYS.AUD$UNIFIED 和溢出文件的数据中提取审计记录。

2. 如何管理 Unified Auditing 数据的大小和保留期?

最好使用 DBMS_AUDIT_MGMT 接口定期归档和清除审计记录。DBMS_AUDIT_MGMT 包提供了设置归档时间戳、清除审计跟踪以及调度清除作业的实用程序。

另外,最好设置审计跟踪分区间隔,这样每个分区都有一组可管理的审计记录。

3. 是否可以将审计数据移动到其他表空间?

最好将审计数据从默认的 SYSAUX 表空间移动到其他表空间。DBMS_AUDIT_MGMT.SET_AUDIT_TRAIL_LOCATION 过程可以帮助您执行此操作。

转换

1. 如何从传统审计转换到 Unified Auditing?

大多数情况下,转换都很简单。按照以下步骤操作:

  • 利用数据库中的“始终开启”功能。
  • 利用数据库中的预定义策略。
  • 确保启用了预定义策略(例如 ORA_SECURECONFIG、ORA_LOGIN_LOGOUT)。
  • 如果存在自定义的传统审计设置,请为其定义等效的 Unified Audit 策略并启用。如有需要,请参阅 MOS 2909718.1 了解转换实用程序。
  • 使用 NOAUDIT 禁用传统审计。
  • 设置 AUDIT_TRAIL=None 和 AUDIT_SYS_OPERATIONS =False。

配置

1. 对于配置 Unified Auditing 策略有什么建议的好做法?

通过将审计配置重点放在特权用户活动、安全相关事件和敏感数据访问这三个因素上,创建有选择性和有针对性的有效审计策略。有关更多详细信息,请阅读《Oracle Database Unified Audit:优秀实践指南》

2. 是否有用于学习 Unified Auditing 的 Oracle LiveLab?

有,该 LiveLab 将帮助您了解如何在 30 分钟内配置和使用 Unified Auditing。

完整性

1. Unified Auditing 数据是否防篡改?

Unified Auditing 不允许用户篡改审计跟踪,从而提供了高度完整的审计跟踪。审计跟踪存储在 AUDSYS 模式中,任何人都不得登录数据库中的该模式。AUD$UNIFIED 是一个专用表,仅允许 INSERT 活动。任何直接截断、删除或更新 AUD$UNIFIED 表内容的尝试都将失败并生成审计记录。审计数据使用内置的审计数据管理 DBMS_AUDIT_MGMT 包进行管理。

2. 能否防止 DBA 或特权用户篡改统一审计日志?

统一审计数据是安全存储的,不可修改。建议职责分离,将 AUDIT_ADMIN 和 AUDIT_VIEWER 角色分配给专门的安全人员,而不是 DBA。使用 Oracle Database Vault 可以更严格地实施运营控制和访问限制。

3. 审计数据是否加密?

虽然数据库中的审计记录默认未加密,但可以对存储审计数据的表空间使用透明数据加密。

使用网络加密 (SSL/TLS) 保护传输中的审计数据。

注:为免疑义,本网页所用以下术语专指以下含义:

  1. 除Oracle隐私政策外,本网站中提及的“Oracle”专指Oracle境外公司而非甲骨文中国 。
  2. 相关Cloud或云术语均指代Oracle境外公司提供的云技术或其解决方案。