ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

java-连接到MQ时,WebSphere Application Server 7.0忽略Windows userId

2019-12-08 09:12:33  阅读:329  来源: 互联网

标签:websphere ibm-mq windows java java-ee


有没有人遇到连接到Websphere MQ资源时WAS不使用Windows用户名的问题?过去,我们的开发人员都没有遇到过这个问题,他们已经能够通过发送用户名以使MQ进行授权.但是我们有一台新的开发人员机器,该机器似乎没有发送用户名,因此无法建立与MQ的连接.

我们尝试使用DefaultPrincipalMapping为QCF指定一个J2C身份验证别名,但这没有用.

解决方案:发现问题在于服务器已安装并作为Windows服务运行.当我们创建一个由用户而不是作为服务运行的新服务器概要文件时,它在连接到MQ时使用Windows用户名.

解决方法:

我怀疑问题实际上可能与您所描述的相反.在旧版本的WAS中,如果将User ID field of the Connection Factory panel留为空白,则WAS将发送空白ID. WebSphere MQ将没有值传递给对象授权管理器,因此该通道将在消息通道代理程序的权限(始终是管理权限)下运行.因此,旧版本的WAS通常具有管理权限,尽管这种权限尚未得到广泛认可.您可以通过查看运行通道的状态并查看MCAUSER字段是否为空白来验证这一点.

现在,如果配置面板为空,则较新版本的WAS会更努力地尝试找到要发送到WMQ的ID.因此,新安装和现有安装的升级通常无法使用以前可用的相同频道授权给WMQ.

所有这些有趣的部分是,这是一个问题的唯一方法是QMgr在MCAUSER通道属性上是否具有空白值.如果QMgr的MCAUSER为空,并且在CONNECT时没有出口设置MCAUSER,则该通道允许管理访问.如果通道没有设置SSLPEER的SSL或退出以验证连接的身份,则匿名用户可以使用该管理访问权限.为什么这是一个问题?因为WebSphere MQ具有基于消息到达来启动OS命令的功能.这意味着具有WMQ管理员权限的任何用户都可以作为软件的功能远程执行任意OS命令.随之而来的是,如果要对流经网络的消息进行任何责任,则即使从合法应用程序也必须锁定此功能.

您的应用能够显示成功的ID,而另一个失败的ID的事实似乎表明QMgr允许管理访问,我敢打赌,匿名连接也可以这样做.天哪!比通过设置WAS中的“正确” ID来解决连接问题要好得多,以解决QMgr的安全性.有关更多信息,请参见IMPACT会议上的Hardening WebSphere MQ演示文稿.

标签:websphere,ibm-mq,windows,java,java-ee
来源: https://codeday.me/bug/20191208/2090459.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有