2012-04-27 4 views
4

Теперь я использую клиент MQ websphere для подключения к удаленному MQ-серверу (версия 7.0) с использованием C# и возникает проблема полномочий, которая является пользователем, выполняющим клиентское приложение MQ, недостаточно полномочия на доступ к qmgr.Then я использую команду setmqaut для большого пользователя, достаточный авторитет, и он работает.MQ-клиент подключиться к удаленному серверу MQ имеет недостаточные полномочия

Я думаю, что это не очень удобно и должно быть лучшим способом. Могу ли я добавить IP-адрес пользователя в MQ Server? Но я понятия не имею, как это сделать.

Любые предложения были бы весьма полезными. Thanks

ответ

5

WebSphere MQ не выполняет аутентификацию. Локальные приложения аутентифицируются операционной системой и поэтому их идентификатор можно доверять. (По определению, если вы не можете доверять аутентификации локальной ОС, тогда весь сервер подвергается риску.) Как и при локальных подключениях, WMQ доверяет подлинному подключению идентификатора. Администратор WMQ может определить, какой уровень аутентификации использовать. В WMQ v7 есть два варианта: аутентификация с использованием каналов SSL/TLS или использование выхода канала для аутентификации.

В любом случае это значение MCAUSER канала определяет, какой идентификатор используется для авторизации. Если MCAUSER остается пустым, канал будет использовать идентификатор пользователя, который отправляет клиент. В вашем случае вы получили ошибку 2035, потому что клиент отправил идентификатор, который не был в административной (mqm) группе. Если ваш клиент отправил идентификатор «mqm» (или в Windows «MUSR_MQADMIN»), соединение было бы успешным. Если ваша программа Java или JMS, возможность выбора представленного идентификатора является частью API. Просто скажите QMgr, кем вы хотите быть.

Если вы хотите разрешить удаленным подключениям выполнять команды ОС на сервере, просто введите административный идентификатор в MCAUSER канала. (Например, MCAUSER («mqm») в UNIX/Linux или, как правило, MCAUSER («MUSR_MQADMIN») для Windows.) Однако имейте в виду, что удаленные пользователи с правами администратора могут удаленно выполнять произвольный код командной строки операционной системы с помощью QMgr. Это особенность WMQ, а не ошибка, поэтому мы НИКОГДА не рекомендуем это делать в Production. На самом деле, я лично рекомендую, чтобы среды разработки обеспечивали безопасность. Ожидание, пока производство не выяснит, как аутентифицировать соединения и какие авторизации необходимы, часто приводит к ненужным задержкам развертывания.

Если вы хотите использовать фильтрацию IP для уменьшения этой угрозы, вы можете либо перейти на WMQ v7.1, который включает эту функцию изначально, либо использовать выход, такой как BlockIP2. Любое из этих решений позволит вам создавать правила, которые фильтруют входящие запросы на соединение по IP-адресу, идентификатору пользователя и т. Д.

Обратите внимание, что на v7.0 QMgr по умолчанию все каналы не защищены. Поэтому, даже если вы фильтруете входящие запросы на одном канале, если остальные остаются в состоянии по умолчанию, все могут подключаться и выполнять команды в качестве администратора. Для всестороннего обзора всего этого, пожалуйста, взгляните на презентацию Hardening WebSphere MQ по адресу t-rob.net. Прокрутите вниз до презентаций v7.0.

+0

Спасибо, T.Rob.It действительно полезно! Теперь я знаю, как это сделать. –

Смежные вопросы