`
gaoc121
  • 浏览: 11004 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

WAS连接MQ出现2035 MQRC_NOT_AUTHORIZED问题的解决

阅读更多

 

Question

 

You create a new queue manager in WebSphere MQ 7.1 or 7.5 or later and you try to use a user id that is an MQ Administrator to remotely access the queue manager via a client connection. You get an error with reason code 2035:

2035 MQRC_NOT_AUTHORIZED

The MQ Administrator can remotely access without problems other MQ queue managers at version 6 or 7.0.x.

 

Cause

 

You created a new queue manager in MQ 7.1 or in 7.5 or later. The default value for the new feature introduced in 7.1, "Channel Authentication Records" (CHLAUTH) is ENABLED. You can see the value by using runmqsc:

$ runmqsc QmgrName
DISPLAY QMGR CHLAUTH
AMQ8408: Display Queue Manager details.
QMNAME(TEST01) CHLAUTH(ENABLED)

By default, the following 3 channel authentication records are generated when a new queue manager is created in 7.1 or upgraded to 7.1:

DISPLAY CHLAUTH(*)
1 : DISPLAY CHLAUTH(*)
AMQ8878: Display channel authentication record details.
CHLAUTH(SYSTEM.ADMIN.SVRCONN) TYPE(ADDRESSMAP)
ADDRESS(*) USERSRC(CHANNEL)
AMQ8878: Display channel authentication record details.
CHLAUTH(SYSTEM.*) TYPE(ADDRESSMAP)
ADDRESS(*) USERSRC(NOACCESS)
AMQ8878: Display channel authentication record details.
CHLAUTH(*) TYPE(BLOCKUSER)
USERLIST(*MQADMIN)

The last record blocks all remote channel access to any MQ Administrator. The effect is that non-administrative users can still connect if suitably authorized to do so, but administrative connections and anonymous connections are disallowed regardless of any Object Authority Manager (OAM) authorization settings. This means that new queue managers in V7.1 are much more secure by default than in previous versions, but with the trade off that administrative access must be explicitly defined.

+++ Additional notes:

a) If you upgraded a queue manager to MQ 7.1 this new feature is NOT enabled by default.

$ runmqsc QmgrName
DISPLAY QMGR CHLAUTH
AMQ8408: Display Queue Manager details.
QMNAME(TEST01) CHLAUTH(DISABLED)

However, this new feature can be enabled by issuing the following command in runmqsc:
ALTER QMGR CHLAUTH(ENABLED)


b) You use the MQ Explorer to remotely access the newly created 7.1 queue manager and get the following errors:



Text inside the dialog box:
Access not permitted. You are not authorized to perform this operation. (AMQ4036)
Severity: 10 (Warning)
Explanation: The queue manager security mechanism has indicated that the userid associated with this request is not authorized to access the object.

After closing the above dialog, the next one appears:



Text inside the dialog box:
An error occurred connecting to queue manager 'QM_71 on 'host.x.com(14xx)''. Are you sure that you want to show this queue manager in the folder anyway? (AMQ4027)
Severity: 10 (Warning)
Explanation: A connection could not be made to the specified remote queue manager.
Response: Ensure that the named queue manager is running on the host and port specified, and has a channel corresponding to the specified name. Ensure that you have the authority to connect to the remote queue manager, and ensure that the network is running. Select Yes if you believe that the problem can be resolved later. Select No if you want to correct the problem now and try again.


c) In the error log for the queue manager you see either the error AMQ9776 or AMQ9777, followed by AMQ9999

c.1) AMQ9776: Channel was blocked by userid
EXPLANATION: The inbound channel 'SYSTEM.ADMIN.SVRCONN' was blocked from address
'9.49.x.x' because the active values of the channel were mapped to a userid which should be blocked. The active values of the channel were 'MCAUSER(rivera) CLNTUSER(rivera)'.
ACTION: Contact the systems administrator, who should examine the channel authentication records to ensure that the correct settings have been configured. The ALTER QMGR CHLAUTH switch is used to control whether channel authentication records are used. The command DISPLAY CHLAUTH can be used to query the channel authentication records.

c.2) AMQ9777: Channel was blocked
EXPLANATION:The inbound channel 'SYSTEM.DEF.SVRCONN' was blocked from address '127.0.0.1'
because the active values of the channel matched a record configured with USERSRC(NOACCESS). The active values of the channel were 'CLNTUSER()'.
ACTION: Contact the systems administrator, who should examine the channel authentication records to ensure that the correct settings have been configured. The ALTER QMGR CHLAUTH switch is used to control whether channel authentication records are used. The command DISPLAY CHLAUTH can be used to query the channel authentication records.

c.3) Either of the above errors is followed by:

AMQ9999: Channel 'SYSTEM.ADMIN.SVRCONN' to host 'x (9.49.x.x)' ended abnormally.

 

Answer

 

1) If this is a production queue manager, then you could stop trying to use a userid that is an MQ Administrator and instead, use a non-administrator userid to access the queue manager.


2) If you really want the MQ Administrator to be able to access the queue manager via client channels, you could do one of the following actions.

2.a) You can add the following two Channel Authentication Records discussed in the following presentation:

What's New in WebSphere MQ v7.1 Security?
T.Rob Wyatt
Page 10: User ID blocking

The first rule blocks administrative users and the MCAUSER "nobody" (which prevents someone from creating a user ID "nobody" and putting it into an authorized group).
$ runmqsc QmgrName
SET CHLAUTH(*) TYPE(BLOCKUSER) USERLIST('nobody','*MQADMIN')

The second rule provides a reduced blacklist for SYSTEM.ADMIN channels that allows administrators to use these. It is assumed here that some other CHLAUTH rule such as an SSLPEERMAP has validated the administrator’s connection or than an exit has done so.
SET CHLAUTH(SYSTEM.ADMIN.*) TYPE(BLOCKUSER) USERLIST('nobody')

The above rules apply to SYSTEM.ADMIN.SVRCONN which is used by the MQ Explorer.

If you are using another user-defined channel, such as MY.ADMIN.SVRCONN, then you need to add the following two records:
SET CHLAUTH(MY.ADMIN.SVRCONN) TYPE(ADDRESSMAP) ADDRESS(*) USERSRC(CHANNEL)
SET CHLAUTH(MY.ADMIN.SVRCONN) TYPE(BLOCKUSER) USERLIST('nobody')

Note: it is not advisable to use SYSTEM.DEF.* channels for active connections. The system default channels are the objects from which all user-defined channels inherit properties. The recommended practice is that SYSTEM.DEF.* and SYSTEM.AUTO.* channels should NOT be configured to be usable.

2.b) This is a variation of (2.a) but allowing the MQ Administrator to only use a particular host.

The first rule blocks MCAUSER "nobody".
SET CHLAUTH(SYSTEM.ADMIN.SVRCONN) TYPE(BLOCKUSER) USERLIST('nobody')

The second rule removes all access to SYSTEM.ADMIN.SVRCONN ...
SET CHLAUTH(SYSTEM.ADMIN.SVRCONN) TYPE(ADDRESSMAP) ADDRESS(*) ACTION(REMOVE)

... and the third rule adds an entry for the server that needs access.
SET CHLAUTH(SYSTEM.ADMIN.SVRCONN) TYPE(ADDRESSMAP) ADDRESS(9.27.4x.7y) USERSRC(CHANNEL)


2.c) Disable the Channel Authentication Records feature:

ALTER QMGR CHLAUTH(DISABLED)

WARNING: Disabling this new feature is not recommended for MQ 7.1 production queue managers due to security implications.
Note that disabling CHLAUTH results in a policy that accepts administrative connections by default. The administrative effort to lock down administrative access with CHLAUTH(DISABLED) is much greater than to do so with CHLAUTH(ENABLED). It is therefore recommended to leave CHLAUTH(ENABLED) and use the other security features of WebSphere MQ V7.1 to authenticate administrator connections.

 

 

Additional links:

http://www-01.ibm.com/support/docview.wss?uid=swg21577137

http://jubergconsulting.gowithclick.com/_blog/websphere/post/WebSphere_MQ_reason_2035_MQRC_NOT_AUTHORIZED/

http://pic.dhe.ibm.com/infocenter/wmqv7/v7r5/index.jsp

分享到:
评论

相关推荐

    IBM MQ错误代码大全中英文对照覆盖所有MQ出现的错误

    这份“IBM MQ错误代码大全中英文对照覆盖所有MQ出现的错误”文档集合了MQ可能遇到的各种错误代码,对于理解和解决MQ相关问题非常关键。 错误代码通常由三位数字组成,如2035、MQRC_NOT_AUTHORIZED等。每个错误代码...

    MQ错误代码表

    MQRC_CONNECTION_NOT_AUTHORIZED (2217, X'8A9"):未授权连接。该错误代码表明未授权连接。 MQRC_CONNECTION_QUIESCING (2202, X'89A"):连接静止。该错误代码表明连接静止。 MQRC_CONNECTION_STOPPING (2203, X'...

    IBM MQ错误码大全

    通过以上详细解释,我们可以更好地理解 IBM MQ 中出现的各种错误码,并采取相应的措施来解决问题。在日常开发和维护过程中,了解这些错误码的含义及其解决方法非常重要,可以帮助我们更高效地管理和优化 IBM MQ 系统...

    Websphere mq 7.1 通道授权问题

    标题中的“通道授权问题”具体指的是在Websphere MQ 7.1或更高版本中,当尝试使用MQ管理员身份通过客户端连接远程访问队列管理器时,遇到错误代码2035:MQRC_NOT_AUTHORIZED的问题。这个问题通常出现在升级或新创建...

    pandownload118错误:user is not authorized.rar

    在使用Pandownload工具下载网络资源时,可能会遇到“118错误:user is not authorized”的问题。这个错误提示意味着用户未获得授权,无法正常进行下载。为了解决这个问题,我们可以借助Aria2这款强大的多线程下载...

    Agent admitted failure to sign using the key 问题解决办法.pdf

    SSH 公钥认证故障解决方案 在使用 SSH 连接远程服务器时,经常会遇到公钥认证故障,导致连接失败。本文将分享一个在 Ubuntu 中安装 SSH ...本文分享的解决办法可以帮助初学者快速解决 SSH 连接问题,并提高学习效率。

    aws-ec2-instance-connect-config:这是ssh守护程序配置和必要的EC2实例脚本,用于启用EC2实例连接。 还包括用于各种Linux发行版的打包的各种包管理器配置。

    AWS EC2实例连接配置该软件包包含EC2实例配置和启用AWS EC2 Instance Connect所需的脚本。AuthorizedKeysCommand AuthorizedKeysCommand分为三个部分: eic_run_authorized_keys是主要入口点,其余部分将在5秒的超时...

    ssh_信任主机

    ssh-信任主机方式,建立crt连接 实现从主机A直接 SSH 到主机B,C,无需密码 在LINUX配置主机信任时,对对端机(被免口令登录机器)的目录权限和文件权限相关说明:对端机的authorized_keys改为只有当前用户读取权限...

    Hadoop使用常见问题以及解决方法

    java.net.NoRouteToHostException: No route to host 是 Hadoop 中的常见问题,主要是由于网络连接问题。解决方法是停止 iptables 服务,例如使用 `sudo /etc/init.d/iptables stop` 命令。 更改 namenode 后,在 ...

    解决ssh信任连接问题

    总的来说,解决SSH信任连接问题需要对SSH的工作原理有深入了解,并进行细致的排查。从身份验证、密钥验证到配置文件和日志分析,每一步都可能是关键。同时,利用好各种工具和资源,如官方文档、社区论坛,都可以帮助...

    secureCRT连接Ubuntu出现远程系统拒绝访问

    8. **操作系统或SSH服务软件更新**:有时,Ubuntu更新可能导致SSH服务出现问题。检查是否有待处理的系统更新,并按照提示进行操作。 9. **SELinux/AppArmor策略**:如果启用SELinux或AppArmor,可能会阻止SSH连接。...

    User Not Authorized(处理方案).md

    User Not Authorized(处理方案).md

    puppet-ssh_auth:Puppet SSH 身份验证模块(ext_ssh_authorized_key)

    Puppet SSH 身份验证模块(ext_ssh_authorized_key) 这个 puppet 模块允许轻松管理整个基础设施中的 SSH 公钥分发。 与 Puppet 自带的原始 ssh_authorized_key 相比,它有几个优点。 允许将相同的密钥分发给同一...

    nagios教程

    ### nagios教程 #### 网络监控系统nagios全教程:从安装到搭建,再到配置 ...对于可能出现的问题,如Web界面无法访问或启动失败等,也有相应的解决方案。希望这份教程能够帮助你更好地理解和使用Nagios。

    关于Dify中发布的应用,麦克风权限打不开,报错“microphone not authorized”或者“麦克风未授权”

    在使用Dify平台发布网页版聊天助手应用时,开发者可能会遇到添加了语音转文字功能后,浏览器在尝试调用麦克风时出现错误提示“microphone not authorized”或“麦克风未授权”。这通常是由于浏览器的安全策略限制了...

    hadoop常见问题及解决办法

    Hadoop常见问题及解决办法汇总 Hadoop是一个基于Apache的开源大数据处理框架,广泛应用于大数据处理、数据分析和机器学习等领域。然而,在使用Hadoop时,经常会遇到一些常见的问题,这些问题可能会导致Hadoop集群...

    docker.scp-server:docker 项目 - 运行 scp 服务器的 ubuntu 服务器,仅接受 scp 连接

    仅 SCP 服务器验证: 将 id_rsa.pub 放入 /authorized_keys 目录用法: mkdir data authorized_keys cp ~/.ssh/id_rsa.pub authorized_keys docker run E -v `pwd`/data:/data -v `pwd`/authorized_keys:/authorized...

    ssh使用中常遇到的问题以及解决方法

    SSH 使用中常遇到的问题以及解决方法 SSH(Secure Shell)是一种安全协议,用于远程登录和管理服务器。它可以提供安全的访问方式,保护数据的传输和存储。但是,在使用 SSH 时,可能会遇到一些问题,本文将总结一些...

    redmine 1.1.3安装project_tree_view的bug修复403 You are not authorized to access this

    NULL 博文链接:https://wmcxy.iteye.com/blog/1455419

    Agent admitted failure to sign using the key 问题解决办法.docx

    SSH 问题解决办法 - Agent admitted failure to sign using the key 在 Ubuntu 中安装 SSH 过程中,可能会遇到 "Agent admitted failure to sign using the key" 的错误信息。这个错误是由于 SSH 客户端无法使用...

Global site tag (gtag.js) - Google Analytics