远程MQ服务器身份验证

时间:2012-04-13 20:17:41

标签: ibm-mq

我试图弄清楚如何配置/设置身份验证,队列和队列管理器,以便将服务器/域上的MQ客户端与将要转发消息的MQ服务器完全分开。

我认为在正常的组织环境中,您可以使用Active Directory(如果托管在Windows服务器上)进行身份验证/ AD查找。但是,在这种情况下,因为它们是不同的组织,你不能这样做?

您是否可以简单地将SSL证书应用于客户端/服务器并将其用作身份验证?如果是,那只是应用于连接中使用的通道?

不确定如何继续进行此操作。

任何建议都将不胜感激。

谢谢,

取值

1 个答案:

答案 0 :(得分:2)

查看v7.0及更早版本的Hardening WebSphere MQ演示文稿。要记住的是,WMQ不会对任何内容进行身份验证。它基于操作系统身份和组进行授权,但没有进行密码检查。

对于QMgrs和客户端在Windows网络上运行的情况,连接使用SID,因此看起来执行了一些有用的身份验证。但是,如果尝试从非Windows平台进行连接,则Windows QMgr将使用该ID的字符串表示形式。例如,如果某人的桌面上有Linux VM,他们可以轻松创建名为MUSR_MQADMIN的用户ID,Windows QMgr将接受该连接。有一个设置会导致Windows QMgr只接受它可以解决的SIDS连接,但即使只是知道SID值在连接上欺骗它们的问题。

这里的教训是任何 QMgr,即使是Windows上的一个,也必须配置为验证远程连接。使用WMQ v7.1及更高版本,QMgr具有将X.509证书DN映射到用户ID或执行IP过滤的功能。在v7.1之前,这些函数需要退出,例如BlockIP2。 Capitalware出售具有BlockIP2功能的MQAUSX,并且还将支持ID和密码验证。

第一个建议是使用v7.1 QMgr,以便获得映射和过滤的CHLAUTH规则。即使您不使用证书,v7.1也会限制管理连接,因此攻击者更难获得完全管理权限。然后,如果您需要密码验证,请使用SSL通道(加密密码并防止简单的重放攻击)以及您可以自行编写或购买的退出。

请注意,允许来自域外的连接不会带来任何新的挑战。在通道定义或出口中没有设置MCAUSER的v7.1之前的Windows QMgr允许远程管理访问,即使是来自本地Windows域的连接也是如此。 始终需要强化QMgr,即使管理员没有为他们设置auths,诚实用户也会收到授权错误。

<强>要点:
对于源自管理域之外的客户端,我建议使用相互认证的TLS / SSL通道。我上面链接的同一页面还包含WMQ安全实验室指南和脚本,这些指南和脚本显示如何编写WMQ证书的创建和交换脚本并用它们配置WMQ Explorer。

无论您做什么,任何合法渠道上的MCAUSER都必须在配置或退出中设置。如果允许客户端指定ID,则无法阻止它指定管理ID。对于未使用的频道,例如SYSTEM.DEF.*SYSTEM.AUTO.*,请将MCAUSER设置为不能是本地ID的值,例如no!body或v7.1及更高版本{{1 }}