MQ 9.1-PAM

MQ 9.1-PAM

对于 QMGR 身份验证,我们使用 PAM(Linux 上的 Websphere MQ 9.1

CONNAUTH(USE.PAM)

所有相关用户都位于本地用户组“mqm”中。除了一个用户之外,其他用户都可以正常工作。

当我尝试使用 MQ Explorer 9 连接到 QMGR 时,我收到了指定用户的以下错误:

----- cmqxrsrv.c: 2390 -------------------------------------------------------
03/27/19 14:01:03 - 进程(10232.155) 用户(mqm) 程序(amqzlaa0)
                    主机(velpke.th)安装(Installation1)
                    VRMF(9.1.0.0) QMgr(QM.QMGRENT)
                    时间(2019-03-27T13:01:03.599Z)
                    CommentInsert1(测试用户)
                    CommentInsert2(MQ Explorer 9.1.0)
                    CommentInsert3(管道返回7[身份验证失败])

AMQ5534E: 用户标识‘testuser’认证失败

解释:
无法输入“MQ Explorer 9.1.0”程序提供的用户 ID 和密码
得到實際认证。
附加信息:“管道返回 7 [身份验证失败]”。
行动:
确保应用程序提供了正确的用户 ID 和密码。
确保身份验证存储库配置正确。查看
先前的错误消息以获取任何其他信息。
----- amqzfuca.c : 4504 -------------------------------------------------------
03/27/19 14:01:03 - 进程(10232.155) 用户(mqm) 程序(amqzlaa0)
                    主机(velpke.th)安装(Installation1)
                    VRMF(9.1.0.0) QMgr(QM.QMGRENT)
                    时间(2019-03-27T13:01:03.599Z)
                    CommentInsert1(测试用户)
                    CommentInsert2(USE.PAM)
                    注释插入3(CHCKCLNT(REQDADM))

AMQ5542I:身份验证检查失败是由队列管理器导致的
CONNAUTH CHCKCLNT(REQDADM) 配置。

解释:
检查了用户 ID“testuser”及其密码,因为队列管理器
连接授权(CONNAUTH)配置是指身份验证
使用 CHCKCLNT(REQDADM) 检查名为‘USE.PAM’的信息(AUTHINFO)对象。

此消息与先前的错误一起出现,以澄清用户 ID 的原因
和密码检查。
行动:
请参阅上一个错误以了解更多信息。

确保客户端应用程序指定了密码,并且
密码与用户 ID 相符。
队列管理器连接确定用户 ID 存储库。例如,
本地操作系统用户数据库或 LDAP 服务器。

如果 CHCKCLNT 设置为 OPTIONAL,则可以通过以下方式避免身份验证检查
不通过通道传递用户 ID。例如,通过省略 MQCSP
来自客户端 MQCONNX API 调用的结构。

为了避免身份验证检查,您可以修改身份验证
队列管理器连接的配置,但通常不应该
允许未经身份验证的远程访问。
----- amqzfuca.c : 4527 -------------------------------------------------------
03/27/19 14:01:04 - 进程(10380.163) 用户(mqm) 程序(amqrmppa)
                    主机(velpke.th)安装(Installation1)
                    VRMF(9.1.0.0) QMgr(QM.QMGRENT)
                    时间(2019-03-27T13:01:04.599Z)
                    算术插入1(2) 算术插入2(2035)
                    评论插入1(mqm)
                    CommentInsert2(测试用户)

AMQ9557E:“mqm”的队列管理器用户标识初始化失败。

解释:
初始化用户 ID“mqm”的调用失败,CompCode 为 2,原因为
2035.如果使用了 MQCSP 块,则 MQCSP 块中的用户 ID 为“testuser”。
行动:
更正错误并重试。
----- cmqxrsrv.c: 2390 -------------------------------------------------------
(结尾)

用户能够通过 SSH 连接到服务器(也使用 PAM)。他还尝试复制粘贴密码并尝试更改密码。

我还检查了“dspmqaut”,它返回了正确的权限。

我没有发现他的用户、我的用户和另一位同事的用户(我的用户和同事的用户)之间有任何区别。

答案1

当 MQ Explorer 选择兼容模式时,密码限制为 12 个字符。如果您未选择兼容模式,MQ 将使用 MQCSP 结构发送密码,您可以发送长达 256 个字符的密码。下面是一些参考资料。


IBM MQ 9.1.0 知识中心页面安全>安全概述>IBM MQ 安全机制>连接身份验证>使用 Java 客户端进行连接身份验证

兼容模式

在 IBM MQ 8.0 版之前,Java 客户端可以通过客户端连接通道将用户 ID 和密码发送到服务器连接通道,并将它们提供给 远程用户识别符遠端密碼 MQCD 结构的字段。在兼容模式下,此行为被保留。

...

在 IBM MQ Explorer 中选择认证模式

IBM MQ Explorer 是一个 Java 应用程序,因此兼容模式和 MQCSP 认证模式这两种模式也适用于它。

在提供用户标识的面板上,有一个复选框可以启用或禁用兼容模式:

  • 从版本 9.1.0 开始,默认情况下不选中此复选框。要使用兼容模式,请选中此复选框。

IBM MQ 9.1.0 知识中心页面参考>开发应用程序参考>用户出口、API 出口和可安装服务参考>通道出口调用和数据结构>MQCD - 通道定义>字段>RemotePassword (MQCHAR12)

该字段的长度由 MQ_PASSWORD_LENGTH 给出。


IBM MQ 9.1.0 知识中心页面参考>开发应用程序参考>MQI 应用程序参考>常量>常量>MQ_*(字符串长度)

+-------------------+-----+-------------+
|MQ_PASSWORD_LENGTH |  12 | X'0000000C' |
+-------------------+-----+-------------+

IBM MQ 9.1.0 知识中心页面参考>开发应用程序参考>MQI 应用程序参考>MQI 中使用的数据类型>MQCSP - 安全参数>MQCSP 的字段>CSPPasswordLength (MQLONG)

密码的最大长度为 MQ_CSP_PASSWORD_LENGTH,即 256 个字符。如果密码长度大于允许的最大长度,则身份验证请求将失败,并出现 MQRC_NOT_AUTHORIZED。

相关内容