首页 > 其他分享 >【YashanDB知识库】账号被锁,如何分析具体原因

【YashanDB知识库】账号被锁,如何分析具体原因

时间:2024-07-31 09:39:30浏览次数:15  
标签:------------------------------------------------ 02 YashanDB 04 账号 知识库 2024

问题现象

客户刚开始使用YashanDB的时候,经常收到客户反馈账号被锁,但是不知道哪里触发了。

问题的风险及影响

客户环境为测试环境,影响测试业务的开展。

问题影响的版本

YashanDB版本:23.1.3.101

问题发生原因

账号被锁一般有下面原因:

● 密码尝试次数过多:

用户在短时间内连续多次输入错误的密码,超过了数据库系统规定的阈值,系统会自动锁定该用户账户,以防止暴力破解。

● 账号过期:

如果用户的账号设置了有效期,并且已经超过有效期限,系统可能会自动锁定该账号。密码有效期到期后需要修改密码,可参考密码策略:YashanDB Doc

● 管理员锁定:

管理员可以根据安全策略手动锁定用户账户,例如在发现异常登录行为、安全漏洞或出于合规要求时

在新老系统切换的时候,定时任务或批处理包含了错误的密码信息,导致反复尝试登录失败,导致用户被锁定。

解决方法及规避方式

使用管理员yashan账号登录服务器,解锁账户(需要确保yashan在YASDBA用户组,参考操作系统身份认证配置 | YashanDB Doc):

yasql / as sysdba
ALTER USER username ACCOUNT UNLOCK;

问题分析和处理过程

确认账号情况

使用yasdb / as dba登录数据库系统,查看DBA_USERS表ACCOUNT_STATUS/LOCK_DATE/EXPIRY_DATE/PROFILE字段情况,发现账号是LOCKED(TIMED)的状态,PROFILE为DEFAULT,排除因为密码过期导致被锁的情况。

SQL> select * from dba_users where username = 'YASHAN';
 
USERNAME USER_ID PASSWORD ACCOUNT_STATUS LOCK_DATE EXPIRY_DATE DEFAULT_TABLESPACE CREATED AUTHENTICATION_TYPE LAST_LOGIN PASSWORD_CHANGE_DATE DATABASE_MAINTAINED PROFILE
---------------------------------------------------------------- ------------ ---------------------------------------------------------------- --------------------------------- ------------------------------------------------ ------------------------------------------------ ---------------------------------------------------------------- ------------------------------------------------ ------------------- ------------------------------------------------ ------------------------------------------------ ------------------- ----------------------------------------------------------------
YASHAN 5 S:8C4FAB993F0F4264910276E6312DA76F97411977FD09F3E19B651802A867E LOCKED(TIMED) 2024-04-16 YASHAN1 2024-04-07 PASSWORD 2024-04-16 N DEFAULT
 
1 row fetched.
 
SQL>

