IBM MQ MQCSP
创始人
2024-02-27 08:44:57
0

一,概念

1.1 用途

用途:MQCSP 结构使授权服务能够验证用户 ID 和密码。您在 MQCONNX 调用上指定 MQCSP 连接安全参数结构。

警告:在某些情况下,客户端应用程序的 MQCSP 结构中的密码将以纯文本形式通过网络发送。要确保客户端应用程序密码得到适当保护,请参阅IBM MQ CSP 密码保护。

字符集和编码:MQCSP中的数据必须是本地队列管理器的字符集和编码;这些分别由CodedCharSetId队列管理器属性和 MQENC_NATIVE 给出。

在IBM® MQ 8.0中,您可以发送包含在 MQCSP 结构中的密码,这些密码要么通过使用IBM MQ功能进行保护,要么通过使用 TLS 加密进行加密。

1.2 MQCSP VS TLS

MQCSP 密码保护对于测试和开发目的很有用,因为使用 MQCSP 密码保护比设置 TLS 加密更简单,但不那么安全。出于生产目的,您应该优先使用 TLS 加密而不是IBM MQ 密码保护,尤其是当客户端和队列管理器之间的网络不受信任时,因为 TLS 加密更安全。

1.3 使用MQCSP场景

当满足以下所有条件时,使用密码保护:

  • 连接的两端都使用IBM MQ 8.0或更高版本。
  • 该通道未使用 TLS 加密。如果通道具有空白 SSLCIPH属性,或者SSLCIPH属性设置为不提供加密的 CipherSpec,则该通道未使用 TLS 加密。空密码(例如 NULL_SHA)不提供加密。
  • 您设置MQCSPAuthenticationType为 MQCSP_AUTH_USER_ID_AND_PWD。设置此值可以评估更多检查以确定是否完成密码保护。MQCSP的默认值 。AuthenticationType是 MQCSP_AUTH_NONE。默认设置下,不进行密码保护。有关详细信息,请参阅AuthenticationType。
  • 如果客户端是IBM MQ Explorer 并且未启用用户标识兼容方式,这不是缺省值。此条件仅适用于IBM MQ Explorer。

如果不满足这些条件,密码将以纯文本形式发送,除非 PasswordProtection配置设置禁止。QCSP 结构

1.4 PasswordProtection

客户端和qm .ini 配置文件的 Channels 部分中的PasswordProtection属性可以防止以明文形式发送密码。该属性可以采用以下值之一。默认值是compatible

--------------------------------------------------------------------------------------------------------------------------

compatible:

如果队列管理器或客户端正在运行早于IBM MQ 8.0的IBM MQ版本,则可以以纯文本形式发送密码。也就是说,为了兼容性,允许使用明文密码。

所以:

  • 如果使用 TLS 加密并且 CipherSpec 不为空,则密码由 TLS CipherSpec 加密发送。
  • 如果队列管理器或客户端正在运行早于IBM MQ 8.0的IBM MQ版本,并且未使用 TLS 加密,那么密码将以纯文本形式发送。密码以明文形式发送,因为早于IBM MQ 8.0的IBM MQ版本只能以明文形式发送密码。
  • 如果队列管理器和客户端都 在IBM MQ 8.0或更高版本上运行IBM MQ版本,并且使用空 CipherSpec 或未使用 TLS 加密,则密码将受到保护。MQCSP。AuthenticationType必须设置为 MQCSP_AUTH_USER_ID_AND_PWD。
  • 如果队列管理器和客户端都在IBM MQ 8.0或更高版本和 MQCSP上运行IBM MQ版本,则在发送密码之前连接失败。AuthenticationType未设置为 MQCSP_AUTH_USER_ID_AND_PWD。

always:

密码必须使用非空 CipherSpec 的 CipherSpec 或 MQCSP 加密。AuthenticationType必须设置为 MQCSP_AUTH_USER_ID_AND_PWD。否则,连接失败。即不允许明文密码。

所以:

  • 如果使用 TLS 加密并且 CipherSpec 不为空,则密码由 TLS CipherSpec 加密发送。
  • 如果队列管理器和客户端都 在IBM MQ 8.0或更高版本上运行IBM MQ版本,并且未使用 TLS 加密或使用空 CipherSpec,则密码将受到保护。MQCSP。AuthenticationType必须设置为 MQCSP_AUTH_USER_ID_AND_PWD。
  • 如果队列管理器或客户端正在运行早于IBM MQ 8.0的IBM MQ版本,并且未使用 TLS 加密,那么在发送密码之前连接失败。由于IBM MQ 8.0之前的IBM MQ版本只能以明文形式发送密码,并且 要求对密码进行加密或保护,因此连接失败。

