欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

weblogic密码修改|密码重置

程序员文章站 2024-03-19 14:43:58
...

背景,某客户weblogic漏洞扫描发现console登录的weblogic用户存在弱口令,需要进行密码加固,正常流程如下:

  1. 先用旧密码登录web管理控制台(默认7001端口),在里面进行weblogic密码修改。
  2. 修改完成后需要对配置文件中的密码也进行修改,先修改Adminserver,再修改managerserver。
  3. 以上这样正常操作密码基本就能重置了。

但实际操作过程中可能就会遇到坑,一次一共遇到3个,我简单说明一下,也让后面的人尽量少走弯路。

坑1、管理控制台密码有可能会被写死在bin/setdomainenv.sh里面或者startWeblogicserver.sh里面,如果直接改boot配置文件是不会生效的,需要删除这2个地方写死的用户密码配置。

坑2、启动过程中发现控制台加载非常慢,一直转圈圈,通过jstack进程发现是卡在java random上面,触发了java随机数的Bug,可以通过修改java.security解决,改为:securerandom.source=file:/dev/./urandom,主要修改 /./urandom  这里。

坑3、管理控制台密码修改成功,Adminserver也能正常启动和登录,但managerServer启动死活报密码错误,密码这里是正确的,boot中的密码也未进行加密,managerServer的日志显示就是密码认证被拒绝,这个问题解决的办法是删除managerServer下面的data文件夹或里面的缓存数据文件,建议直接mv data data_old,再去启动managerServer,正常启动,未报密码错误。

在分析这个问题时走了些弯路,期初一直以为是密码设置复杂度有问题,导致weblogic识别不了,后反反复复试了几次发现不是这个问题,最后想直接通过找回密码的方式重置密码试试,重置过程中发现AdminServer也启不来了,也是报密码认证被绝句,查看之前的笔记发现要删除AdminServer下面的data文件夹,受这个启发,才反应过来,managerServer也是需要删除这个缓存数据文件,最终解决问题。

 

附weblogic密码重置操作方法,网上有的人写的很复杂, 很难看懂,看懂了可能都不会操作,或操作失误无效果。

⚠️在操作前请先对所有需要操作的目录进行备份,因为随时可能产生误操作,有备份就算出错了也能在第一时间进行回滚。谨记。

# 进入安全目录
cd /home/weblogic/Oracle/Middleware/user_projects/domains/base_domain/security
#重置admin密码,weblogic/weblogic
#下面这一条命令需要执行上一步的cd到security目录,因为新生成的文件是要替换里面的第一个安全文件,也可以直接指定目标目录。
java -classpath /home/weblogic/Oracle/Middleware/wlserver_10.3/server/lib/weblogic.jar weblogic.security.utils.AdminAccount weblogic weblogic .
#或者
java -classpath /home/weblogic/Oracle/Middleware/wlserver_10.3/server/lib/weblogic.jar weblogic.security.utils.AdminAccount weblogic weblogic /home/weblogic/Oracle/Middleware/user_projects/domains/base_domain/security
# 重命名data目录,这一步一定要做,不做有可能出现密码认证失败
cd /home/weblogic/Oracle/Middleware/user_projects/domains/base_domain/servers/AdminServer/
mv data data_old 或者删除data目录,对业务无影响

注意,java -classpath最后面有个逗号,这是表示生成的文件存在当前目录,会覆盖security下面第一个安全认证文件,操作前要先备份。