oracle登录时报错1017,Oracle 审计失败的用户登陆(Oracle audit)

对于在线交易系统,且Oracle用户在使用缺省的profile的情形下,多用户共享相同的数据库用户及密码,任意用户输入错误密码累计达到10次以上,其帐户会被自动锁定使得交易被迫临时终止将产生不小的损失。故有必要对那些失败的帐户登陆进行分析以预估是否存在恶意***等。Oracle提供了审计功能用于审计那些失败的Oracle用户登陆来进行风险评估。本文即是描述如何开启审计失败的用户登陆。本文不涉及审计的具体的描述信息,仅仅描述如何审计失败的用户登陆。详细完整的审计大家可以参考Oracle Database Security Guide。

1、帐户被锁定的情形通常情况下,帐户可以由DBA手动锁定,也可能是由于错误的密码输入次数超出了profile中failed_login_attempts 次数的限制而被锁定。

a、手动锁定的情形

sys@SYBO2SZ> select username,account_status,lock_date from dba_users where username like'USR%';

USERNAME ACCOUNT_STATUS LOCK_DATE

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

USR2 OPEN

USR1 OPEN

sys@SYBO2SZ> alteruser usr1 account lock;

sys@SYBO2SZ> select username,account_status,lock_date from dba_users where username like'USR%';

USERNAME ACCOUNT_STATUS LOCK_DATE

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

USR2 OPEN

USR1 LOCKED 20131023 16:37:37

b、登陆失败超出的情形

sys@SYBO2SZ> selectname,lcount fromuser$ wherename='USR2';

NAME LCOUNT

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

USR2 10

sys@SYBO2SZ> select username,account_status,lock_date from dba_users where username like'USR%';

USERNAME ACCOUNT_STATUS LOCK_DATE

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

USR2 LOCKED(TIMED) 20131023 16:41:48 -->用户usr2登陆10次之后帐户被锁定,其状态不同于手动锁定的用户,为LOCKED(TIMED)

USR1 LOCKED 20131023 16:37:37a、手动锁定的情形

sys@SYBO2SZ> select username,account_status,lock_date from dba_users where username like 'USR%';

USERNAME ACCOUNT_STATUS LOCK_DATE

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

USR2 OPEN

USR1 OPEN

sys@SYBO2SZ> alter user usr1 account lock;

sys@SYBO2SZ> select username,account_status,lock_date from dba_users where username like 'USR%';

USERNAME ACCOUNT_STATUS LOCK_DATE

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

USR2 OPEN

USR1 LOCKED 20131023 16:37:37

b、登陆失败超出的情形

sys@SYBO2SZ> select name,lcount from user$ where name='USR2';

NAME LCOUNT

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

USR2 10

sys@SYBO2SZ> select username,account_status,lock_date from dba_users where username like 'USR%';

USERNAME ACCOUNT_STATUS LOCK_DATE

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

USR2 LOCKED(TIMED) 20131023 16:41:48 -->用户usr2登陆10次之后帐户被锁定,其状态不同于手动锁定的用户,为LOCKED(TIMED)

USR1 LOCKED 20131023 16:37:37

2、如何开启审计失败的用户登陆开启审计需要做如下设置

a、设置参数 audit_trail = { none | os | db [, extended] | xml [, extended] }

b、设置参数 audit_file_dest = ''

c、开启登陆失败审计 audit session whenever not successful;

d、执行下面的SQL来查看那些用户经历了登陆失败的情形

select userid, userhost, terminal, clientid from aud$ where returncode=1017;

关于参数audit_trail,

当值为DB时,非sys帐户的审计信息都会被记录到表SYS.AUD$,会占用system表空间,存在资源占用问题,当然也可将其部署到非系统表空间。sys帐户登陆成功与失败都会生成审计文件。

当值为OS时,所有的审计记录被写入到操作系统文件,对于高度安全的数据库,Oracle建议采用该设置,理由很简单,高度安全,写入DB的话,整个系统忙得不亦乐乎。

如果数据库处于只读模式且该参数值为DB时,Oracle 内部设置audit_trail为OS,细节可查看alert log。其余的几个值可参考Oracle Database Reference。

3、演示配置审计登陆失败(oracle 10g)

goex_admin@SYBO2SZ> select * from v$version where rownum<2;

BANNER

-------

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值