IBM MQ认证探讨

一,基础概念

1.1 CONNAUTH

用于提供用户标识和密码认证位置的认证信息对象的名称。如果CONNAUTH为空,那么队列管理器不检查用户 ID 和密码。字符串的最大长度为 MQ_AUTH_INFO_NAME_LENGTH.
只能指定IDPWOS或IDPWLDAP类型的认证信息对象;其他类型在以下情况下会导致错误消息:
对此配置或其引用的对象的更改在发出 REFRESH SECURITY TYPE(CONNAUTH)命令时生效。
如果将 CONNAUTH留空,并尝试连接到在CHCKCLNT字段中设置了以下选项之一的通道,则连接失败:

1.2 CHLAUTH

通道认证记录用于保护用于连接到队列管理器的 MQ 通道。
指定是否使用通道认证记录定义的规则。无论此属性的值如何,仍然可以设置和显示CHLAUTH规则。
对此参数的更改将在下一次入站通道尝试启动时生效。当前启动的通道不受此参数更改的影响。
DISABLED, 不检查通道认证记录。
ENABLED, 检查通道认证记录。

1.3 认证相关的查询

DISPLAY AUTHINFO(*)
AMQ8566I: Display authentication information details.
   AUTHINFO(SYSTEM.DEFAULT.AUTHINFO.IDPWLDAP)
   AUTHTYPE(IDPWLDAP)                   
AMQ8566I: Display authentication information details.
   AUTHINFO(SYSTEM.DEFAULT.AUTHINFO.IDPWOS)
   AUTHTYPE(IDPWOS)                     
AMQ8566I: Display authentication information details.
   AUTHINFO(SYSTEM.DEFAULT.AUTHINFO.OCSP)
   AUTHTYPE(OCSP)                       
AMQ8566I: Display authentication information details.
   AUTHINFO(SYSTEM.DEFAULT.AUTHINFO.CRLLDAP)
   AUTHTYPE(CRLLDAP)                   

display AUTHINFO(SYSTEM.DEFAULT.AUTHINFO.IDPWOS)
AMQ8566I: Display authentication information details.
   AUTHINFO(SYSTEM.DEFAULT.AUTHINFO.IDPWOS)
   AUTHTYPE(IDPWOS)                        ADOPTCTX(YES)
   DESCR( )                                CHCKCLNT(REQDADM)
   CHCKLOCL(OPTIONAL)                      FAILDLAY(1)
   AUTHENMD(OS)                            ALTDATE(2021-09-18)
   ALTTIME(02.42.53)                    

display AUTHINFO(SYSTEM.DEFAULT.AUTHINFO.IDPWLDAP)
AMQ8566I: Display authentication information details.
   AUTHINFO(SYSTEM.DEFAULT.AUTHINFO.IDPWLDAP)
   AUTHTYPE(IDPWLDAP)                      ADOPTCTX(YES)
   DESCR( )                                CONNAME( )
   CHCKCLNT(REQUIRED)                      CHCKLOCL(OPTIONAL)
   CLASSGRP( )                             CLASSUSR( )
   FAILDLAY(1)                             FINDGRP( )
   BASEDNG( )                              BASEDNU( )
   LDAPUSER( )                             LDAPPWD( )
   SHORTUSR( )                             GRPFIELD( )
   USRFIELD( )                             AUTHORMD(OS)
   NESTGRP(NO)                             SECCOMM(NO)
   ALTDATE(2021-09-18)                     ALTTIME(02.42.53)

display AUTHINFO(SYSTEM.DEFAULT.AUTHINFO.OCSP)
AMQ8566I: Display authentication information details.
   AUTHINFO(SYSTEM.DEFAULT.AUTHINFO.OCSP)
   AUTHTYPE(OCSP)                          DESCR( )
   OCSPURL( )                              ALTDATE(2021-09-18)

display AUTHINFO(SYSTEM.DEFAULT.AUTHINFO.CRLLDAP)
AMQ8566I: Display authentication information details.
   AUTHINFO(SYSTEM.DEFAULT.AUTHINFO.CRLLDAP)
   AUTHTYPE(CRLLDAP)                       DESCR( )
   CONNAME( )                              LDAPUSER( )
   LDAPPWD( )                              ALTDATE(2021-09-18)
   ALTTIME(02.42.52)   TIME(02.42.52)         

1.4 通道接收端绑定步骤

客户端绑定, 当应用程序和队列管理器使用网络进行通信时适用。应用程序和队列管理器可以在同一台机器上运行,也可以在不同的机器上运行。在 IBM MQ中,客户端连接以服务器连接 (SVRCONN) 通道的形式处理,在这种情况下,CONNAUTH 和 CHLAUTH 都适用。
通道接收端绑定步骤
当应用程序连接到队列管理器时,会执行大量检查以确保通道的两端了解另一端支持的内容。通道的接收端进行一些额外的检查,包括 CHLAUTH 和 CONNAUTH,以确保允许客户端连接,并且此过程可能还包括安全出口,因为这会影响结果。此通道连接阶段也称为绑定阶段。

下图列出了服务器端(在队列管理器处)启动时 SVRCONN 通道所经历的步骤:

 IBM MQ认证探讨_第1张图片

 IBM MQ认证探讨_第2张图片

IBM MQ认证探讨_第3张图片

 细节参考:

