Требуется помощь по WebSphere MQ 7.1 - доступ или безопасность - PullRequest
3 голосов
/ 17 января 2012

Я хочу создать администратор очередей и очередь на сервере WebSphere MQ, и я хочу сделать две вещи: 1) получить доступ к менеджеру очередей и очереди с помощью WMQ Explorer из клиентской коробки 2) написать автономное приложение Javaкоторый запускается на клиентском ящике и помещает и получает сообщение из очереди.

Однако я получаю исключения аутентификации.Пожалуйста, дайте мне знать, что я делаю неправильно?

Linux Server Box:

У меня установлен WebSphere MQ v7.1
Диспетчер очереди QM_TEST создан (crtmqm, strmqm команды)
Локальная очередь Q_TEST создана (runmqsc и define qlocal)
Определен канал SVRCONN (DEFINE CHANNEL (TEST_CHANNEL) CHLTYPE (SVRCONN) TRPTYPE (TCP))
запущен прослушиватель (runmqlsr -t tcp -m QM_TEST -p 1414)

Linux Client Box:

Попытка показать / скрыть администратор очередей, используя имя хоста, IP-адрес, имя администратора очередей и имя канала;Однако я получаю следующую ошибку:

Access not permitted. You are not authorized to perform this operation. (AMQ4036)
Severity: 10 (Warning)
Explanation: The queue manager security mechanism has indicated that the userid associated with this request is not authorized to access the object.

Попытка получить доступ к администратору очередей и очереди, используя код Java, основные моменты приведены ниже:

public void sendMail(Mail mail) { MQConnectionFactory cf = new
MQQueueConnectionFactory(); Connection conn = null; try { //config
cf.setHostName("hostname"); cf.setPort(1414);
cf.setQueueManager("QM_TEST"); cf.setChannel("TEST_CHANNEL");
cf.setTransportType(WMQConstants.WMQ_CM_CLIENT);//WMQ_CM_DIRECT_TCPIP);
WMQ_CM_CLIENT

conn = cf.createConnection(); //fails here

Однако я получаю следующую ошибку:

Произошла ошибка: JMSWMQ2013: Недопустимая аутентификация безопасности, которая была предоставлена ​​для QueueManager 'QM_TEST' с режимом соединения 'Client' и именем хоста 'hostname (1414)'.

Вы можете помочь?Как передать информацию аутентификации безопасности?Пока нормально, если я могу отключить безопасность.Просто нужно, чтобы это работало?

Дайте мне знать, если мне нужно предоставить больше информации.


ОБНОВЛЕНИЕ:
Я создал 'mq-user 'linux user (группа mq-users).CHLAUTH включен (по умолчанию).После создания администратора очередей QM_TEST (используя sudo mqm) я снова выполнил следующие команды mqsc, используя sudo mqm:

DEFINE QLOCAL(TEST_QUEUE)
SET AUTHREC PROFILE('TEST_QUEUE') OBJTYPE(QUEUE) PRINCIPAL('mq-user') AUTHADD(PUT,GET)
SET AUTHREC OBJTYPE(QMGR) PRINCIPAL('mq-user') AUTHADD(CONNECT)
DEFINE CHANNEL (TEST_CHANNEL) CHLTYPE (SVRCONN) TRPTYPE (TCP)
SET CHLAUTH(TEST_CHANNEL) TYPE(ADDRESSMAP) ADDRESS('xxx.xx.xxx.*') MCAUSER('mq-user')
DEFINE LISTENER (TEST_LISTENER) TRPTYPE (TCP) CONTROL (QMGR) PORT (1414)
START LISTENER (TEST_LISTENER)

Я все еще получаю сообщение об ошибке AMQ4036, недопустимая ошибка.Имейте в виду, я получаю доступ к диспетчеру очереди и очереди с третьего удаленного компьютера (клиентского компьютера), вошедшего в систему как третий пользователь.Однако я понимаю, что могу передать учетные данные «mq-user».Хотелось бы, чтобы где-то были четкие пошаговые инструкции, WebShere MQ 71. Инфоцентр мне не совсем понятен.

Чего здесь еще не хватает?

Ответы [ 2 ]

7 голосов
/ 17 января 2012

С v7.1 WMQ администратор очередей по умолчанию не разрешает административные подключения. Поэтому, если используемый вами идентификатор - mqm или он входит в группу mqm на сервере MQ, он не будет иметь доступа. Простой (читай: НЕ БЕЗОПАСНЫЙ) способ решить эту проблему - удалить запись CHLAUTH, которая содержит правило. IBM опубликовала TechNote об этом здесь .

Более долгосрочное и лучшее решение состоит в том, чтобы сохранить запись CHLAUTH, которая запрещает административный доступ, и вместо этого подключиться с использованием другого идентификатора пользователя. Конечно, этот идентификатор должен существовать на сервере MQ и находиться в группе, которая авторизована. Подробнее об этом можно узнать из слайдов и записи вебинара здесь .

Когда вы будете готовы снова включить защиту, вы можете найти много информации о том, какие setmqaut команды использовать, на t-rob.net , где я заархивировал презентации и лабораторные занятия по безопасности. IMPACT и европейские конференции WSTC.

2 голосов
/ 17 января 2012

T.Роб на 100% прав.Однако, не читайте это неправильно, так как вы можете оставить безопасность выключенной.Существует причина, по которой IBM разработала V7.1 для обеспечения такого рода строгости в отношении безопасности.Они активно рассматривают законодательные и отраслевые руководящие принципы для PCI-DSS.Слава IBM.

...