记录Oracle数据库账号异常锁定的排查处理过程

一、问题描述

因等保测评安全要求,需要设置数据库的密码安全策略,修改了密码复杂度(因原密码复杂度不够,这里修改了原密码)和密码错误锁定次数(5次)。但是策略设置生效后,数据库用户不定期会被锁定。

二、问题排查

1、检查所有与数据库连接的应用

借助于FileLocatorPro等工具,检查应用的数据库配置,搜索数据库地址以及连接用户名,查看密码是否已经全部修改(我这里应用连接数据库都是使用的配置文件,如果存在在数据库中配置的,也需要检查)。

2、检查DBlink等信息

如果有使用dblink,通过以下语句,检查可能相关数据库的dblink信息。

select * from dba_db_links t order by t.owner,t.DB_LINK

如果要检查dblink是否失效,可以通过sql生成以下语句执行即可。

select 'select sysdate from dual@'||t.DB_LINK ||' ;',t.owner from  dba_db_links t order by t.owner,t.DB_LINK

3、限制数据库服务器访问权限

之前发生过一次,这个数据库只给特定的一个应用使用,设置数据库服务器的1521端口只向指定的这台应用服务器开放,查看没有用户被锁定了,结果没两天就一合作所单位来找说使用了这个用户进行数据同步(实际上是不允许她们使用的,也不知道当时用户和密码是怎么泄露的)。

但是这次数据库很多内容未公用部分,使用范围太广,不好确定,此方法不太适用。

4、查看数据库的审计信息

查看数据库,是开启了审计的,那么可以通过审计信息来排查(如果没有开启需要手动先开启审计)!

可以通过下面SQL进行查询

select T.USERID,T.TERMINAL,T.RETURNCODE from sys.aud$ t where t.userid='US_KJGK_QD' AND T.RETURNCODE='1017' ORDER BY T.TERMINAL;

注意returencode,1017代表登录用户账号或者密码错误,具体的代码可以加上ora查询就行,例如28000,就去查ora28000,发现是用户被锁定。

image

根据机器名找到对应的机器,我这里从记录来看,是地图发布服务器连接用户名和密码错误,进一步检查服务发现发布服务的时候使用表关联功能,关联到了这个库的表,对服务进行调整后问题解决!

 

 

posted on 2025-11-05 18:09  jingkunliu  阅读(2)  评论(0)    收藏  举报

导航