WMQ 7.1 이나 7.5 이상 버전에서는 channel의 mcauser만 바꿔준다고 해서 서드파티 모니터링 툴이 해당 큐매니저에 붙을 수 없다.
몇 가지 작업을 더 해줘야 하는데 해당 문제는 WMQ가 업그레이드 되며 보안문제 이슈 해결을 위해 추가된 기능으로 보인다.
해당 문제는 WMQ 6, 7.0.x 대에서는 해당하지 않는다.
2035 MQRC_NOT_AUTHORIZED
해당 문제가 발생할 때 근본적으로는 system.def.svrconn의 mcauser가 관리자로 지정되어 있지 않기 때문에 그랬다.
하지만 해당 버전 부터는 해당 큐 매니저 접속 채널 자체의 인증작업을 거쳐야 하는데 이는 관리자가 추가할 수 있다.
이 전과 동일하게 사용하기 위해서는 가장 간단하게 이 채널 인증 기능을 DISABLE 해버리는 것이다.
$ runmqsc QmgrName
DISPLAY QMGR CHLAUTH
AMQ8408: Display Queue Manager details.
QMNAME(TEST01) CHLAUTH(ENABLED) <- 인증 작업을 거치도록 설정되어 있음.
DISPLAY CHLAUTH(*)
1 : DISPLAY CHLAUTH(*)
AMQ8878: Display channel authentication record details.
CHLAUTH(SYSTEM.ADMIN.SVRCONN) TYPE(ADDRESSMAP)
ADDRESS(*) USERSRC(CHANNEL)
AMQ8878: Display channel authentication record details.
CHLAUTH(SYSTEM.*) TYPE(ADDRESSMAP)
ADDRESS(*) USERSRC(NOACCESS)
AMQ8878: Display channel authentication record details.
CHLAUTH(*) TYPE(BLOCKUSER)
USERLIST(*MQADMIN)
따라서 아래와 같이 설정해 주면 이 이전 버전들과 동일하게 사용할 수 있다.
ALTER QMGR CHLAUTH(DISABLED)
하지만 기껏 인증 기능 추가했더니 인증기능 Disable 시키는건 아무도 좋아하지 않을터.
IBM에서는 아래의 방법을 가이드하고 있다.
1) You can add the following two Channel Authentication Records discussed in the following presentation:
The first rule blocks administrative users and the MCAUSER "nobody" (which prevents someone from creating a user ID "nobody" and putting it into an authorized group).
$ runmqsc QmgrName
SET CHLAUTH(*) TYPE(BLOCKUSER) USERLIST('nobody','*MQADMIN')
The second rule provides a reduced blacklist for SYSTEM.ADMIN channels that allows administrators to use these. It is assumed here that some other CHLAUTH rule such as an SSLPEERMAP has validated the administrator’s connection or than an exit has done so.
SET CHLAUTH(SYSTEM.ADMIN.*) TYPE(BLOCKUSER) USERLIST('nobody')
The above rules apply to SYSTEM.ADMIN.SVRCONN which is used by the MQ Explorer.
If you are using another user-defined channel, such as MY.ADMIN.SVRCONN, then you need to add the following two records:
SET CHLAUTH(MY.ADMIN.SVRCONN) TYPE(ADDRESSMAP) ADDRESS(*) USERSRC(CHANNEL)
SET CHLAUTH(MY.ADMIN.SVRCONN) TYPE(BLOCKUSER) USERLIST('nobody')
Note: it is not advisable to use SYSTEM.DEF.* channels for active connections. The system default channels are the objects from which all user-defined channels inherit properties. The recommended practice is that SYSTEM.DEF.* and SYSTEM.AUTO.* channels should NOT be configured to be usable.
2) This is a variation of 1) but allowing the MQ Administrator to only use a particular host.
The first rule blocks MCAUSER "nobody".
SET CHLAUTH(SYSTEM.ADMIN.SVRCONN) TYPE(BLOCKUSER) USERLIST('nobody')
The second rule removes all access to SYSTEM.ADMIN.SVRCONN ...
SET CHLAUTH(SYSTEM.ADMIN.SVRCONN) TYPE(ADDRESSMAP) ADDRESS(*) ACTION(REMOVE)
... and the third rule adds an entry for the server that needs access.
SET CHLAUTH(SYSTEM.ADMIN.SVRCONN) TYPE(ADDRESSMAP) ADDRESS(9.27.4x.7y) USERSRC(CHANNEL)
'UTIL > WMQSeries' 카테고리의 다른 글
WMQ Channel Status (7) | 2014.07.09 |
---|---|
IBM WMQ 운영체제별 상주프로세스 - 기능 목록 (0) | 2013.08.19 |
WMQ 간단한 사용팁1 (0) | 2011.08.23 |
[EAI]IBM WMQ 구성 참고 (0) | 2011.08.21 |
WMQ 7.0 Linux에서 설치하기 (0) | 2011.08.21 |