gpt4 book ai didi

ibm-mq - MQ客户端连接远程MQ服务器权限不足

转载 作者:行者123 更新时间:2023-12-05 01:28:40 26 4
gpt4 key购买 nike

现在我用websphere MQ客户端用c#连接远程MQ Server(7.0版本),出现权限问题,即运行MQ客户端应用的用户权限不足,无法访问qmgr。 然后我使用'setmqaut'命令授予用户足够的权限并且它可以工作。

我认为这不是很方便,必须有更好的方法。可以通过在 MQ Server 中添加用户的 IP 来实现吗?但我不知道该怎么做。

任何建议将不胜感激。
谢谢

最佳答案

WebSphere MQ 不执行任何身份验证。本地应用程序由操作系统进行身份验证,因此它们的 ID 是可信的。 (根据定义,如果您不能信任本地操作系统身份验证,则整个服务器都会受到威胁。)就像本地连接一样,WMQ 相信远程连接的 ID 是真实的。由 WMQ 管理员决定采用何种级别的身份验证。在 WMQ v7 中有两种选择 - 使用 SSL/TLS channel 进行身份验证,或使用 channel 导出进行身份验证。

在任何一种情况下, channel 的 MCAUSER 值决定了用于授权的 ID。如果 MCAUSER 为空,则 channel 将使用客户端发送的用户 ID。在您的情况下,您收到 2035 错误,因为客户端发送的 ID 不在管理 (mqm) 组中。如果您的客户端发送 ID 'mqm'(或在 Windows 'MUSR_MQADMIN' 上),连接就会成功。如果您的程序是 Java 或 JMS,则选择显示的 ID 的能力是 API 的一部分。只需告诉 QMgr 你想成为谁。

如果您愿意允许远程连接在服务器上执行操作系统命令,那么只需将管理 ID 放在 channel 的 MCAUSER 中。 (例如,UNIX/Linux 上的 MCAUSER('mqm') 或 Windows 上的典型 MCAUSER('MUSR_MQADMIN')。)但是,请注意具有管理员权限的远程用户可以使用 QMgr 远程执行任意操作系统命令行代码。这是 WMQ 的一个特性而不是一个错误,因此我们从不推荐在生产中使用它。事实上,我个人建议开发环境启用安全性。等到生产环境弄清楚如何验证连接以及需要哪些授权通常会导致不必要的部署延迟。

如果您想使用 IP 过滤来缓解该威胁,您可以迁移到 WMQ v7.1,其中 native 包含此功能,或者使用诸如 BlockIP2 之类的导出。 .这些解决方案中的任何一个都允许您创建规则,通过 IP 地址、用户 ID 等过滤传入的连接请求。

请注意,在 v7.0 QMgr 上,默认情况下所有 channel 都不 protected 。因此,即使您过滤一个 channel 上的传入请求,如果其他 channel 保持默认状态,任何人仍然可以以管理员身份连接和执行命令。要全面了解所有这些内容,请查看 t-rob.net 上的 Hardening WebSphere MQ 演示文稿。 .向下滚动到 v7.0 演示文稿。

关于ibm-mq - MQ客户端连接远程MQ服务器权限不足,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10353481/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com