ASG
IBM
Zystems
Cressida
Icon
Netflexity
 
  MQSeries.net
Search  Search       Tech Exchange      Education      Certifications      Library      Info Center      SupportPacs      LinkedIn  Search  Search                                                                   FAQ  FAQ   Usergroups  Usergroups
 
Register  ::  Log in Log in to check your private messages
 
RSS Feed - WebSphere MQ Support RSS Feed - Message Broker Support

MQSeries.net Forum IndexIBM MQ Securitysingle server connection channel for multiple client user id

Post new topicReply to topic Goto page 1, 2  Next
single server connection channel for multiple client user id View previous topic :: View next topic
Author Message
hklbj
PostPosted: Tue Nov 11, 2014 12:05 am Post subject: single server connection channel for multiple client user id Reply with quote

Apprentice

Joined: 20 Jun 2007
Posts: 34
Location: HK

Hi,
I have following scenario and would like to seek an advice. thanks.

3 MQ clients are using only server connection channel 'CH.SVRC1' on remote queue manager to access different MQ objects 'Q1', 'Q2', 'Q3' & 'Q4'. My idea would leave the MCAUSER field of 'CH.SVRC1' blank and the client applications will supply the userid respectively to perform operations. Is the setup feasible and any security loophole? I don't want to have 3 server connection channel to server 3 different MQ clients. Appreciate your help.
Back to top
View user's profile Send private message
zpat
PostPosted: Tue Nov 11, 2014 12:33 am Post subject: Reply with quote

Jedi Council

Joined: 19 May 2001
Posts: 5866
Location: UK

Leaving the MCA user blank is a security loophole, as it would allow both blank ids to be passed (gaining the channel agent id), and it would allow ids like mqm to be passed.

Check if you can prevent this with CHLAUTH controls (and set the MCAUSER to a value such as NoBody).

You can also solve this using the BlockIP2 exit, and use it to block blank ids and any mqm admin ids. The other ids can be passed through.
_________________
Well, I don't think there is any question about it. It can only be attributable to human error. This sort of thing has cropped up before, and it has always been due to human error.
Back to top
View user's profile Send private message
hklbj
PostPosted: Tue Nov 11, 2014 1:42 am Post subject: Reply with quote

Apprentice

Joined: 20 Jun 2007
Posts: 34
Location: HK

Thanks zpat, other than using security exit. Any other implementation can achieve my goal? What i can think about is to create as many server connection per each client but it is difficult to manage from administration point of view.
Back to top
View user's profile Send private message
PaulClarke
PostPosted: Tue Nov 11, 2014 1:45 am Post subject: Reply with quote

Grand Master

Joined: 17 Nov 2005
Posts: 1002
Location: New Zealand

In MQ V8.0 you can just have the client applications providing a userid/password combination. That password can be validated against the OS or LDAP etc. The client can then run with the authority of the userid provided. Is this the type of thing you wanted?

Cheers,
Paul.
_________________
Paul Clarke
MQGem Software
www.mqgem.com
Back to top
View user's profile Send private message Visit poster's website
hklbj
PostPosted: Tue Nov 11, 2014 1:50 am Post subject: Reply with quote

Apprentice

Joined: 20 Jun 2007
Posts: 34
Location: HK

PaulClarke wrote:
In MQ V8.0 you can just have the client applications providing a userid/password combination. That password can be validated against the OS or LDAP etc. The client can then run with the authority of the userid provided. Is this the type of thing you wanted?

Cheers,
Paul.

Thanks Paul, it sounds good.
However, my MQ server version is 7.5 only. I would like to study chlauth, do you have any relevant information?
Back to top
View user's profile Send private message
exerk
PostPosted: Tue Nov 11, 2014 1:51 am Post subject: Reply with quote

Jedi Council

Joined: 02 Nov 2006
Posts: 6339

hklbj wrote:
What i can think about is to create as many server connection per each client but it is difficult to manage from administration point of view.

Each client installation should have (ideally) it's own SVRCONN and if you're disciplined enough in your approach to managing it, it's not difficult. Alternatives have already been suggested by zpat and PaulClarke. As regards CHLAUTH, there are Morag Hughson's fine articles on developerWorks.
_________________
It's puzzling, I don't think I've ever seen anything quite like this before...and it's hard to soar like an eagle when you're surrounded by turkeys.
Back to top
View user's profile Send private message
zpat
PostPosted: Tue Nov 11, 2014 1:59 am Post subject: Reply with quote

Jedi Council

Joined: 19 May 2001
Posts: 5866
Location: UK

A different channel for each client? I would hate to have your CCDT maintenance effort!

Quote from someone - “Whenever there is a hard job to be done I assign it to a lazy man; he is sure to find an easy way of doing it.”
_________________
Well, I don't think there is any question about it. It can only be attributable to human error. This sort of thing has cropped up before, and it has always been due to human error.
Back to top
View user's profile Send private message
hughson
PostPosted: Tue Nov 11, 2014 2:38 am Post subject: Reply with quote

Padawan

Joined: 09 May 2013
Posts: 1959
Location: Bay of Plenty, New Zealand

I wouldn't generally suggest a need to have three separate SVRCONN channels for this. One channel definition and three CHLAUTH rules to set a different MCAUSER for each running instance with the channel definition MCAUSER set to "nobody" as already suggested would cover the security side of things.

The other reasons to want separate channel names is to allow you to STOP CHANNEL a specific one, but since you can use STOP CHANNEL with the IP address of the one you want to stop, and you can use CHLAUTH to disallow access, that argument goes away too.