其中默认profile密码错误10次会锁定账号,没有效期限制(参数说明:YashanDB Doc

检查链接日志。

在YashanDB产品安装过程中会自动创建监听日志文件listener.log,该文件位于$YASDB_DATA目录下的log/listener文件夹中。

在日志中记录了包括时间戳、用户、连接状态、IP、端口等连接信息(成功或失败的连接均被记录),通过查看这些信息可以帮助用户快速分析连接来源

2024-04-02 02:25:36.894 protocal = TCP ip = 192.168.218.1 port = 63862 user = SYS status = SUCCESS
2024-04-02 02:41:10.245 protocal = TCP ip = 192.168.218.1 port = 63863 user = SYS status = ERROR
2024-04-02 02:41:10.252 protocal = TCP ip = 192.168.218.1 port = 64127 user = SYS status = ERROR
2024-04-02 02:41:10.257 protocal = TCP ip = 192.168.218.1 port = 64418 user = SYS status = SUCCESS

从客户的日志看,是一直有本地的IP发起链接失败。

确认原因并修改。

客户检查本地dbeaver的设置,修改为正确密码,并解锁账户之后,问题解决。

SQL> alter user YASHAN account unlock;
 
Succeed.
 
SQL> select * from dba_users where username = 'YASHAN';
 
USERNAME USER_ID PASSWORD ACCOUNT_STATUS LOCK_DATE EXPIRY_DATE DEFAULT_TABLESPACE CREATED AUTHENTICATION_TYPE LAST_LOGIN PASSWORD_CHANGE_DATE DATABASE_MAINTAINED PROFILE
---------------------------------------------------------------- ------------ ---------------------------------------------------------------- --------------------------------- ------------------------------------------------ ------------------------------------------------ ---------------------------------------------------------------- ------------------------------------------------ ------------------- ------------------------------------------------ ------------------------------------------------ ------------------- ----------------------------------------------------------------
YASHAN 5 S:8C4FAB993F0F4264910276E6312DA76F97411977FD09F3E19B651802A867E OPEN 2024-04-16 YASHAN1 2024-04-07 PASSWORD 2024-04-16 N DEFAULT
 
1 row fetched.

经验总结

1、密码可以设置安全策略,在安全策略中指定密码有效期等。

2、$YASDB_DATA目录下的log/listener文件夹中日志文件listener.log,可以帮助用户快速分析连接来源,找到链接错误的IP。

标签:------------------------------------------------,02,YashanDB,04,账号,知识库,2024
From: https://www.cnblogs.com/YashanDB/p/18333895

相关文章

  • (苍穹外卖 DAY3)启\禁用员工账号、编辑员工功能、分类模块解读
    写在前面在学习苍穹外卖过程中,弹幕常有“为什么我打不开?为什么我没有输出?”的疑问,针对这些我也在学习过程中同样遇到的问题,万分感激在弹幕中找到了答案,并作出这系列汇总。本文内容是基于弹幕对苍穹外卖项目的实施与补充,仅供学习与分享之用,如有侵权请联系删除~ 2024-07-30......
  • 【YashanDB知识库】使用select * 创建的物化视图无法进行查询重写
    问题现象使用如下语句准备测试数据:altersystemsetquery_rewrite_enabled=forcescope=both;droptabletest;createtabletest(tidnumber,tnamevarchar2(30));beginforiin1..100000loopinsertintotestvalues(i,i||'abcd');endloop;end;/commit......
  • 【YashanDB知识库】如何远程连接、使用YashanDB?
    问题现象在各个项目实施中,我们经常遇到客户、开发人员需要连接和使用YashanDB但不知如何操作的问题,本文旨在介绍远程连接、使用YashanDB的几种方式。问题的风险及影响无风险问题影响的版本历史版本~23.2问题发生原因无解决方法及规避方式不需要规避问题分析和处理过程......
  • 【YashanDB知识库】如何使用yasldr导入lob类型?
    问题现象在各个项目实施中,有时候会使用到yasldr工具进行csv数据的导入。关于yasldr一般的使用方法,官方文档已经有详细的介绍,具体可见:yasldr使用指导。但在涉及LOB类型的导入时,会有一些疑问,比如什么是lls模式、什么是lobfile模式等等。本文就关于如何使用yasldr导入lob类型做进一......
  • 构建大规模账号池与本地部署:GitHub爬虫项目详解
    账号池搭建必要性常见登录方式:基于Session+Cookie的登录基于JWT的登录:登录生成JWT字符串账号池存储cookie或者JWT字符串方便后续发请求爬取数据本地部署conda建立一个虚拟环境condacreate-nnew_envpython=3.x#替换x为你需要的Python版本激活新建环......
  • 万能账号密码使用min
    原理后台登录页面没有进行内容验证,输入默认都是合法,所有数据都是被信任,【=】优先于【and】,【and】优先于【or】,优先关系or<and<not。简单的大概为select*fromusername='输入值1'andpassword='输入值2'SELECT*FROMadminWHEREUsername='".$username."'ANDPasswor......
  • Java全栈课程之Linux——账号管理
    一、简介Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问;另一方面也可以帮助用户组织文......
  • Vue3 - 最新详细实现网站接入Google谷歌授权登录配置流程及示例代码教程,手机移动端、p
    前言如果您需要Vue2版本,请访问这篇文章。在vue3|nuxt3网站开发中,详解实现vue3接入新版google谷歌快捷登录教程,电脑PC网站、手机网站集成谷歌授权登录服务及拿到用户个人信息头像邮箱等,国内第三方web站点使用google账号登陆及授权重定向,提供详细的本地调试方法以......
  • uniapp(安卓苹果app端) - 微信小程序分享提示报错“由于不支持的分享类型无法分享到微
    问题说明在uni-app(手机app端)安卓Android、苹果ios系统中,解决分享微信小程序时,页面提示:由于不支持的分享类型无法分享到微信|由于应用和小程序未绑定在同意微信开放平台账号,无法分享到微信,uniApp开发App分享微信时出现无法分享且报错提示、分享不可用、微信appid、配置......
  • 【YashanDB知识库】列与存储过程中重名变量/别名问题
    问题现象当一条查询中出现了重复别名,或者在一个存储过程中出现了变量名称与查询中别名相同,就会报错。这个问题在多个客户现场出现。createtabletest_tab1(c1int,c2int);createtabletest_tab2(c1int,c2int);select*fromtest_tab1t1jointest_tab2t2ont2.......