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 » Using intermediate QM with Server-Connection Channel

Post new topic  Reply to topic Goto page 1, 2  Next
 Using intermediate QM with Server-Connection Channel « View previous topic :: View next topic » 
Author Message
hooman24
PostPosted: Sat Mar 04, 2017 5:40 am    Post subject: Using intermediate QM with Server-Connection Channel Reply with quote

Apprentice

Joined: 09 Aug 2014
Posts: 25

Hi,

In our environment, we have print applications that connect to our QM using a server-connection. For security reasons we don't want our clients to connect directly to our production QM, therefore we've decided to use an intermediate QM so our clients first connect to this QM and then connect to production QM.

1) Is there any configuration that we can use with the least changes to our client print program?

2) can we use QM Alias as our intermediate QM? for example we define server-connection channel on intermediate QM and then define sender-receiver channel to production QM, and define intermediate QM as an Alias QM.

Thanks in advance
Hooman
Back to top
View user's profile Send private message
smdavies99
PostPosted: Sat Mar 04, 2017 10:27 am    Post subject: Reply with quote

Jedi Council

Joined: 10 Feb 2003
Posts: 6076
Location: Somewhere over the Rainbow this side of Never-never land.

With recent versions of MQ you can really restrict what a client can do over a connection. You can restrict things like the

- Account name/password being used for connection
- IP range for the incoming connections
- Use SSL/TLS
- Limit what MQ Objects can be accessed and what the client can do with them.

If this is still not good enough please tell us what the current product is missing from a security point of view.
Many, many clients connect to prod QMGRS. The changes since V7.5 and more in V8 really go a long way to resolving the sort of concerns you may have.

Who knows, there may be a way of resolving your issues with the current product.
_________________
WMQ User since 1999
MQSI/WBI/WMB/'Thingy' User since 2002
Linux user since 1995

Every time you reinvent the wheel the more square it gets (anon). If in doubt think and investigate before you ask silly questions.
Back to top
View user's profile Send private message
hooman24
PostPosted: Sun Mar 05, 2017 12:26 am    Post subject: Reply with quote

Apprentice

Joined: 09 Aug 2014
Posts: 25

Thank you smdavies99 for your reply.

You are right. There are really good solutions for securing client server connections using new security features of MQ(AMS and security exit,...).

However our customer wants to setup an intermediate QM. It is really interesting for me whether there is anyway to use this QM as an Alias QM(I know we can do it for sender-receiver channels) with a new server-connection channel then routes input messages to production QM?

Thanks
Hooman
Back to top
View user's profile Send private message
exerk
PostPosted: Sun Mar 05, 2017 3:52 am    Post subject: Reply with quote

Jedi Council

Joined: 02 Nov 2006
Posts: 6339

1. Set up your Intermediate queue manager with the required SVRCONN channel and secure it. If you are supplying a CCDT file to the client, ensure the QMNAME attribute is blank and direct them to supply * as a queue manager name. This will allow you to change the Intermediate queue manager as and when you need (assuming that NAT is used on the incoming connection, or that MQ IPT is being used to front the Intermediate queue manager). If they are specifying the connection details tell them to use * anyway;

2. Set up an appropriate QREMOTE (fronted by a QALIAS if you feel the need) for the client to use, and use that to forward the messages to a QLOCAL on the Production queue manager;

3. Connect the Intermediate queue manager to your Production queue manager with SDR/RCVR channels, and secure those channels. Use separate channels per client to ensure one client's traffic does not impact other client's traffic.

4. If the traffic is bidirectional, do the same as 3. above but from the Production queue manager to the Intermediate queue manager.

Basically you are describing the use of a Gateway queue manager, which is a good thing. Read the Secure Messaging Scenarios with WebSphere MQ Redbook, it's pretty much the MQ security bible.
_________________
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: Sun Mar 05, 2017 5:47 am    Post subject: Reply with quote

Poobah

Joined: 15 May 2001
Posts: 7717

hooman24 wrote:

You are right. There are really good solutions for securing client server connections using new security features of MQ(AMS and security exit,...)

AMS and Security exits are not new to MQ. They have been available for a very long time.
smdavies99 is referring you to CHLAUTH rules.

