Oracle的审计是一个事后的工作,即数据库出现安全问题后,为了定位、发现问题的根源 ,可以通过审计追根溯源。Oracle审计主要包含以下3个部分:
Trigger-based Auditing(触发器)
Auditing the sys User-(SYS用户审计)
Standard Auditing (标准审计)
触发器审计
下面是一个触发器审计的例子,一旦emp 表的sal字段的值增大超过1.1倍,就在审计表emp_sal_audit里记录该次操作。
CREATE TRIGGER trg_a_idu_r_emp_sal AFTER INSERT OR DELETE OR UPDATE OF sal ON emp FOR EACH ROW BEGIN IF (:NEW.sal > :OLD.sal * 1.10) THEN INSERT INTO emp_sal_audit VALUES (:OLD.empno ,:OLD.sal ,:NEW.sal ,user ,sysdate); END IF; END; /
SYS用户的审计
对SYS用户的审计比较特殊,因为SYS用户的权限太大,它 的审计信息不能存储在数据库里,否则SYS可以随意修改审计信息,因此sys用户审计日志写 到操作系统日志中。
下面是一个例子:
1)首先启动对SYS用户的审计
SQL> alter system set audit_sys_operations = true scope = spfile;
系统已更改。
2)由SYS用户向测试表插入一条数据
SQL> show user USER 为 "SYS" SQL> insert into test.t (object_id) values(1); 已创建 1 行。 SQL> commit; 提交完成。
3)在操作系统日志中可以看到如下信息:
Audit trail: LENGTH : '176' ACTION :[7] 'CONNECT' DATABASE USER:[1] '/' PRIVILEGE :[6] 'SYSDBA' CLIENT USER:[12] 'CORP\xianzhu' CLIENT TERMINAL:[14] 'L-SHC-00436132' STATUS:[1] '0' DBID:[10] '1327298419' .
标准审计
标准审计根据对象不同,可以分为以下4个部分:
审计会话 审计对象 审计操作 审计授权
以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索数据库
, 标准
, 触发器
, 用户
, sys
, 数据库审计
, 审计
shc工具
oracle数据库安全审计、oracle数据库审计功能、oracle数据库审计、oracle数据库审计日志、数据库安全审计,以便于您获取更多的相关知识。