如果 WebSphere MQ 使用SSL,是否有要运行的命令,要检查的配置文件或在 IBM WepSphere MQ Explorer 中进行可视检查的方法?
WebSphere MQ版本:
gui.add()
答案 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验证的证书。在这种情况下,如果显示通道状态,对等名称字段将包含非空值。这称为相互认证。使用相互身份验证时,请务必使用SSLPEER
或CHLAUTH
规则通过专有名称指定允许连接的证书。
仅供参考 - 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。