MQ 9.1 - PAMAuthenticationf我是你___一種在噸H和n噸一世C一種噸一世這nF一種一世l在r和Authentication failure
對於 QMGR 身份驗證,我們使用 PAM(Linux 上的 Websphere MQ 9.1
CONNAUTH(USE.PAM)
所有相關使用者都在本地使用者組“mqm”中。這對除一位使用者外的所有使用者都適用。
當我嘗試使用 MQ Explorer 9 連接到 QMGR 時,命名使用者出現以下錯誤:
----- cmqxrsrv.c : 2390 ---------------------------------------- --------------- 2019 年 3 月 27 日 14:01:03 - 程序(10232.155)使用者(mqm)程序(amqzlaa0) 主機(velpke.th) 安裝(Installation1) VRMF(9.1.0.0) QMgr(QM.QMGRENT) 時間(2019-03-27T13:01:03.599Z) CommentInsert1(測試使用者) CommentInsert2(MQ Explorer 9.1.0) CommentInsert3(管道返回 7 [身份驗證失敗]) AMQ5534E: 使用者標識“testuser”認證失敗 解釋: 'MQ Explorer 9.1.0' 程序提供的使用者 ID 和密碼不能 進行身份驗證。 附加資訊:“管道返回 7 [身份驗證失敗]”。 行動: 確保應用程序提供了正確的使用者 ID 和密碼。 確保正確配置了身份驗證儲存庫。看著 任何附加資訊的先前錯誤消息。 ----- amqzfuca.c:4504 ---------------------------------------- --------------- 2019 年 3 月 27 日 14:01:03 - 程序(10232.155)使用者(mqm)程序(amqzlaa0) 主機(velpke.th) 安裝(Installation1) VRMF(9.1.0.0) QMgr(QM.QMGRENT) 時間(2019-03-27T13:01:03.599Z) CommentInsert1(測試使用者) CommentInsert2(USE.PAM) 註釋插入 3(CHCKCLNT(REQDADM)) AMQ5542I: 失敗的認證檢查是由隊列管理器引起的 CONNAUTH CHCKCLNT(REQDADM) 配置。 解釋: 使用者 ID 'testuser' 及其密碼已被檢查,因為隊列管理器 連接授權 (CONNAUTH) 配置是指身份驗證 名為“USE.PAM”的資訊 (AUTHINFO) 對象,帶有 CHCKCLNT(REQDADM)。 此消息伴隨先前的錯誤以闡明使用者 ID 的原因 和密碼檢查。 行動: 有關詳細資訊,請參閱上一個錯誤。 確保客戶端應用程序指定了密碼,並且 使用者 ID 的密碼正確。身份驗證配置 隊列管理器連接確定使用者 ID 儲存庫。例如, 本地作業系統使用者數據庫或 LDAP 伺服器。 如果 CHCKCLNT 設置為 OPTIONAL,則可以通過以下方式避免身份驗證檢查 不通過通道傳遞使用者 ID。例如,通過省略 MQCSP 來自客戶端 MQCONNX API 呼叫的結構。 為避免身份驗證檢查,您可以修改身份驗證 隊列管理器連接的配置,但通常不應該 允許未經身份驗證的遠端訪問。 ----- amqzfuca.c:4527 ---------------------------------------- --------------- 2019 年 3 月 27 日 14:01:04 - 程序(10380.163)使用者(mqm)程序(amqrmppa) 主機(velpke.th) 安裝(Installation1) VRMF(9.1.0.0) QMgr(QM.QMGRENT) 時間(2019-03-27T13:01:04.599Z) ArithInsert1 (2) ArithInsert2 (2035) 評論插入1(mqm) CommentInsert2(testuser) AMQ9557E: 'mqm' 的隊列管理器使用者標識初始化失敗。 解釋: 初始化使用者 ID 'mqm' 的呼叫因 CompCode 2 和原因而失敗 2035.如果使用了MQCSP塊,則MQCSP塊中的使用者ID是'testuser'。 行動: 更正錯誤並重試。 ----- cmqxrsrv.c : 2390 ---------------------------------------- --------------- (結尾)
使用者能夠通過 SSH 連接到伺服器(也使用 PAM)。他還嘗試複製並粘貼他的密碼並嘗試更改他的密碼。
我還檢查了“dspmqaut”,它返回了正確的權限。
我沒有發現他的使用者和我的使用者以及另一位同事的使用者之間有任何區別(我的使用者和同事的使用者都工作)。
當 MQ Explorer 選擇了兼容模式時,密碼限制為 12 個字元。如果您沒有選擇兼容模式,MQ 將使用 MQCSP 結構來發送密碼,您可以發送長達 256 個字元的密碼。一些參考如下。
IBM MQ 9.1.0 知識中心頁面安全>安全概述>IBM MQ 安全機制>連接認證>與 Java 客戶端的連接認證:
兼容模式
在 IBM MQ 版本 8.0 之前,Java 客戶端可以通過客戶端連接通道將使用者標識和密碼發送到伺服器連接通道,並將它們提供給 MQCD 結構的 RemoteUserIdentifier 和 RemotePassword 欄位中的安全出口。在兼容模式下,會保留此行為。
…
在 IBM MQ Explorer 中選擇認證方式
IBM MQ Explorer 是一個Java 應用程序,因此兼容模式和MQCSP 認證模式這兩種模式同樣適用。
在提供使用者標識的面板上,有一個複選框可以啟用或禁用兼容模式:
- 從版本 9.1.0 開始,預設情況下未選中此復選框。要使用兼容模式,請選中此復選框。
IBM MQ 9.1.0 知識中心頁面參考>開發應用程序參考>使用者出口、API 出口和可安裝服務參考>通道出口呼叫和資料結構>MQCD - 通道定義>欄位>遠端密碼 (MQCHAR12):
該欄位的長度由 MQ_PASSWORD_LENGTH 給出。
IBM MQ 9.1.0 知識中心頁面參考>開發應用程序參考>MQI 應用程序參考>常量>常量>MQ_*(字元串長度):
+-------------------+-----+-------------+ |MQ_PASSWORD_LENGTH | 12 | X'0000000C' | +-------------------+-----+-------------+
IBM MQ 9.1.0 知識中心頁面參考>開發應用程序參考>MQI 應用程序參考>MQI 中使用的數據類型>MQCSP - 安全參數>MQCSP 的欄位>CSPPasswordLength (MQLONG):
密碼的最大長度為 MQ_CSP_PASSWORD_LENGTH,即 256 個字元。如果密碼長度大於允許的最大長度,則身份驗證請求將失敗並顯示 MQRC_NOT_AUTHORIZED。