暂无图片
暂无图片
17
暂无图片
暂无图片
暂无图片

Oracle AUD审计 找出锁定用户的客户端IP

原创 大道至简 2021-08-23
4202

用户被锁

一台测试库,业务反馈某个用户频繁被锁定,但又不好判断是哪台机器;

SYS>SELECT USERNAME, ACCOUNT_STATUS, LOCK_DATE
  FROM DBA_USERS
 WHERE ACCOUNT_STATUS = 'LOCKED(TIMED)';
  2    3  
USERNAME		       ACCOUNT_STATUS			LOCK_DATE
------------------------------ -------------------------------- ---------
A_MKU_XH		       LOCKED(TIMED)			23-AUG-21

于是用oracle自带的审计功能来尝试查一下;

备份清理

审计信息记录在sys.aud$表里,当前数据有2000多w,效率不高,先备份再truncate;

SYS>select count(*) from aud$;
  COUNT(*)
----------
  21419082

create table audit_20210823 TABLESPACE DATA_AUDI as select * from sys.aud$;
truncate table sys.aud$;

检查审计功能

SYS>show parameter audit_trail

NAME				     TYPE	 VALUE
------------------------------------ ----------- ------------------------------
audit_trail			     string	 DB

开启了DB模式,审计日志记录到aud$;
如果没开启就是NONE,改参数,重启实例生效;

alter system set audit_trail=db scope=spfile;

开启审计

--对目标用户登陆失败进行审计
AUDIT SESSION BY A_MKU_XH  WHENEVER NOT SUCCESSFUL;

检查审计日志

 SELECT A.TIMESTAMP, A.RETURNCODE
   FROM DBA_AUDIT_SESSION A
  WHERE A.USERNAME = 'A_MKU_XH'
  ORDER BY 1;

20210823.jpg

可以看出从16:33:25开始,对用户解锁,接着连续10次的1017密码错误,随后继续28000用户被锁。

01017, 00000, “invalid username/password; logon denied”
28000, 00000, “the account is locked”

从COMMENT$TEXT 连接串找到客户端IP,通知用户使用人处理;

SELECT A.COMMENT$TEXT FROM SYS.AUD$ A WHERE USERID = 'A_MKU_XH';

关闭审计

NOAUDIT CONNECT BY A_MKU_XH;

如果想对所有用户开启登陆失败审计,则用下面的命令:

AUDIT SESSION WHENEVER NOT SUCCESSFUL;
NOAUDIT CONNECT;  --关闭审计

最后修改时间:2021-08-23 23:30:27
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论