optional:

密码可以选择以受保护的方式发送,但如果是 MQCSP 则以纯文本形式发送。AuthenticationType未设置为 MQCSP_AUTH_USER_ID_AND_PWD。也就是说,允许任何客户端发送明文密码。

所以:

  • 如果使用 TLS 加密并且 CipherSpec 不为空,则密码由 TLS CipherSpec 加密发送。
  • 如果使用空 CipherSpec 和 MQCSP ,密码将以纯文本形式发送。AuthenticationType未设置为 MQCSP_AUTH_USER_ID_AND_PWD。
  • 如果队列管理器或客户端正在运行早于IBM MQ 8.0的IBM MQ版本,并且未使用 TLS 加密,那么密码将以纯文本形式发送。密码以明文形式发送,因为早于IBM MQ 8.0的IBM MQ版本只能以明文形式发送密码。
  • 如果队列管理器和客户端都 在IBM MQ 8.0或更高版本上运行IBM MQ版本、未使用 TLS 加密或使用空 CipherSpec 以及MQCSP ,则密码将被保护发送。AuthenticationType设置为 MQCSP_AUTH_USER_ID_AND_PWD。

warn:

允许任何客户端发送明文密码。如果收到明文密码,则会将一条警告消息 (AMQ9297) 写入队列管理器错误日志。

--------------------------------------------------------------------------------------------------------------------------

对于 Java 和 JMS 客户端,PasswordProtection属性的行为会根据使用兼容模式或 MQCSP 模式的选择而变化:

  • 如果 Java 和 JMS 客户端在兼容模式下运行,则 MQCSP 结构在连接处理期间不会流动。因此,PasswordProtection属性的行为与针对运行早于IBM MQ 8.0的IBM MQ 版本的客户端所描述的行为相同。
  • 如果 Java 和 JMS 客户端在 MQCSP 模式下运行,那么 PasswordProtection属性的行为就是所描述的行为。

二,MQCSP结构

MQCSP 结构

三,MQCSP 的 C 声明

相关内容

热门资讯

相亲闪婚后未办婚礼未同居,男子... 近日,湖南省汨罗市人民法院审理了一起婚约财产纠纷案件。 2024年4月初,王某与张某(女)通过某婚姻...
韩独检组下周将同时起诉尹锡悦夫... 据中国新闻网援引韩联社21日报道,负责调查韩国前总统尹锡悦夫人金建希弊案的独立检察组(独检组)将于下...
对毒品犯罪被告人适用死刑,应考... 如果您想第一时间收到我的更新,请点开文章标题下面的蓝色字体的“刑事专业律师何忠民”,再点击右上角,然...
一财社论:海南封关为制度型开放... 12月18日,海南自由贸易港正式启动封关运作。封关后,海南岛全岛将建成一个海关监管特殊区域,实施以“...
石家庄市住建局:制度筑基 科技... 石家庄发布(shijiazhuangfabu) 运营|石家庄广播电视台新媒体中心 来源|石家庄新闻 ...
长安汽车获国内首块L3级自动驾... 极目新闻记者 邓波 12月20日,国内首块L3级自动驾驶专用正式号牌“渝AD0001Z”在重庆诞生,...
祁阳卫健局回应“手术钻头遗留患... 近日,湖南祁阳市中医医院发生骨科手术钻头断裂遗留患者体内事件,引发公众关注。12月21日,南都N视频...
相亲闪婚后未办婚礼未同居,男子... 近日,湖南省汨罗市人民法院审理了一起婚约财产纠纷案件。 2024年4月初,王某与张某(女)通过某婚姻...
“手术钻头断裂遗留患者体内”,... 12月21日,湖南祁阳市卫生健康局发布情况通报: 近日,有媒体报道祁阳市中医医院发生骨科手术钻头断裂...
债务逾期13亿元!因借款合同纠... 12月21日晚间,万通发展(SH 600246)发布公告称,公司控股股东嘉华东方控股(集团)有限公司...