[Oracle]数据库安全之-审计audit
Oracle的审计是一个事后的工作,即数据库出现安全问题后,为了定位、发现问题的根源,可以通过审计追根溯源。Oracle审计主要包含以下3个部分:
Trigger-based Auditing(触发器)
Auditing the sys User-(SYS用户审计)
Standard Auditing (标准审计)
触发器审计
下面是一个触发器审计的例子,一旦emp表的sal字段的值增大超过1.1倍,就在审计表emp_sal_audit里记录该次操作。
[sql]
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]
SQL> alter system set audit_sys_op