如何验证WebSphere MQ是否使用SSL?

时间:2015-06-23 14:35:54

标签: ssl ibm-mq

如果 WebSphere MQ 使用SSL,是否有要运行的命令,要检查的配置文件或在 IBM WepSphere MQ Explorer 中进行可视检查的方法?

WebSphere MQ版本:

gui.add()

2 个答案:

答案 0 :(得分:3)

是的!为了使QMgr使用SSL,通道必须为SSLCIPH指定一个值。如果频道在SSLCIPH中指定了某些内容,则该频道将在没有SSL的情况下运行。只需显示频道定义并查看SSLCIPH字段即可。如果它不是空白且通道正在运行,则它正在使用SSL。

注意:MQ真的使用TLS。它从未使用过SSL。它一直使用TLS但允许SSL密码在TLS下运行。

但是,这并不意味着任何其他渠道都在使用SSL。即使一个或多个频道执行指定值,任何没有SSLCIPH值的频道也会在没有SSL的情况下运行。由于MQ侦听器是混杂的,因此远程QMgr或应用程序可以请求启动任何通道。

因此,在启用QMgr使用SSL时,必须确保所有通道都使用SSL,或者使用CHLAUTH规则来确保非SSL通道不是由期望使用SSL的远程节点启动。

如果SSL通道还指定了SSLCAUTH(REQUIRED)(这是默认值),则客户端或远程QMgr将需要提供本地QMgr验证的证书。在这种情况下,如果显示通道状态,对等名称字段将包含非空值。这称为相互认证。使用相互身份验证时,请务必使用SSLPEERCHLAUTH规则通过专有名称指定允许连接的证书。

仅供参考 - 2015年9月版本7.0.1 of MQ is going out of support

每条评论更新
要查看通道属性或状态,请使用WMQ Explorer或runmqsc命令。 runmqsc命令可以交互方式使用,也可以在脚本中使用。要以交互方式运行它,只需键入runmqsc [qmgr name],然后输入所需的命令。在这种情况下,频道定义为DIS CHL([channel name]) SSLCIPH SSLCAUTH,频道状态为DIS CHS([channel name]) SSLCIPH SSLCAUTH

(将实际频道名称替换为[channel name]。)

要在脚本中执行相同的操作,请尝试以下操作:

echo DIS CHL([channel name]) SSLCIPH SSLCAUTH | runmqsc [qmgr name]
echo DIS CHS([channel name]) ALL              | runmqsc [qmgr name]

在非Windows系统上,由于shell特殊字符,您需要引用parms:

echo "DIS CHL([channel name]) SSLCIPH SSLCAUTH" | runmqsc [qmgr name]
echo "DIS CHS([channel name]) ALL             " | runmqsc [qmgr name]

答案 1 :(得分:0)

在AIX OS上,这可行。

<强>命令:

@:/mq/bin #echo "display chl(fooChannel) all" | runmqsc fooQueueManager| grep SSL

命令输出:

   SHARECNV(100)                            SSLCAUTH(REQUIRED)
   SSLCIPH( )                              SSLPEER( )

由于SSLCIPH为空,因此禁用SSL。