[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_operations = true scope = spfile;

系统已更改。

2)由SYS用户向测试表插入一条数据

[sql]

SQL> show user

USER 为 "SYS"

SQL> insert into test.t (object_id) values(1);

已创建 1 行。

SQL> commit;

提交完成。

3)在操作系统日志中可以看到如下信息:

[plain]

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个部分:

审计会话

审计对象

审计操作

审计授权

下面以审计对象为例:

1)首先,开启标准审计

[sql]

SQL> ALTER SYSTEM SET AUDIT_TRAIL = DB,EXTENDED SCOPE = SPFILE;

系统已更改。

SQL> audit select, insert, update, delete on test.t;

审计已成功。

2)在表上做DML操作

[sql]

SQL> delete from test.t;

已删除72768行。

SQL> insert into t (object_id) values(1);

已创建 1 行。

SQL> commit;

提交完成。

3)在审计表里查看相应审计信息

[sql]

SQL> col userid for a10

SQL> col obj$name for a10

SQL> col sqltext for a40

SQL> select userid,obj$name,sqltext from sys.aud$ where userid='TEST' and obj$name='T';

USERID     OBJ$NAME   SQLTEXT

---------- ---------- ----------------------------------------

TEST       T          delete from test.t

TEST       T          insert into t (object_id) values(1)

http://www.dengb.com/oracle/481202.htmlwww.dengb.comtruehttp://www.dengb.com/oracle/481202.htmlTechArticle[Oracle]数据库安全之-审计audit Oracle的审计是一个事后的工作,即数据库出现安全问题后,为了定位、发现问题的根源,可以通过审计追根溯...

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