hooman24 wrote:

However our customer wants to setup an intermediate QM.

You have to understand why. They have a reason. If you don't understand that reason and just add another QM to the topology, the architecture becomes more complicated, more difficult to support and you may not even accomplish what they hoped to accomplish with that queue manager. Ask the requirement, and solve for that, which may require an intermediate queue manager. Or not.

Maybe the requirement is they get paid extra for every QM they have to support, and this extra QM pushes them to the next tier of what they can charge - it may be as dopey as that. Or they may have a technical (i.e. "real") reason that might be accomplished with the 2nd QM, but only if you are aware what it is and can implement it as such.


hooman24 wrote:

For security reasons we don't want our clients to connect directly to our production QM,

Describe these security reasons.
_________________
Peter Potkay
Keep Calm and MQ On
Back to top
View user's profile Send private message
exerk
PostPosted: Sun Mar 05, 2017 6:17 am    Post subject: Reply with quote

Jedi Council

Joined: 02 Nov 2006
Posts: 6339

PeterPotkay wrote:
hooman24 wrote:

For security reasons we don't want our clients to connect directly to our production QM,

Describe these security reasons.

Would you really be happy for a Third-Party to connect directly to your back-end infrastructure? Would you not want to abstract them from that infrastructure? And what happens when you want to move the service and need to involve the Third-Party, networks, firewalls etc. in that move?
_________________
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
smdavies99
PostPosted: Sun Mar 05, 2017 8:15 am    Post subject: Reply with quote

Jedi Council

Joined: 10 Feb 2003
Posts: 6076
Location: Somewhere over the Rainbow this side of Never-never land.

exerk wrote:
PeterPotkay wrote:
hooman24 wrote:

For security reasons we don't want our clients to connect directly to our production QM,

Describe these security reasons.

Would you really be happy for a Third-Party to connect directly to your back-end infrastructure? Would you not want to abstract them from that infrastructure? And what happens when you want to move the service and need to involve the Third-Party, networks, firewalls etc. in that move?


Some orgs allow it. One I know mandates it. Others are happy with MQIPT.
Using SSL on the Link and with appropriate secutity are good enough for others.
Objcect Access can be restricted as can username/password.

So it sort of depends.
_________________
WMQ User since 1999
MQSI/WBI/WMB/'Thingy' User since 2002
Linux user since 1995

Every time you reinvent the wheel the more square it gets (anon). If in doubt think and investigate before you ask silly questions.
Back to top
View user's profile Send private message
PeterPotkay
PostPosted: Sun Mar 05, 2017 11:33 am    Post subject: Reply with quote

Poobah

Joined: 15 May 2001
Posts: 7717

exerk wrote:
PeterPotkay wrote:
hooman24 wrote:

For security reasons we don't want our clients to connect directly to our production QM,

Describe these security reasons.

Would you really be happy for a Third-Party to connect directly to your back-end infrastructure? Would you not want to abstract them from that infrastructure? And what happens when you want to move the service and need to involve the Third-Party, networks, firewalls etc. in that move?

"We don't want them to connect to our Production QM."

So we will have them connect to a new Production QM. To what end? What do you hope to accomplish, or prevent? If you can't answer that, you can't know that a new intermediate QM accomplishes or prevents what you are after.

I'm not saying its wrong to have the client connect to a new intermediate QM. But to say its for "security reasons" and then not be able to articulate what those security reasons are means you quite likely will not be mitigating the things you think you are.
_________________
Peter Potkay
Keep Calm and MQ On
Back to top
View user's profile Send private message
exerk
PostPosted: Sun Mar 05, 2017 12:37 pm    Post subject: Reply with quote

Jedi Council

Joined: 02 Nov 2006
Posts: 6339

PeterPotkay wrote:
So we will have them connect to a new Production QM. To what end?

So that I can control the point of entry and change where it routes internally any time I like...

PeterPotkay wrote:
What do you hope to accomplish, or prevent?

Not just prevention but the ability for me to 'swing' that connection anywhere I like within my infrastructure without getting the Third-Party involved.

