WebSphere遗忘管理控制台密码?

日期: 2009-12-20 作者:itpubblog 来源:TechTarget中国 英文

    常在河边走,哪有不湿鞋,WebSphere管理中最让人无语的是把密码忘记了。管理控制台也好,数据源的密码也好,配置的时候为了满足安全管理的要求设置了8位以上、大小写皆有、毫无意义的密码,现在两眼一抹黑,怎么都试不出来。怎么办?重装?生产环境好不好。其实不用着急,IBM还是给我们留了一条后路的。

    管理控制台密码遗忘有两种补救措施:

    方法一:命令行——从$WAS_HOME/profiles/xxx 概要文件名/bin目录下,运行 wsadmin -conntype NONE 。当wsadmin的命令行窗口出现之后,运行 securityoff 。上述操作在应用服务器启动或停止的状态都能发出。再次启用WAS时,就是停用管理安全性的状态了。

    方法二:修改配置文件——修改$WAS_HOMEconfigcellsxxx 下的security.xml,把第一个enable改成false就取消安全性了。

    以上两种方法是禁用了全局安全性(global security),最后别忘了设置新的密码然后再次启用。

    下文是讲述如何“破解”出WebSphere中其它密码的方法:

    WebSphere会在配置文件(一堆的XML)当中存放各种密码(包括数据源、认证别名等等),例如在$WAS_Profile_HOMEconfigcellssecurity.xml文件里面有类似”<authDataEntries xmi_id=”JAASAuthData_1238489272531″ alias=”myNode01/oracleDBA” userId=”oraadmin” password=”{xor}bm1sa2pp”/>”,就是存放认证别名为oracleDBA的用户名和密码。

    可以看到在这里密码被重新编码(encode)了,编码的方式是XOR(eXclusive OR异或),很明显这种并不是一种强加密的算法,仅仅是一种编码而已,所以准确来说WebSphere为了避免密码被明文记录,只是很简单地“编码”(encode)而不是“加密”(encrypt)。

    万一阁下一个不小心忘记了存放在WebSphere里面的密码,但是又想恢复过来的话,WebSphere这种只是编码而不是加密的存放密码形式,就帮助了你了。当然如果你想干坏事的话,WebSphere也算是给自己留下了一个“后门”了 -_-b。嘿嘿嘿,不要以为IBM那帮老爷子就是这么懒,如果阁下真的是要对存放在WebSphere配置文件里面的密码要加密的话(对于广大客户肯定是有这个诉求的),其实IBM也提供了一种自定义加密算法的插件形式去解决这个问题的,详情可以参考这个链接,在这里就不对这个问题进行展开讨论了。

    好了,现在就对各个版本的WAS的密码编码和反编码进行讨论:

    WAS 5.X的编码:

    > cd $WAS_INSTALL_DIR/lib

    > ../java/bin/java -cp securityimpl.jar:iwsorb.jar com.ibm.ws.security.util.PasswordEncoder 123456

    WAS 5.X的反编码:

    > cd $WAS_INSTALL_DIR/lib

    > ../java/bin/java -cp securityimpl.jar:iwsorb.jar com.ibm.ws.security.util.PasswordDecoder {xor}bm1sa2pp

    WAS 6.0的编码:

    > cd $WAS_INSTALL_DIR/lib

    > ../java/bin/java -cp securityimpl.jar:iwsorb.jar::ras.jar:wsexception.jar:bootstrap.jar:emf.jar:ffdc.jar com.ibm.ws.security.util.PasswordEncoder 123456

    WAS 6.0的反编码:

    > cd $WAS_INSTALL_DIR/lib

    > ../java/bin/java -cp securityimpl.jar:iwsorb.jar::ras.jar:wsexception.jar:bootstrap.jar:emf.jar:ffdc.jar com.ibm.ws.security.util.PasswordDecoder {xor}bm1sa2pp

    WAS 6.1的编码:

    > cd $WAS_INSTALL_DIR/binProfileManagementpluginscom.ibm.websphere.v61_6.1.200

    > java -cp ws_runtime.jar com.ibm.ws.security.util.PasswordEncoder 123456

    WAS 6.1的反编码:

    > cd $WAS_INSTALL_DIR/binProfileManagementpluginscom.ibm.websphere.v61_6.1.200

    > java -cp ws_runtime.jar com.ibm.ws.security.util.PasswordDecoder  {xor}bm1sa2pp

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

相关推荐

  • Impact 2012:SOA 3.0时代全面开启

    现在的面向服务架构——SOA并不如以前那样耀眼夺目,而是以“服务”的形式出现在更多的场合中,然而,SOA已经焕发出全新的生机。

  • SOA知识工具包:中间件厂商产品攻略

    对于软件架构师和开发者能否正确理解SOA开发平台的互操作性和性能,我们不得而知,因为IT产业中太多东西缺乏标准或者标准不健全。

  • WebSphere ESB中的大型对象最佳实践和调优

    确保在大型对象系统处理方面获得最优性能是中间件软件用户面临的一个常见问题。通常,大于或等于1M的对象被认为是“大型对象”,需要特别注意。

  • IBM在大型主机环境中引入BPM

    BMC提供的一份调查报告中显示,在充满商业挑战的市场中,大型主机仍然会是企业关键业务交易处理的可靠平台。调查中显示,大型主机将会在今后的几年里,通过更丰富的技术手段承担更多的工作量。