https://www.ibm.com/docs/en/ibm-mq/9.2?topic=records-interaction-chlauth-connauth

二,实验一

2.1 通道认证关闭,连接认证开启的情况。

信息如下:

DISPLAY QMGR CHLAUTH
     4 : DISPLAY QMGR CHLAUTH
AMQ8408I: Display Queue Manager details.
   QMNAME(QMEMBFE)                         CHLAUTH(DISABLED)
display QMGR CONNAUTH
     5 : display QMGR CONNAUTH
AMQ8408I: Display Queue Manager details.
   QMNAME(QMEMBFE)                      
   CONNAUTH(SYSTEM.DEFAULT.AUTHINFO.IDPWOS)

DISPLAY AUTHINFO(SYSTEM.DEFAULT.AUTHINFO.IDPWOS)
AMQ8566I: Display authentication information details.
   AUTHINFO(SYSTEM.DEFAULT.AUTHINFO.IDPWOS)
   AUTHTYPE(IDPWOS)                        ADOPTCTX(YES)
   DESCR( )                                CHCKCLNT(REQDADM)
   CHCKLOCL(OPTIONAL)                      FAILDLAY(1)
   AUTHENMD(OS)                            ALTDATE(2021-09-18)
   ALTTIME(02.42.53)                    

当我使用MQ explorer连接的时候报“无权访问对象”的错误。

IBM MQ认证探讨_第4张图片

2.2 关闭连接认证。

我们测试关闭连接认证。

2.2.1 首先尝试设置连接认证为空。

ALTER QMGR CONNAUTH(' ')  注:一般单引号内有一个空格,但是不加空格也是一样的效果。
     8 : ALTER QMGR CONNAUTH(' ')
AMQ8005I: IBM MQ queue manager changed.

DISPLAY QMGR CONNAUTH  
     9 : DISPLAY QMGR CONNAUTH
AMQ8408I: Display Queue Manager details.
   QMNAME(QMEMBFE)                         CONNAUTH( )

REFRESH SECURITY TYPE(CONNAUTH)
    10 : REFRESH SECURITY TYPE(CONNAUTH)
AMQ8560I: IBM MQ security cache refreshed.

测试mq explorer连接还是失败。

2.2.2 修改SYSTEM.DEFAULT.AUTHINFO.IDPWOS对象。

ALTER AUTHINFO(SYSTEM.DEFAULT.AUTHINFO.IDPWOS) AUTHTYPE(IDPWOS) CHCKCLNT(OPTIONAL)
    11 : ALTER AUTHINFO(SYSTEM.DEFAULT.AUTHINFO.IDPWOS) AUTHTYPE(IDPWOS) CHCKCLNT(OPTIONAL)
AMQ8567I: IBM MQ authentication information changed.
DISPLAY AUTHINFO(SYSTEM.DEFAULT.AUTHINFO.IDPWOS)
    12 : DISPLAY AUTHINFO(SYSTEM.DEFAULT.AUTHINFO.IDPWOS)
AMQ8566I: Display authentication information details.
   AUTHINFO(SYSTEM.DEFAULT.AUTHINFO.IDPWOS)
   AUTHTYPE(IDPWOS)                        ADOPTCTX(YES)
   DESCR( )                                CHCKCLNT(OPTIONAL)
   CHCKLOCL(OPTIONAL)                      FAILDLAY(1)
   AUTHENMD(OS)                            ALTDATE(2021-09-23)
   ALTTIME(15.59.38)                    

测试mq explorer连接还是失败。

2.2.3, 修改具体的通道属性,设置MCAUSER.

ALTER CHL(SYSTEM.AUTO.SVRCONN) CHLTYPE(SVRCONN) MCAUSER('mqm')
     2 : ALTER CHL(SYSTEM.AUTO.SVRCONN) CHLTYPE(SVRCONN) MCAUSER('mqm')
AMQ8016I: IBM MQ channel changed.

测试mq explorer连接成功。

IBM MQ认证探讨_第5张图片

测试另外一个通道。

ALTER CHL(SYSTEM.DEF.SVRCONN) CHLTYPE(SVRCONN) MCAUSER('mqm')
     3 : ALTER CHL(SYSTEM.DEF.SVRCONN) CHLTYPE(SVRCONN) MCAUSER('mqm')
AMQ8016I: IBM MQ channel changed.

IBM MQ认证探讨_第6张图片

2.2.4 测试IDPWLDAP

IDPWLDAP
连接验证用户 ID 和密码检查是使用 LDAP 服务器完成的。
IDPWOS
连接验证用户 ID 和密码检查是使用操作系统完成。

修改连接认证属性:

ALTER QMGR CONNAUTH(SYSTEM.DEFAULT.AUTHINFO.IDPWLDAP)
    20 : ALTER QMGR CONNAUTH(SYSTEM.DEFAULT.AUTHINFO.IDPWLDAP)
AMQ8005I: IBM MQ queue manager changed.
REFRESH SECURITY TYPE(CONNAUTH)
    21 : REFRESH SECURITY TYPE(CONNAUTH)
AMQ8560I: IBM MQ security cache refreshed.

测试连接时,失败。

IBM MQ认证探讨_第7张图片

你可能感兴趣的:(MQ,MQ,IBM,MQ)