oracle审计详述(上)
目录:
数据库安全和审计的责任
标准审计
基于值的审计
细粒度审计
SYSDBA的审计
维护审计线索
内容详述:
一:数据库安全和审计的责任
• 责任分离– 具有DBA权限的用户必须可靠.• 滥用信任• 审计保护受信任的位置– 必须分散DBA责任.– 一定不能共享账户.– DBA和系统管理员必须由不同人担任.– 分离操作员与DBA责任.• 数据库安全性– 安全系统可确保所包含数据的机密性。有以下几个安全方面的功能:• 限制对数据和服务的访问• 验证用户• 监视可疑活动• 监视遵从性– 监视和审计必须是安全程序不可或缺的一部分.– 请复查下列各项:• 强制性审计• 标准数据库审计• 基于值审计• 细粒度审计 (FGA)• SYSDBA (和 SYSOPER) 审计
二:标准数据库审计
• 标准数据库审计![]()
• 配置审计– 使用 AUDIT_TRAIL 启用数据库审计ALTER SYSTEM SET AUDIT_TRAIL='XML' SCOPE=SPFILE;Audit trail can be set to:• NONE• OS• DB• DB, EXTENDED• XML• XML, EXTENDED• 统一审计线索![]()
• 指定审计选项– 审计SQL语句:AUDIT table;– 审计系统权限(非重点和重点):AUDIT select any table, create any trigger;AUDIT select any table BY hr BY SESSION;– 审计对象权限(非重点和重点):AUDIT ALL on hr.employees;AUDIT UPDATE,DELETE on hr.employees BY ACCESS;• 默认审计![]()
三:基于值的审计
• 基于值的审计
四:细粒度审计
• 细粒度审计– 根据内容监视数据访问– 审计 SELECT, INSERT, UPDATE, DELETE, 和 MERGE– 可链接到表或视图中的一列或多列– 可能执行一个存储过程– 使用 DBMS_FGA 程序包进行管理• FGA策略– 定义:• 审计标准• 审计操作– 使用以下方法创建• 审计DML语句:注意事项– 如果满足 FGA 谓词并且引用了相关列,则会审计记录.– 不管指定列是什么,都会审计 DELETE 语句.– 对于 MERGE 语句,会审计生成的基础 INSERT, UPDATE, 和 DELETE 语句• FGA准则– 要审计所有行,请使用NULL审计条件。– 要审计所有列,请使用NULL审计列。– 策略名必须唯一。– 创建策略时,审计的表或视图必须已经存在。– 如果审计条件语法无效,则访问审计对象时会发生ORA-28112错误。– 如果表中不存在审计的列,则不会审计任何行。– 如果事件处理程序不存在,则不会返回任何错误但仍会创建审计记录。
五:SYSDBA审计
• 具有SYSDBA和SYSOPER权限的用户可在数据库关闭时进行连接。– 审计线索必须存储在数据库外部。– 总是审计以SYSDBA或SYSOPER身份进行的连接。– 可以使用audit_sys_operations启用SYSDBA或SYSOPER操作的附加审计。– 可使用audit_file_dest控制审计线索。
六:维护审计线索
• 应根据最佳方案准则来维护审计线索:– 复查和存储旧记录.– 避免出现存储问题.– 避免记录丢失.
七:Oracle Audit Vault
• 跨平台合并安全的审计数据– Oracle 9i Release 2 and higher– SQL Server 2000, 2005– IBM DB2 UDB 8.5 & 9.2– Sybase ASE 12.5 - 15.0– 安全可扩展– Oracle审计数据的清理• 集中报告– 使用广泛流行的Oracle Application Express程序更新报告– 标准报告– 自定义报告• 安全威胁警告– 安全相关事件的检测和报警