ITPub博客

首页 > 数据库 > Oracle > 【AUDIT】审计并记录用户连接数据库信息

【AUDIT】审计并记录用户连接数据库信息

原创 Oracle 作者:OCMU联盟 时间:2010-12-16 23:30:31 0 删除 编辑
为防止恶意用户对系统进行攻击,我们可以监控系统的连接情况。与此同时结合定期检查和分析,便可以迅速的发现那些异常和非法的数据库连接。

实现对Oracle系统登录的审计的方法不是唯一的,这里给出使用触发器记录用户登录信息。希望能起到抛砖引玉的目的。

1.创建记录审计信息的表
conn sec/sec
create table audit_user_connect
(
   user_id           varchar2 (32),
   session_id        number (8),
   host              varchar2 (32),
   connection_ip     varchar2 (32),
   logon_day         date,
   logon_time        varchar2 (10)
);

2.创建审计连接信息的触发器
create or replace trigger user_connect_audit_trigger
   after logon
   on database
declare
   v_connection_ip varchar2 (20);
   v_host  varchar2 (20);
begin
   select sys_context ('userenv', 'ip_address') into v_connection_ip from dual;
   select sys_context ('userenv', 'host') into v_host from dual;
   insert into audit_user_connect
     values   (user,
               sys_context ('userenv', 'sessionid'),
               v_host,
               v_connection_ip,
               sysdate,
               to_char (sysdate, 'hh24:mi:ss'));
   commit;
end;
/

3.测试效果
1)客户端测试连接数据库
SQL> conn secooler/secooler@172.17.193.211ora10g
已连接。
SQL> conn sec/sec@172.17.193.211ora10g
已连接。

2)查看审计信息
sec@ora10g> select * from audit_user_connect;

USER_ID    SESSION_ID HOST                 CONNECTION_IP   LOGON_DAY           LOGON_TIME
---------- ---------- -------------------- --------------- ------------------- ----------
SECOOLER      2510618 BJSSECO\HOUSW-LT     10.142.8.199    2010-12-16 21:10:48 21:10:48
SEC           2510619 BJSSECO\HOUSW-LT     10.142.8.199    2010-12-16 21:11:06 21:11:06


4.注意事项
因为是使用触发器实现的审计,因此如果trigger本身出现问题的话,会导致用户无法访问。因此在使用该方法进行审计时,一定要确保trigger的有效性和可用性。
具体的报错信息如下:
sys@ora10g> conn sec/sec
ERROR:
ORA-04098: trigger 'SEC.USER_DISCONNECT_AUDIT_TRIGGER' is invalid and failed re-validation


ERROR:
ORA-24315: illegal attribute type


Warning: You are no longer connected to ORACLE.

5.小结
本文给出的是通过触发器实现用户登录审计的需求。可以在此基础上进行丰富和定制来满足具体的审计需求。
欢迎大家提出自己的宝贵意见。

Good luck.

secooler
10.12.16

-- The End --

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70034820/viewspace-2994238/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
OCM联盟( Oracle Certified Master Union)是由侯圣文(ACE总监)发起的一个公益组织,旨在为每一个OCM大师提供一个可以继续展示自己才华,技术和实力的平台。

注册时间:2007-05-27

  • 博文量
    799
  • 访问量
    8406997