Another reason for separate channels might be to control how many instances of each application can run, but since you have MAXINST and MAXINSTC, you can control that on a single channel too.

The final reason would be for management, i.e. wanting to easily see what is connected. DISPLAY CHSTATUS shows you the RAPPLTAG which is the remote application name, but if these are all the same, then a different channel name would aid in knowing what's what. FYI, the main reason these would be the same was Java.exe, but that was solved in V7.5 where the main class name was used as the APPLTAG instead of "WebSphere MQ Client for Java" for all of them, so this may not even be a good reason any more.

Just food for thought, I may have missed other good reasons for having a separate SVRCONN channel name, but I'm sure others will chip in with them.

P.S. CHLAUTH blog posts listed here.

Cheers
Morag
_________________
Morag Hughson @MoragHughson
IBM MQ Technical Education Specialist
Get your IBM MQ training here!
MQGem Software
Back to top
View user's profile Send private message Visit poster's website
exerk
PostPosted: Tue Nov 11, 2014 2:56 am Post subject: Reply with quote

Jedi Council

Joined: 02 Nov 2006
Posts: 6339

zpat wrote:
A different channel for each client? I would hate to have your CCDT maintenance effort!

Quote from someone - “Whenever there is a hard job to be done I assign it to a lazy man; he is sure to find an easy way of doing it.”

It was a long night last night, so I'll clarify - by 'client installation' I mean per server, not per client(s) running on a particular server, except where it's shared infrastructure, e.g. multiple business units running on the same tin (if only...). With the advent of MAXINST and MAXINSTC, CHLAUTH, et al, life has become a lot easier, but I still would separate as far as possible, i.e. not have non-related business-line apps using the same channel - but that's just me.
_________________
It's puzzling, I don't think I've ever seen anything quite like this before...and it's hard to soar like an eagle when you're surrounded by turkeys.
Back to top
View user's profile Send private message
PeterPotkay
PostPosted: Tue Nov 11, 2014 4:55 am Post subject: Reply with quote

Poobah

Joined: 15 May 2001
Posts: 7722

hughson wrote:
The other reasons to want separate channel names is to allow you to STOP CHANNEL a specific one, but since you can use STOP CHANNEL with the IP address of the one you want to stop, and you can use CHLAUTH to disallow access, that argument goes away too.


With the possibility of multiple unrelated applications running on the same WAS / .NET / Weblogic server, I still vote for a separate SVRCONN channel per application.
_________________
Peter Potkay
Keep Calm and MQ On
Back to top
View user's profile Send private message
hklbj
PostPosted: Tue Nov 11, 2014 8:33 am Post subject: Reply with quote

Apprentice

Joined: 20 Jun 2007
Posts: 34
Location: HK

Thanks all valuable suggestions and opinions.

I will study about CHLAUTH in my case. Anyway, thanks again.
Back to top
View user's profile Send private message
bruce2359
PostPosted: Tue Nov 11, 2014 8:49 am Post subject: Reply with quote

Poobah

Joined: 05 Jan 2008
Posts: 9469
Location: US: west coast, almost. Otherwise, enroute.

PeterPotkay wrote:
With the possibility of multiple unrelated applications running on the same WAS / .NET / Weblogic server, I still vote for a separate SVRCONN channel per application.

Do you mean a unique SVRCONN for each individual application? Or, application type (like Payroll, Inventory)?
_________________
I like deadlines. I like to wave as they pass by.
ב''ה
Lex Orandi, Lex Credendi, Lex Vivendi. As we Worship, So we Believe, So we Live.
Back to top
View user's profile Send private message
PeterPotkay
PostPosted: Tue Nov 11, 2014 10:41 am Post subject: Reply with quote

Poobah

Joined: 15 May 2001
Posts: 7722

Each individual app. Not each instance of that app.
_________________
Peter Potkay
Keep Calm and MQ On
Back to top
View user's profile Send private message
mqjeff
PostPosted: Tue Nov 11, 2014 10:43 am Post subject: Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 17447

PeterPotkay wrote:
Each individual app. Not each instance of that app.


So to be clear, if you have four apps that together make up the payroll business thingy, you'd end up having four svrconns, one for each piece of the payroll business thingy.
Back to top
View user's profile Send private message
bruce2359
PostPosted: Tue Nov 11, 2014 1:37 pm Post subject: Reply with quote

Poobah

Joined: 05 Jan 2008
Posts: 9469
Location: US: west coast, almost. Otherwise, enroute.

PeterPotkay wrote:
Each individual app. Not each instance of that app.

So, if I have 30 individual application programss that comprise the payroll system, and 30 that do inventory, and 30 that do a/p, 30 that do a/r, 30 that do CRM, ... then you're suggesting 150+ individual SVRCONN channels?
_________________
I like deadlines. I like to wave as they pass by.
ב''ה
Lex Orandi, Lex Credendi, Lex Vivendi. As we Worship, So we Believe, So we Live.
Back to top
View user's profile Send private message
Display posts from previous:
Post new topicReply to topic Goto page 1, 2  Next Page 1 of 2

MQSeries.net Forum IndexIBM MQ Securitysingle server connection channel for multiple client user id
Jump to:



You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
Protected by Anti-Spam ACP


Theme by Dustin Baccetti
Powered by phpBB 2001, 2002 phpBB Group

Copyright MQSeries.net. All rights reserved.