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 Index » General IBM MQ Support » MCAUSER ID vs SET_IDENTITY_CONTEXT

Post new topic  Reply to topic
 MCAUSER ID vs SET_IDENTITY_CONTEXT « View previous topic :: View next topic » 
Author Message
kishi_25
PostPosted: Thu May 23, 2013 7:40 am    Post subject: MCAUSER ID vs SET_IDENTITY_CONTEXT Reply with quote

Centurion

Joined: 19 Jul 2011
Posts: 100

hi,

If We set mcauser id with less privilege on Serverconn channel for MQI, and if the application has set_id_identity_ context with more privilege, when the message is placed on a queue, which ID will be authorized? also..which id will be finally carried on message when it reaches the queue.?

As in my search..I'm getting 2 difference answers..
1. As MCAUSER always takes high precedence and hence it can override
whatever userid comes in the message

2. While the application makes put to a queue, it can override MCAUSER with high privilege userid like mqm through set_identity_context and it can be come a security issue.
Back to top
View user's profile Send private message
Vitor
PostPosted: Thu May 23, 2013 7:47 am    Post subject: Re: MCAUSER ID vs SET_IDENTITY_CONTEXT Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 26093
Location: Texas, USA

kishi_25 wrote:
As in my search..I'm getting 2 difference answers..
1. As MCAUSER always takes high precedence and hence it can override
whatever userid comes in the message

2. While the application makes put to a queue, it can override MCAUSER with high privilege userid like mqm through set_identity_context and it can be come a security issue.


Where in your search did you get point 2? That a message with the identity deliberately set (as opposed to simply passed) will override MCAUser?

Why would a normal application (as opposed to an administrative tool) be given setid? Cite use cases.

Note that WMQv7.5 has changes in this area.
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
kishi_25
PostPosted: Thu May 23, 2013 7:58 am    Post subject: Reply with quote

Centurion

Joined: 19 Jul 2011
Posts: 100

We are using a third party product, which makes set_identity_context call.
We couldn't trace back on why the application needs set_identity_context as currently it's not supported and people can't provide source code or reason behind using this parameter from application.

so, I was under the impression that, if I set an MCAUSER id, it can take care of resetting this value, in case if there is a risk of security...

But, my PMR with IBM L2 says as below. As I'm planning to check with L3 on this..:So thought of checking here, before I go for L3.

"Although you set the mcauser id, if the application has setid privilege it can change the User ID in the message header when it does the put to the queue.
"[/u]
Back to top
View user's profile Send private message
Vitor
PostPosted: Thu May 23, 2013 8:26 am    Post subject: Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 26093
Location: Texas, USA

kishi_25 wrote:
We are using a third party product, which makes set_identity_context call.
We couldn't trace back on why the application needs set_identity_context as currently it's not supported and people can't provide source code or reason behind using this parameter from application.


I love it when they say that.

kishi_25 wrote:
But, my PMR with IBM L2 says as below. As I'm planning to check with L3 on this..:So thought of checking here, before I go for L3.

"Although you set the mcauser id, if the application has setid privilege it can change the User ID in the message header when it does the put to the queue.
"


Which does indeed read like an explicitly set id is unaffected by MCAUser. I'd be interested in the PMR number and what the response is from L3 (who will be much more authoratative than anything you get here).

You could also try a simple test with a client app that sets id.
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
gbaddeley
PostPosted: Thu May 23, 2013 3:41 pm    Post subject: Reply with quote

Jedi Knight

Joined: 25 Mar 2003
Posts: 2538
Location: Melbourne, Australia

MQ will be using the svrconn channel's effective MCAUSER for authorization checks when the queue is opened. It does not do any checks when putting each message.

There are no checks on the identity context fields. If the app has authority to set these, it can set them to whatever it wants. (Hence the security concerns about authorizing apps to set them)
_________________
Glenn
Back to top
View user's profile Send private message
Vitor
PostPosted: Fri May 24, 2013 4:43 am    Post subject: Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 26093
Location: Texas, USA

gbaddeley wrote:
MQ will be using the svrconn channel's effective MCAUSER for authorization checks when the queue is opened. It does not do any checks when putting each message.

There are no checks on the identity context fields. If the app has authority to set these, it can set them to whatever it wants. (Hence the security concerns about authorizing apps to set them)


Well it's a good day when I learn something new.
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
kishi_25
PostPosted: Fri May 24, 2013 11:01 am    Post subject: Reply with quote

Centurion

Joined: 19 Jul 2011
Posts: 100

hi Glen,

There are no checks on the identity context fields. If the app has authority to set these, it can set them to whatever it wants. (Hence the security concerns about authorizing apps to set them)..

Can you explain little detail on this with some example if posisble?

I'm still waiting for L3 update..
Back to top
View user's profile Send private message
mqjeff
PostPosted: Fri May 24, 2013 11:33 am    Post subject: Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 17447

kishi_25 wrote:
hi Glen,

There are no checks on the identity context fields. If the app has authority to set these, it can set them to whatever it wants. (Hence the security concerns about authorizing apps to set them)..

Can you explain little detail on this with some example if posisble?

I'm still waiting for L3 update..


It's like your house. Once I'm in your house, nothing stops me from opening your refrigerator. Unless you have another lock on your refrigerator.

MQ doesn't put locks on this refrigerator. Once an app is able to OPEN a queue, and it is able to SET IDENTITY CONTEXT, MQ is not going to do anything to check the identity that IS set.

Don't let anyone SET IDENTITY.
Back to top
View user's profile Send private message
mvic
PostPosted: Fri May 24, 2013 11:58 am    Post subject: Reply with quote

Jedi

Joined: 09 Mar 2004
Posts: 2080

kishi_25 wrote:
We are using a third party product, which makes set_identity_context call.

There is no such call. What call is the application actually making? MQOPEN?

Quote:
We couldn't trace back on why the application needs set_identity_context as currently it's not supported and people can't provide source code or reason behind using this parameter from application.

Isn't this the most important thing in this whole story? If you are responsible for security, you need to know what the application is doing, and why.
Back to top
View user's profile Send private message
kishi_25
PostPosted: Fri May 24, 2013 12:12 pm    Post subject: Reply with quote

Centurion

Joined: 19 Jul 2011
Posts: 100

hi mqjeff,

you mean, the application will be getting full control on all mq objects, is it be cause of +SET_ID on QMGR?..

Reason I'm asking ...though I give SET_ID on QMGR, +SETID with setmquath is giving to only related application queue only and not any other queues..so, wondering how can it control all mq objects?..is it because of SET_ID access on QMGR?
Back to top
View user's profile Send private message
mqjeff
PostPosted: Mon May 27, 2013 9:26 am    Post subject: Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 17447

An application with setid can write a message to the command server input queue and mark that message as coming from the mqm or mqadmin user.

This assumes that the application also has permission to open the command server input queue with PUT permission.
Back to top
View user's profile Send private message
kishi_25
PostPosted: Tue May 28, 2013 6:40 am    Post subject: Reply with quote

Centurion

Joined: 19 Jul 2011
Posts: 100

ok understood..thanks for the inputs
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » General IBM MQ Support » MCAUSER ID vs SET_IDENTITY_CONTEXT
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.