Use Case: At the moment I'm involved in a migration project that will involve Third-Parties having to make changes and at the moment just getting one of them to make a change is like the mating of elephants.

To have a Gateway through which all Third-Parties connect, and which I can control independent of them because channel names etc. will be generic and aliasing will be used - they won't know my internal queue naming conventions and so on - and concentrate various CA certificates (some of which may be self-signed) and bodges to site standards all in one place.

Or, I can open up multiple holes in a firewall, pollute a number of queue managers with various CA certificates, funny queue names, and so on...

PeterPotkay wrote:
I'm not saying its wrong to have the client connect to a new intermediate QM. But to say its for "security reasons" and then not be able to articulate what those security reasons are means you quite likely will not be mitigating the things you think you are.

And I fully agree with you.
_________________
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
hooman24
PostPosted: Mon Mar 06, 2017 8:54 am    Post subject: Reply with quote

Apprentice

Joined: 09 Aug 2014
Posts: 25

Thank you exerk for your really good information and answer. We will try that.

PeterPotkay as you said MQ has security features that can assure users. However, our customer has a lot of different organizations connected to the same QM and they feel safer with separated entry points. Besides, it is easier to see who's who if you keep them connecting to separate intermediate queue managers.

Our problem was if we set up an intermediate QM how could client apps put and get messages from original QM without knowing there is any concentrator.

As exerk said there is a change in client app(* for QMNAME) and QREMOTE in intermediate QM for any applications that put message and probably QREMOTE in production QM for apps that get a message and also defining SNDR/RCVR channels between intermediate and production. We will test this scenario, I hope this works.

Thank you all
Back to top
View user's profile Send private message
mqjeff
PostPosted: Mon Mar 06, 2017 8:59 am    Post subject: Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 17447

Your apps wouldn't put or get to the remote queue manager.

They put and get to the local (intermediate) queue manager.

Then you configure the MQ network so that messages the client apps send will go to the right place, and the messages that the client apps need to read go to the right place.
_________________
chmod -R ugo-wx /
Back to top
View user's profile Send private message
exerk
PostPosted: Mon Mar 06, 2017 9:57 am    Post subject: Reply with quote

Jedi Council

Joined: 02 Nov 2006
Posts: 6339

hooman24 wrote:
...our customer has a lot of different organizations connected to the same QM and they feel safer with separated entry points. Besides, it is easier to see who's who if you keep them connecting to separate intermediate queue managers...

You don't need separate Gateway queue managers for each connecting Third-Party, you just need separate channels, and separate in/out routes if you front it with an IPT.

hooman24 wrote:
Our problem was if we set up an intermediate QM how could client apps put and get messages from original QM without knowing there is any concentrator.

See mqjeff's comment, and the Redbook I mentioned shows you exactly how.
_________________
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
hooman24
PostPosted: Tue Mar 07, 2017 1:51 am    Post subject: Reply with quote

Apprentice

Joined: 09 Aug 2014
Posts: 25

Thank you exerk and mqjeff. Your comments are really helpful.

For clarification since I haven't worked with MQIPT yet, I just want to make sure that using MQIPT is not mandatory for this kind of architecture and I can use QM server as my intermediate QM.

Thanks a lot
Back to top
View user's profile Send private message
mqjeff
PostPosted: Tue Mar 07, 2017 5:02 am    Post subject: Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 17447

MQIPT is mandatory if your requirements can't be solved without it.
_________________
chmod -R ugo-wx /
Back to top
View user's profile Send private message
exerk
PostPosted: Tue Mar 07, 2017 6:07 am    Post subject: Reply with quote

Jedi Council

Joined: 02 Nov 2006
Posts: 6339

hooman24 wrote:
...I just want to make sure that using MQIPT is not mandatory for this kind of architecture and I can use QM server as my intermediate QM.

Just to be absolutely and crystal clear, MQ IPT does not take the place of an 'intermediate QM'. Look at the diagrams in the Redbook, which explain it in a very simple way.
_________________
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
Display posts from previous:   
Post new topic  Reply to topic Goto page 1, 2  Next Page 1 of 2

MQSeries.net Forum Index » General IBM MQ Support » Using intermediate QM with Server-Connection Channel
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.