当试图使他们的Oracle数据库尽可能安全时,许多组织都打开了Oracle的审计功能。Oracle具有非常强大的审核功能,使我们能够记录数据库中执行的所有操作。我们可以审核连接,对象创建,数据更新,删除以及许多其他数据库活动。
一些组织为了遵守法规或公司安全策略而进行审核,并且可能直到怀疑存在违反安全性的情况,才可能实际检查所产生的日志。
如果这些组织使用Oracle提供的配置审核的快捷方式,可能会感到惊讶。快捷方式是配置审核的便捷方法。无需指定要审核的每个活动,而是可以一次指定一组活动。但是,这些快捷方式可能是骗人的。这些快捷方式之一是:Audit All。
尽管Audit All具有全面的声音,但是有些重要的活动没有被Audit All捕获。其中包括重命名和更改表以及其他系统活动。他们也不会自己审核表上的任何操作。
因此,在配置审核时,请确保通过指定要单独审核的活动来捕获所需的所有内容。
Oracle文档中的以下列表描述了指定“全部审核”时未审核的活动:
- ALTER SEQUENCE
- ALTER TABLE
- COMMENT ON TABLE table, view, materialized view
- COMMENT ON COLUMN table.column, view.column, materialized view.column
- DELETE FROM table, view
- Execution of any procedure or function or access to any variable, library, or cursor inside a package.
- GRANT privilege ON directory
- REVOKE privilege ON directory
- GRANT privilege ON procedure, function, package
- REVOKE privilege ON procedure, function, package
- GRANT privilege ON sequence
- REVOKE privilege ON sequence
- GRANT privilege ON table, view, materialized view
- REVOKE privilege ON table, view, materialized view
- GRANT privilege ON TYPE
- REVOKE privilege ON TYPE
- INSERT INTO table, view
- LOCK TABLE table, view
- Any statement containing sequence.CURRVAL or sequence.NEXTVAL
- SELECT FROM table, view, materialized view
- UPDATE table, view
对以上所有操作都启用审核可能是不合适的。审核其中某些操作(例如插入和更新)可能会对系统性能产生负面影响,因此在决定是否审核那些活动时,请务必考虑到这一点。
另外,请确保按以下方式审核审核跟踪本身:
- Audit Insert,Update,Delete on sys$aud$ by access;
由审计快捷方式的误导性引起的潜在误解是即使在怀疑有违规行为发生之前,也要定期检查审计跟踪的另一个很好的理由。通过检查审核跟踪,您可以确定实际跟踪了哪些活动。