WMQ особое внимание для клиентов WAS? - PullRequest
2 голосов
/ 22 сентября 2010

У нас есть клиент WMQ - WAS / JMS, настроенный через каналы подключения к серверу, где мы пытаемся обеспечить безопасность с помощью идентификаторов пользователей.

Теперь мы устанавливаем локальный идентификатор пользователя в окне MQ, mquserid и оставил MCAUSER канала пустым.

Мы подумали: идентификатор запускающего MQ-клиента (в нашем случае WAS) wasuserid , при передаче в MQ произойдет сбой, поскольку он не настроен на блок MQ.Таким образом, мы затем настроим псевдоним JAAS (с идентификатором пользователя: mquserid) для фабрики соединений очереди в WAS, которая затем будет передана в MQ и разрешит соединения.

Но мы можем для подключения и размещения сообщений без псевдонима JAAS: (

Я написал отдельную программу на Java для подключения к QM, и она работает правильно в зависимости от идентификатора пользователя, который я передаю при получении соединения.

Обрабатывает ли WMQ особым образом WAS-соединение, не проверяя его локальный реестр пользователей?

1 Ответ

2 голосов
/ 22 сентября 2010

Нет, WAS рассматривается как любое другое соединение.

В версии 6 и более ранних версиях WAS будет отправляться пустой идентификатор, если идентификатор пользователя в соединении WMQ не указан.Вы можете узнать, так ли это, посмотрев на статус канала, когда WAS подключен.MCAUSER работающего канала будет содержать идентификатор, который использовался для подключения.Если состояние текущего канала не показывает значение MCAUSER, то WAS не представил идентификатор.

Другая возможность состоит в том, что канал SVRCONN определение (не статус) имеет значение, такое как mqmв MCAUSER.В этом случае идентификатор, представленный во время запроса соединения, игнорируется.Опять же, проверьте состояние канала, чтобы увидеть, какой идентификатор используется во время выполнения, или просто проверьте определение канала SVRCONN, чтобы найти значение MCAUSER.

Теперь вот кикер - если MCAUSER канала пуст, то WMQ будетпринять любой идентификатор, представленный.Если идентификатор не указан, то подключенное приложение или пользователь запускается от имени администратора.Если приложение или пользователь могут быть администратором WMQ, то они могут делать что угодно в QMgr, а также могут удаленно выполнять произвольные команды ОС на сервере под QMgr.Не хорошо.

Правильный ответ - установить MCAUSER на канале на любое значение, к которому должно подключаться приложение.На данный момент приложение не может использовать любой другой идентификатор, потому что канал переопределит его.Однако любой может подключиться к этому каналу, поэтому следующим шагом будет проверка подлинности запроса на подключение.Вы можете использовать выход, например BlockIP2 , который является бесплатным, или MQAUSX , который является коммерческим продуктом поставщика.BlockIP2 будет фильтровать входящие запросы по IP-адресу, который может быть достаточным для подключений, поступающих со статического IP-адреса в заблокированном центре данных.MQAUSX фактически проверит идентификатор пользователя и пароль, отправленные во время запроса на подключение от WAS (или любого другого клиента).Вы также можете использовать SSL и атрибут канала SSLPEER для аутентификации запросов с использованием сертификатов X.509.Обратите внимание, что если вы используете MQAUSX для проверки идентификатора пользователя и пароля, либо используйте шифрование SSL с ним, либо используйте клиентскую и серверную версии выхода.В противном случае ваши учетные данные передаются в виде открытого текста по проводам, что отрицательно сказывается на цели.

Конечно, если вы защищаете канал приложения, необходимо защитить другие каналы на хосте, такие как SYSTEM.DEF. * И SYSTEM.AUTO. * Или же злоумышленник просто обойдет канал приложения.

Обратите внимание, что если каналы RCVR, RQSTR и CLUSRCVR не аутентифицируют запросы или не содержат значение MCAUSER, они также предоставляют доступ администратора.Например, если я хочу управлять вашим QMgr, а вы заблокировали каналы SVRCONN, я бы создал QMgr на своем рабочем столе, удалил мой SYSTEM.DEF.RECEIVER, создал новый SDR канал с именем SYSTEM.DEF..RCVR и укажите его на QMgr.Если у вашего SYSTEM.DEF.RCVR (или SDRQSTR или SDCLUSRCVR) или у любого другого из указанных вами типов каналов нет SSL или выхода, тогда я могу подключиться, и если они lcak MCAUER, то я могу анонимно администрировать QMgr и выполнять команды ОС.

Любое определение канала без значения MCAUSER разрешает административный доступ.
Любой канал без SSL / SSLPEER и / или выход разрешает анонимные подключения.

Подробнее об этом см. Презентацию WMQ Hardening и документы WMQ Security Lab по адресу https://t -rob.net / links .Также ознакомьтесь со статьями по SSL и другим темам безопасности WMQ в столбце Миссия: обмен сообщениями в IBM developerWorks Tech Journal.

...