SlideShare a Scribd company logo
1 of 63
IBM MQ CHLAUTH rules – with 
MQ V8 updates 
Morag Hughson - hughson@uk.ibm.com 
IBM Hursley - UK
N 
O 
T 
E 
S 
© 2014 IBM Corporation 
Abstract 
 WebSphere MQ V7.1 introduced a new feature for securing channels, known as 
Channel Authentication Records, or CHLAUTH for short. This new feature allows 
you to set rules to indicate which inbound connections are allowed to use your 
queue manager and which are banned. In V8, CHLAUTH was updated to tie in with 
a number of other new security features, including connection authentication (using 
CHCKCLNT on CHLAUTH); more advanced certificate checking (using SSLCERTI 
on CHLAUTH) and hostname support. 
 This session will take you through the concepts behind this feature, how to create 
these rules and how to monitor and manage their use.
Channel Authentication Records 
 Set rules to control how inbound connections are treated 
 Inbound Clients 
 Inbound QMgr to QMgr channels 
 Other rogue connections causing FDCs 
© 2014 IBM Corporation 
 Rules can be set to 
 Allow a connection 
 Allow a connection and assign an MCAUSER 
 Block a connection 
 Ban privileged access 
 Provide multiple positive or negative SSL/TLS Distinguished Name matching 
 Mandate user ID  password checking 
 Rules can use any of the following identifying 
characteristics of the inbound connection 
 IP Address 
 Hostnames 
 SSL/TLS Subject’s Distinguished Name 
 SSL/TLS Issuer’s Distinguished Name 
 Client asserted user ID 
 Remote queue manager name
Channel Authentication Records – Notes 
N 
O 
T 
E 
S 
 Channel Authentication records allow you to define rules about how inbound 
connections into the queue manager should be treated. Inbound connections might 
be client channels or queue manager to queue manager channels. These rules can 
specify whether connections are allowed or blocked. If the connection in question is 
allowed, the rules can provide a user ID that the channel should run with or indicate 
that the user ID provided by the channel (flowed from the client or defined on the 
channel definition) is to be used. 
 These rules can therefore be used to 
– Set up appropriate identities for channels to use when they run against the queue manager 
– Block unwanted connections 
– Ban privileged users 
 Which users are considered privileged users is slightly different depending on which 
platform you are running your queue manager on. There is a special value 
‘*MQADMIN’ which has been defined to mean “any user that would be privileged on 
this platform”. This special value can be used in the rules that check against the 
final user ID to be used by the channel – TYPE(USERLIST) rules – to ban any 
connection that is about to run as a privileged user. This catches any blank user IDs 
flowed from clients for example. 
© 2014 IBM Corporation
Channel Access Blocking Points 
© 2014 IBM Corporation 
 Listener Blocking 
 NOT A REPLACEMENT FOR 
AN IP FIREWALL!! 
 Blocked before any data read from the socket 
 Simplistic avoidance of DoS attack 
 Really the place of the IP firewall 
 Network Pingers if blocked don’t raise an alert 
 Channel Blocking/Mapping 
 Rules to block channels 
 Rules to map channels to MCAUSER 
 Rules to allow channels as they are 
 Runs before security exit 
 Final check for user ID before allowing through 
 After Security Exit has run and final 
MCAUSER is assigned 
 Ban privileged users with ‘*MQADMIN’ 
IP Firewall 
Lstr blocking 
Channel 
ACLs
Channel Access Blocking Points – Notes 
N 
O 
T 
E 
S 
 In this picture we illustrate that there are a number of points that an inbound 
connection must get through in order to actually make use of an MQ queue. 
 First, we remind you that your IP firewall is included in this set of blocking points 
and should not be forgotten, and is not superseded by this feature in MQ. 
 One point of note, the inbound connections can be from any version of MQ. There 
is no requirement that the clients or remote queue managers also be on 
WebSphere MQ V7.1 to be blocked or mapped by these rules. 
© 2014 IBM Corporation
Channel Authentication Records – Configuration 
© 2014 IBM Corporation 
 Create rules using 
 MQSC: SET CHLAUTH 
 PCF 
 Pattern matching 
 Channel Name/QMgr Name/Hostname 
 Beginning, middle, end 
 IP addresses (IPV4 or IPV6) 
 SSL Peer Name (as today) 
Starting MQSC for queue manager TEST1. 
SET CHLAUTH(‘*’) TYPE(ADDRESSMAP) ADDRESS(‘*’) USERSRC(NOACCESS) 
SET CHLAUTH(‘*’) TYPE(BLOCKUSER) USERLIST(‘*MQADMIN’) 
SET CHLAUTH(‘*’) TYPE(ADDRESSMAP) ADDRESS(‘9.20.1-3.*’) USERSRC(CHANNEL) 
SET CHLAUTH(‘APP1.CHL*’) TYPE(ADDRESSMAP) ADDRESS(‘*.ibm.com’) USERSRC(CHANNEL) 
SET CHLAUTH(‘*.ADMIN.*’) TYPE(SSLPEERMAP) SSLPEER(‘O=IBM,L=Hursley’) USERSRC(CHANNEL) 
SET CHLAUTH(‘QM1.TO.QM2’) TYPE(QMGRMAP) QMNAME(QM1) USERSRC(MAP) MCAUSER(‘QM1USER’) 
SET CHLAUTH(‘*.SVRCONN’) TYPE(USERMAP) CLNTUSER(‘mhughson’) MCAUSER(‘hughson@hursley’) 
SET CHLAUTH(‘*’) TYPE(SSLPEERMAP) SSLPEER(‘O=IBM’) ADDRESS(‘9.*’) MCAUSER(‘hughson’)
Channel Authentication – Configuration – Notes 
N 
O 
T 
E 
S 
 Here we show some example rules illustrating the commands used for creating the 
rules. These examples are in MQSC. There is also PCF, and this is used by the MQ 
Explorer GUI. 
 Some of these examples illustrate the pattern matching that can be applied to 
channel names, IP addresses, Hostnames, SSL/TLS DNs and remote queue 
manager names. Also we see all three types of rules, blocking channels – 
USERSRC(NOACCESS); allowing channels to run with the user ID provided by the 
channel – USERSRC(CHANNEL); and assigning a user ID to a channel – 
USERSRC(MAP) MCAUSER(user-id). USERSRC(MAP) is the default so we also 
see in another example that it does not need to be specified on the command. 
© 2014 IBM Corporation
IP Address Pattern Matching 
© 2014 IBM Corporation 
 Single Address 
 Wildcard at the end 
 Wildcard in the middle 
 Ranges 
 IPV4 or IPV6 
 IPV6 wildcarded 
 IPV4 will also block IPV6 and vice versa 
 9.20.4.6 
 9.20.* 
 9.20.*.6 
 9.20.4.1-10 
 3ffe:1900:4545:3:200: 
f8ff:fe21:67cf 
 3ffe:1900:4545:3:200:* 
 0:0:0:0:0:ffff:192.1.56.10
IP Address Pattern Matching – Notes 
N 
O 
T 
E 
S 
 The IP addresses can be specified as single addresses, e.g. 9.20.4.6 or as 
patterns, e.g. 9.20.* which would of course also match the former. There patterns 
can also be generic in the middle, not just at the end, e.g. 9.20.*.6; and can provide 
ranges (rather akin to how you might configure a firewall) e.g. 9.20.4.1-20. 
 These patterns of course will also understand IPV6 address, so as another example 
one might provide 3ffe:1900:4545:3:200:f8ff:fe21:67cf or 3ffe:1900:4545:3:200:* 
which would also match the specific address. We must also understand that 
0:0:0:0:0:ffff:192.1.56.10 is the same as 192.1.56.10 so that the correct refusals are 
made when IPV6 and IPV4 are both in use. 
 Hostnames cannot be specified in the BLOCKADDR list – only IP addresses. They 
can be used in ADDRESS fields rules though. 
© 2014 IBM Corporation
Channel Authentication Rules using Hostnames 
SET CHLAUTH(‘*.SVRCONN’) TYPE(ADDRESSMAP) 
ADDRESS(‘mach123.ibm.com’) MCAUSER(HUSER) 
© 2014 IBM Corporation 
 Initial Listener blocking list 
 Hostnames not allowed 
 Channel based blocking of 
Hostnames 
 Single IP address/range/pattern 
or hostname/pattern 
 Channel allowed in, based on 
Hostnames 
 Single IP address/range/pattern 
or hostname/pattern 
 Further qualified rule including 
hostname on another rule type 
 Works with SSLPEER, 
QMNAME and CLNTUSER 
SET CHLAUTH(‘*’) TYPE(BLOCKADDR) 
ADDRLIST( ) 
SET CHLAUTH(‘APPL1.*’) TYPE(ADDRESSMAP) 
ADDRESS(‘*.ibm.com’) USERSRC(NOACCESS) 
SET CHLAUTH(‘*’) TYPE(SSLPEERMAP) 
SSLPEER(‘CN=“Morag Hughson”’) 
ADDRESS(‘s*.ibm.*’) MCAUSER(HUGHSON)
Channel Authentication Rules using Hostnames – Notes 
N 
O 
T 
E 
S 
 Hostnames can be used in almost all places in channel authentication records that IP address 
could be used. The one exception to this is the TYPE(BLOCKADDR) record. This is only 
going to accept IP addresses. 
 If you want to block IP addresses with CHLAUTH rules permanently in MQ, rather than via 
your IP firewall, you should be doing it using the TYPE(ADDRESSMAP) record and specifying 
USERSRC(NOACCESS). This type of rules will allow hostnames as well. 
 Additionally, positive mapping records allow hostnames, and address restrictors can also use 
hostnames. 
 Channel Authentication rules utilise pattern matching to allow the most flexible control. IP 
Addresses have a special form of pattern matching that includes ranges and wildcards within 
each ‘.’ (or ‘:’ for IPv6) section of an IP address. Other pattern matching which is done on 
channel names, and queue manager names is simpler with just wild-carded string matching 
(in other words dots are not considered special). 
 Hostnames also have pattern matching applied to them – as for channel names and queue 
manager names. That is it is just a wild-carded string matching and separators such as dots 
are not considered special. 
© 2014 IBM Corporation
QMgr 
© 2014 IBM Corporation 
Obtaining a hostname 
 Hostname is not ‘sent’ from the other end of the channel 
 IP address is obtained from TCP/IP socket 
 We must ask the Domain Name System (DNS) Server what the hostname is, a.k.a. Reverse 
Lookup 
 If you want to use hostname rules 
 Your queue manager must be able to contact your DNS 
 Your DNS must be able to resolve the IP addresses 
 Sender/Client address 
 More than previously needed just to use 
CONNAME(‘hostname(port)’) 
 NO DNS – NO HOSTNAME 
 NO HOSTNAME – NO MATCH 
 IP address from TCP/IP 
 Other attributes from 
internal channel flows 
 Channel Name 
 Certificate DN 
 Remote QMgr Name 
 Client User ID 
Application (User4) 
MQCONNX 
User3 + pwd3 
Network 
Communications 
DNS 
IP Address 
Hostname
Obtaining a hostname – Notes 
N 
O 
T 
E 
S 
 In order to be able to process channel authentication records that contain rules using 
hostnames we need to be able to obtain the hostname that represents the IP address of the 
socket. The hostname is not ‘sent’ to us by the channel or by TCP/IP. We get the IP address 
from the socket. We get the other attributes that channel authentication records use from the 
various internal flows across the socket. 
 To get the hostname we must ask the Domain Name System (DNS) Server what hostname 
goes with the IP address we are currently looking at. In order for this to be successful our 
queue manager must be able to use the DNS. This may already be true if you are using 
hostnames in CONNAME fields for example – which is certainly common-place. Also, the 
DNS must be able to reverse look-up the IP address and find a hostname for us. This may not 
be true in your current set up. Are all the sender channel or client application IP addresses 
currently available in your DNS? In order for hostname rules to be used, this must be the 
case. 
 If you cannot reverse look up the hostname then CHLAUTH hostname rules will not be able to 
be matched. 
© 2014 IBM Corporation
Avoiding obtaining a hostname 
 To stop the Queue Manager asking the 
Domain Name System (DNS) Server 
for hostnames that go with IP address, 
a.k.a. Reverse Lookup 
© 2014 IBM Corporation 
 No CHLAUTH rules containing a 
hostname will be able to match 
ALTER QMGR REVDNS(DISABLED) 
QMgr 
Application (User4) 
MQCONNX 
User3 + pwd3 
Network 
Communications 
DNS
Avoiding obtaining a hostname – Notes 
N 
O 
T 
E 
S 
 It is possible that you wish this to always be the case. Some people are more 
nervous about the potential security hazards of using hostnames than others. When 
CHLAUTH only used IP addresses to match on, this was not something you had to 
worry about. Now someone might start to get lazy and use hostname rules. 
 We have added a control to turn off the reverse look up of hostnames. There were 
previously undocumented parameters on both z/OS® and distributed to allow this, 
but as part of this feature we have made an official version of these. 
 When REVDNS is ENABLED, the reverse look-up of the IP Address to retrieve the 
hostname will still only be done when it is required. If you do not use hostnames in 
CHLAUTH rules, then the only time a reverse look-up will be done is when writing 
an error message which contains that information. This is the same as the product 
behaviour pre-V8. 
© 2014 IBM Corporation
Restricting the Mappings 
© 2014 IBM Corporation 
 Rules matching on 
 SSL Peer Name 
 Remote QMgr Name 
 Client User ID 
 Can add IP address/Hostname 
 Restrict where an SSL Certificate 
can be used from 
 Specific IP address/Hostname 
 Restrict where a queue manager 
or client user ID can come from 
 Specific IP address/Hostname 
Client User 
SSL Peer X X 
8 
QM Name 8 
Client User 8 
IP Address 
IP Address/Hostname 
QM Name 
SSL Peer 
Restrict 
By 
Mapped 
SET CHLAUTH(*) TYPE(SSLPEERMAP) 
SSLPEER(‘L=”Hursley”’) MCAUSER(HURUSER) ADDRESS(‘9.20.*’) 
SET CHLAUTH(*) TYPE(QMGRMAP) 
QMNAME(CLUSQM*) MCAUSER(CLUSUSR) ADDRESS(‘*.ibm.com’)
Restricting the Mappings - Notes 
N 
O 
T 
E 
S 
 When mapping from an SSL certificate DN, you may also want to ensure that 
certificate is being used from the correct IP address, mitigating what might happen 
if a certificate is stolen. 
 When mapping from a queue manager name, you may also want to ensure that the 
queue manager is running on the correct IP address to ensure it is not a rogue 
queue manager with the same name as one in your cluster for example. 
 We could imagine using the remote queue manager name or the client user ID as a 
restrictor on an SSL Peer rule, however feedback from EAP did not suggest anyone 
needed it so it was not implemented. For the most part, attributes within the X509 
DN will contain the same information for most practical uses. For example 
CN=Queue Manager Name. 
© 2014 IBM Corporation
Fully Qualifying your Peer Name rules 
© 2014 IBM Corporation 
 Key Repository contains 
 All CA certs we trust 
 Multiple CAs means possible DN clashes 
 External CAs 
 Checks and balances 
 Unlikely to have DN clashes 
 Internal CAs 
 Less rigid 
 May give out certs exactly as requested 
 May end up with clashes 
 Could solved in a Security Exit 
 MQCD.SSLPeerNamePtr 
 MQCXP.SSLRemCertIssNamePtr 
 CHLAUTH rules extended 
 Check Subject’s DN (SSLPEER) 
 Check Issuer’s DN (SSLCERTI) 
SSLKEYR 
CA Certificate 
External 
CA Certificate 
Internal 
SET CHLAUTH(BPA.TO.ME) 
TYPE(SSLPEERMAP) 
SSLPEER(‘O=IBM’) 
MCAUSER(BPAUSR) 
SSLCERTI(‘CN=External’)
Fully Qualifying your Peer Name rules – Notes 
N 
O 
T 
E 
S 
 As we just saw, you can add IP address or hostname restrictors to many of the rule types to 
further qualify the matching that happens. 
 In the case of a Peer name map, you can fully qualify the certificate matching by providing 
both the Subject’s DN (SSLPEER) and the Issuer’s DN (SSLCERTI) on a rule. SSLCERTI is 
new in MQ V8. 
 This is especially important if you have more than one Certificate Authority (CA) certificate in 
your key repository which you may be more likely to do with the introduction of multiple 
certificates for one queue manager which was a new feature in MQ V8. 
 However, since we now accept certificates which come from two different Certificate Authorities 
(CAs) we can run foul of another issue. 
 One of the benefits of Externals CAs is that they guarantee not to issue the certificates with the 
same DN as another certificate that they have already issued. However, an internal CA may not be 
so diligent. Some internal CAs may simply accept what the user requests as their DN, so our rogue 
could obtain a certificate with non-unique DN from such a CA. 
 The only way to solve this issue in the past was to use a security exit, since security exits are 
presented with both the issuer’s and subject’s Distinguished Name. However, we are trying to get 
away from people having to write exits for common security issues, and this very much falls into that 
category. 
 In MQ V8, we can solve this issue by using a new attribute on CHLAUTH rules which matches the 
issuer’s DN – SSLCERTI. Our CHLAUTH rules can now be fully qualified to use both SSLPEER (the 
subject’s DN) and SSLCERTI (the issuer’s DN). 
© 2014 IBM Corporation
Channel Authentication Records – Configuration 
Order Identity mechanism Notes 
0 Channel Name 
2 SSL Issuer’s Distinguished Name 
5 IP address 
© 2014 IBM Corporation 
Precedence matching 
 Most specific rule is matched 
 Identifying attributes are 
 Channel Name 
 SSL Peer Name pattern 
 Precedence defined for partial patterns 
 Remote queue manager name pattern 
(MCA channels) 
 Client asserted user ID (MQI channels) 
 No pattern matching on this 
 IP address pattern 
 Hostname pattern (least specific) 
 Within SSL Peer Name matching 
 Most specific substring is 
matched 
Chl: MY.CHANNEL 
IP: 9.20.1.123 
DN: CN=Morag Hughson.O=IBM UK 
UID: mhughson 
SSL Subject’s 1 Distinguished Name 
One IP address can have multiple 
hostnames 
6 Hostname 
Clearly several different queue managers 
can be running on the same IP address 
3= Queue Manager Name 
Clearly several different user IDs can be 
running on the same IP address. 
3= Client asserted User ID
Channel Authentication – Configuration – Notes 
N 
O 
T 
E 
S 
 When there is more than one rule that could match the inbound connection in 
question, then we define which rule will actually be used by defining the precedence 
order of what is the most specific match. The table shows that SSL Peer Names are 
considered a more specific match than a queue manager name or client user ID 
(because there is much more detailed information in an SSL Peer Name); and 
Hostnames are considered the least specific since clearly more than one queue 
manager or client can be connecting from the same IP address/Hostname. 
Hostnames are even less specific than IP addresses because an IP address can 
have multiple hostnames. 
© 2014 IBM Corporation
SSL DN Precedence Mapping Example 
SET CHLAUTH(*) TYPE(SSLPEERMAP) SSLPEER(‘OU=“MQ Devt”’) 
MCAUSER(MQUSER) 
SET CHLAUTH(*) TYPE(SSLPEERMAP) SSLPEER(‘L=“Hursley”’) 
MCAUSER(HURUSER) 
Order DN Substring Name 
1 CN= Common name 
2 T= Title 
3 Organizational unit 
4 O= Organization 
5 L= Locality 
6 ST=, SP=, S= State or province name 
CN=Morag Hughson.OU=MQ Devt. 
O=IBM UK.L=Hursley.C=UK 
© 2014 IBM Corporation 
7 C= Country 
Certificate 
CN=Morag 
Hughson 
OU= Organizational unit 
Most 
Specific 
Match
Distinguished Names – Recognised by MQ 
SERIALNUMBER Certificate serial number 
MAIL Email address 
E Email address (Deprecated in preference to MAIL 
UID or USERID User identifier 
CN Common Name 
T Title 
OU Organization Unit name 
DC Domain component 
O Organization name 
STREET Street / First line of address 
L Locality name 
ST (or SP or S) State or Province name 
PC Postal code / zip code 
C Country 
UNSTRUCTUREDNAME Host name 
Distinguished DNQ name qualifier 
© 2014 IBM Corporation 
UNSTRUCTUREDADDRESS IP address
SSL DN Precedence Mapping Example – Notes 
N 
O 
T 
E 
S 
 Not only do we define the order of precedence between the various different 
identifying characteristics of an inbound connection, we also must do a similar job 
for SSL Peer Name. 
 Here is an example to illustrate what happens when two partial patterns could both 
match an inbound Distinguished Name (DN) from a client. 
 We want the most specific match to be used, so we have defined a precedent order 
of what we mean by the most specific. 
 The table shown here that defines the precedence order is a subset of the contents 
of an SSL Peer Name in WebSphere MQ V7.1. It suffices to describe this example. 
For the full table of SSL Peer Name attributes, search the MQ Information Centre 
for “Distinguished Names”. 
© 2014 IBM Corporation
Connection Authentication – Configuration Granularity 
© 2014 IBM Corporation 
Application (User4) 
MQCONNX 
User3 + pwd3 
User's Digital 
Certificate 
Application (User2) 
CA Sig 
QMgr 
CHCKCLNT 
ASQMGR 
REQUIRED 
Clear Network 
Communications 
DEFINE AUTHINFO(USE.PW) AUTHTYPE(IDPWOS) 
CHCKCLNT(OPTIONAL) 
SET CHLAUTH(‘*’) TYPE(ADDRESSMAP) ADDRESS(‘*’) 
USERSRC(CHANNEL) CHCKCLNT(REQUIRED) 
SET CHLAUTH(‘*’) TYPE(SSLPEERMAP) 
SSLPEER(‘CN=*’) USERSRC(CHANNEL) 
MQRC_NOT_AUTHORIZED (2035) CHCKCLNT(ASQMGR) 
MQCONNX 
User1 + pwd1 
SSL/TLS Network 
Communications 
MQRC_NONE (0) 
REQDADM
Connection Authentication – Configuration Granularity 
N 
O 
T 
E 
S 
 MQ V8 introduces a new feature called Connection Authentication which allows the 
queue manager to be configured to check user ID and password provided by 
applications. 
 It is clear that a single switch – CHCKCLNT on the AUTHINFO object in use - to 
configure this for every single client application is not granular enough. So 
CHLAUTH is enhanced in MQ V8 to provide the ability to mandate password 
checking for some clients, for example, those not making use of SSL/TLS, and to 
indicate it is optional for others. 
 You can set the overall CHCKCLNT value to OPTIONAL, and then upgrade it to be 
more stringent for certain channels by setting CHCKCLNT to REQUIRED or 
REQDADM on the CHLAUTH rule. By default, CHLAUTH rules will run with 
CHCKCLNT(ASQMGR) so this granularity does not have to be used. 
© 2014 IBM Corporation
© 2014 IBM Corporation 
MQ Explorer 
 New concept 
 Wizard to walk you through the thought-process 
of creating a rule
© 2014 IBM Corporation 
MQ Explorer 
 New concept 
 Wizard to walk you through the thought-process 
of creating a rule
© 2014 IBM Corporation 
MQ Explorer 
 New concept 
 Wizard to walk you through the thought-process 
of creating a rule
© 2014 IBM Corporation 
MQ Explorer 
 New concept 
 Wizard to walk you through the thought-process 
of creating a rule
© 2014 IBM Corporation 
MQ Explorer 
 New concept 
 Wizard to walk you through the thought-process 
of creating a rule
© 2014 IBM Corporation 
MQ Explorer 
 New concept 
 Wizard to walk you through the thought-process 
of creating a rule
© 2014 IBM Corporation 
MQ Explorer 
 New concept 
 Wizard to walk you through the thought-process 
of creating a rule
© 2014 IBM Corporation 
MQ Explorer 
 New concept 
 Wizard to walk you through the thought-process 
of creating a rule
Channel Authentication – Configuration – Notes 
N 
O 
T 
E 
S 
 Additionally, the MQ Explorer GUI provides a wizard to walk you through the steps 
for setting up these rules and at the end of the wizard, the MQSC command that 
would do the same job as you have done in the wizard, is displayed in a window 
that you can cut’n’paste from to put the command into a script for future use. 
© 2014 IBM Corporation
SET CHLAUTH(*) TYPE(ADDRESSMAP) ADDRESS(‘*’) USERSRC(NOACCESS) WARN(YES) 
© 2014 IBM Corporation 
How should I use this? 
“We must make sure our system is completely locked down”
SET CHLAUTH(*) TYPE(ADDRESSMAP) ADDRESS(‘*’) USERSRC(NOACCESS) WARN(YES) 
SET CHLAUTH(BPCHL.*) TYPE(SSLPEERMAP) SSLPEER(‘O=Bank of Shetland’) MCAUSER(BANK123) 
SET CHLAUTH(BPCHL.*) TYPE(SSLPEERMAP) SSLPEER(‘O=Bank of Orkney’) MCAUSER(BANK456) 
“Our Business Partners must all connect using SSL, so we will map 
© 2014 IBM Corporation 
How should I use this? 
“We must make sure our system is completely locked down” 
their access from the certificate DNs”
SET CHLAUTH(*) TYPE(ADDRESSMAP) ADDRESS(‘*’) USERSRC(NOACCESS) WARN(YES) 
SET CHLAUTH(BPCHL.*) TYPE(SSLPEERMAP) SSLPEER(‘O=Bank of Shetland’) MCAUSER(BANK123) 
SET CHLAUTH(BPCHL.*) TYPE(SSLPEERMAP) SSLPEER(‘O=Bank of Orkney’) MCAUSER(BANK456) 
SET CHLAUTH(SYSTEM.ADMIN.SVRCONN) TYPE(ADDRESSMAP) 
ADDRESS(‘9.20.1-30.*’) CHCKCLNT(REQUIRED) MCAUSER(ADMUSER) 
“Our Administrators connect in using MQ Explorer, but don’t use 
SSL. We will map their access by IP Address and require them to 
“Our Business Partners must all connect using SSL, so we will map 
© 2014 IBM Corporation 
How should I use this? 
“We must make sure our system is completely locked down” 
their access from the certificate DNs” 
provide a username and password”
SET CHLAUTH(*) TYPE(ADDRESSMAP) ADDRESS(‘*’) USERSRC(NOACCESS) WARN(YES) 
SET CHLAUTH(BPCHL.*) TYPE(SSLPEERMAP) SSLPEER(‘O=Bank of Shetland’) MCAUSER(BANK123) 
SET CHLAUTH(BPCHL.*) TYPE(SSLPEERMAP) SSLPEER(‘O=Bank of Orkney’) MCAUSER(BANK456) 
SET CHLAUTH(SYSTEM.ADMIN.SVRCONN) TYPE(ADDRESSMAP) 
ADDRESS(‘9.20.1-30.*’) CHCKCLNT(REQUIRED) MCAUSER(ADMUSER) 
SET CHLAUTH(TO.CLUS.*) TYPE(QMGRMAP) 
QMNAME(CLUSQM*) MCAUSER(CLUSUSR) ADDRESS(‘*.datacenter.ibm.com’) 
“Our Administrators connect in using MQ Explorer, but don’t use 
SSL. We will map their access by IP Address and require them to 
“Our Business Partners must all connect using SSL, so we will map 
“Our internal cluster doesn’t use SSL, but we must ensure only the 
correct queue managers can connect into the cluster” 
© 2014 IBM Corporation 
How should I use this? 
“We must make sure our system is completely locked down” 
their access from the certificate DNs” 
provide a username and password”
SET CHLAUTH(*) TYPE(ADDRESSMAP) ADDRESS(‘*’) USERSRC(NOACCESS) WARN(YES) 
SET CHLAUTH(BPCHL.*) TYPE(SSLPEERMAP) SSLPEER(‘O=Bank of Shetland’) MCAUSER(BANK123) 
SET CHLAUTH(BPCHL.*) TYPE(SSLPEERMAP) SSLPEER(‘O=Bank of Orkney’) MCAUSER(BANK456) 
SET CHLAUTH(SYSTEM.ADMIN.SVRCONN) TYPE(ADDRESSMAP) 
ADDRESS(‘9.20.1-30.*’) CHCKCLNT(REQUIRED) MCAUSER(ADMUSER) 
SET CHLAUTH(TO.CLUS.*) TYPE(QMGRMAP) 
QMNAME(CLUSQM*) MCAUSER(CLUSUSR) ADDRESS(‘*.datacenter.ibm.com’) 
“Our Administrators connect in using MQ Explorer, but don’t use 
SSL. We will map their access by IP Address and require them to 
“Our Business Partners must all connect using SSL, so we will map 
“Our internal cluster doesn’t use SSL, but we must ensure only the 
correct queue managers can connect into the cluster” 
© 2014 IBM Corporation 
How should I use this? 
“We must make sure our system is completely locked down” 
their access from the certificate DNs” 
provide a username and password”
How should I use this? - Notes 
N 
O 
T 
E 
S 
 Here is an example of how we expect this to be used. 
 Our business requires that “We must make sure our system is completely locked down”. 
So we start off with a rule that blocks everyone. Therefore anyone that doesn’t match a 
more specific rule will not be allowed in. 
 Our business requires that “Our Business Partners must all connect using SSL, so we 
will map their access from the certificate DNs”. So we have some rules that map specific 
DNs of our Business Partners to specific user IDs. Previously you might have done this 
by having separate channel definitions for each BP, now if you wish they can come into 
the same receiver definition. 
 Our business requires that “Our Administrators connect in using MQ Explorer, but don’t 
use SSL. We will map their access by IP Address”. So we have a rule that gives them all 
a single administrative access user ID based on a range of IP addresses. 
 Our business requires that “Our internal cluster doesn’t use SSL, but we must ensure 
only the correct queue managers can connect into the cluster”. So we have a rule that 
gives access to the correctly named queue managers but only if they come from a 
recognised hostname. 
 Read more about this in a blog post here:- 
https://www.ibm.com/developerworks/community/blogs/aimsupport/entry/websphere_mq_chlauth_the_back_stop_rule 
© 2014 IBM Corporation
Blocking IP address -Which type to use? 
© 2014 IBM Corporation 
 Best practice block everything then 
ALLOW in specific connections 
 Use ADDRESSMAP to ensure you 
get good diagnostics 
 Use BLOCKADDR as a 
TEMPORARY place to put rogue IP 
addresses 
 that really ought to be in your firewall 
rules. 
 where its something that will soon be 
fixed 
 This list should be tending to zero! 
 Have a plan for the contents - don’t let it 
grow and grow 
SET CHLAUTH('*') TYPE(ADDRESSMAP) 
ADDRESS('1.2.3.4') 
USERSRC(NOACCESS) 
SET CHLAUTH('*') TYPE(BLOCKADDR) 
ADDRLIST('1.2.3.4')
Blocking IP address - Which type to use? - Notes 
N 
O 
T 
E 
S 
 This pages illustrates two ways to block IP addresses using CHLAUTH. Both of these examples achieve the 
same end goal, however, each mechanism has a specific purpose. 
Using TYPE(ADDRESSMAP) 
 This is the main way you should be setting up IP address rules with CHLAUTH. These rules are applied 
once data has been flowed so the channel name is available, although as the example above shows, you 
can still make rules to apply to all channels. This is the type you should use for the majority of your IP 
address blocking rules. When an inbound connection is blocked as a result of one of these rules, the error 
message that is written to your error log, and the event message that is written to the 
SYSTEM.ADMIN.CHANNEL.EVENT queue (if you have channel events enabled), will contain full details 
about the inbound connection that has been blocked. When thinking about creating CHLAUTH rules though, 
it is still better to think from the perspective of blocking everything and then allowing in specific addresses, 
as detailed on the previous page. 
Using TYPE(BLOCKADDR) 
 This type of CHLAUTH rule is applied to inbound connections before they send any data at all. Therefore, 
we do not know the channel name at this time. This is therefore used to block IP addresses that an banned 
across the board and are not allowed to connect in at all, over any channel. These blacklisted IP addresses 
are such that they should be caught by your IP firewall and never even make it as far as the MQ listener. 
However, it is common for updates to an IP firewall to take time to be put in place, and so using a 
TYPE(BLOCKADDR) CHLAUTH rule can bridge the gap from the time a rogue IP address is detected, to 
the time when the IP firewall is updated, at which point the TYPE(BLOCKADDR) rule can be removed 
again. So in short, this type of CHLAUTH rule is a temporary place that is under the control of the MQ 
administrator, to blacklist IP addresses until they are more permanently caught by the IP firewall. Keep an 
eye on your TYPE(BLOCKADDR) rule and ensure that there is always a plan for the IP addresses 
mentioned there - so that this list is not ever increasing in your MQ configuration. 
© 2014 IBM Corporation 
 See blog post:- 
https://www.ibm.com/developerworks/community/blogs/aimsupport/entry/blocking_ip_addresses_with_chlauth_which_type_to_use
DISPLAY CHLAUTH(SYSTEM.ADMIN.SVRCONN) MATCH(RUNCHECK) 
SSLPEER(‘CN=“Morag Hughson”, O=“IBM UK”’) 
CLNTUSER(‘mhughson’) ADDRESS(‘9.180.165.163’) 
CHLAUTH(SYSTEM.ADMIN.SVRCONN) 
TYPE(ADDRESSMAP) 
ADDRESS(‘*.ibm.com’) MCAUSER(HUGHSON) 
© 2014 IBM Corporation 
What happens if…? 
returns === 
 MATCH(RUNCHECK) 
mandates an IP address is provided 
 Then the queue manager will employ 
DNS to find the hostname 
 MATCH(RUNCHECK) thus also tests 
whether your DNS is correctly set up. 
Chl: SYSTEM.ADMIN.SVRCONN 
DN: CN=Morag Hughson.O=IBM UK 
UID: mhughson 
IP: 9.180.165.163 
Hostname: mh.ibm.com
What happens if…? - Notes 
N 
O 
T 
E 
S 
 Here is an example of the special matching version of the DISPLAY command to 
show exactly what would happen should a channel matching these identifying 
attributes, connect into the system. This should serve as a useful testing tool, 
service aid, and validation tool, although we would of course recommend not 
creating such complicated rules that you need it in the first place! 
 As we noted earlier, the hostname is not one of those pieces of information, the 
queue manager has to go and find that information out from the Domain Name 
System (DNS) Server. 
 So when providing information into the MATCH(RUNCHECK) command, you 
provide the IP address. The queue manager will then make the call to DNS as it 
would if the real inbound connection appeared and find out what the hostname is, 
then run the matching against the rules. If it was able to find out a hostname then it 
will match against a hostname rules, but if it was not, then it won’t. 
 If you have your queue manager configured to use REVDNS(DISABLED) and you 
also have some CHLAUTH rules that use hostnames, then a message will appear 
along with the output of the MATCH(RUNCHECK) display in rather the same way 
that it warns you that CHLAUTH is DISABLED. 
 Thus DISPLAY CHLAUTH MATCH(RUNCHECK) can help you to determine 
whether your reverse look-up for particular IP addresses is likely to work. 
© 2014 IBM Corporation
SET CHLAUTH(‘*’) TYPE(BLOCKUSER) USERLIST(‘*MQADMIN’) 
SET CHLAUTH(‘SYSTEM.*’) TYPE(ADDRESSMAP) 
ADDRESS(‘*’) USERSRC(NOACCESS) 
SET CHLAUTH(SYSTEM.ADMIN.SVRCONN) TYPE(ADDRESSMAP) ADDRESS(‘*’) 
USERSRC(CHANNEL) 
© 2014 IBM Corporation 
Out of the Box 
 We supply these rules out-of-the-box. 
 For all channels, ban the assertion of privileged users by inbound channels. 
 For all SYSTEM channels except SYSTEM.ADMIN.SVRCONN (the 
MQ Explorer GUI channel), ban anyone from using them. 
 Difficult to supply any default rules regarding IP addresses and SSL Peer Names since they 
are very installation specific. 
 Enabling Switch ALTER QMGR CHLAUTH(ENABLED|DISABLED) different for Migrated or 
New Queue Manager
Out of the Box - Notes 
N 
O 
T 
E 
S 
 Out of the box we supply some rules. 
 The first is a rule which bans privileged users and blank users from being asserted 
by connecting inbound channels. This rule may break some channels, but it will 
secure many more channels than it breaks so we believe it to be a worthwhile out-of- 
© 2014 IBM Corporation 
the-box position. 
 The second rules secures the use of SYSTEM channels by disallowing any address 
from connecting. This stops hackers from connecting in to the 
SYSTEM.DEF.RECEIVER for example. It also locks down the 
SYSTEM.DEF.SVRCONN which will hit lots of people initially! 
 The third rule allows the SYSTEM.ADMIN.SVRCONN but it will still be affected by 
the first rule if you try to use a privileged user ID, so some work must be done to 
provide a user ID that has access to do what is needed. 
 There is a queue manager switch which determines whether CHLAUTH rules are 
acted upon (it does not stop the commands from be used though). This switch is 
ENABLED for new queue managers, and DISABLED for migrated queue 
managers.
© 2014 IBM Corporation 
Privileged Users 
 Banned by default 
 Applies to all channels 
 What if you want to allow some? 
 Over-ride on one specific channel 
 With authentication 
 SSL/TLS 
 User  Password validation 
 IP address checking (not really 
authentication!) 
SET CHLAUTH(‘*’) 
TYPE(BLOCKUSER) 
USERLIST(‘*MQADMIN’) 
SET CHLAUTH(MY.SVRCONN) 
TYPE(BLOCKUSER) 
USERLIST(‘rubbish’) 
SET CHLAUTH(MY.SVRCONN) 
TYPE(SSLPEERMAP) 
SSLPEER('CN=Admin') 
ADDRESS('1.2.3.4') 
USERSRC(CHANNEL) 
DESCR('SSL auth for admins')
Privileged Users - Notes 
N 
O 
T 
E 
S 
 Users of MQ in the few releases may have noticed a crack-down on remotely connecting 
privileged users! By a privileged user I mean one that has full access rights, sometimes called 
an ‘mqm’ user due to the Unix user of the same name and the group membership which 
conveys this full access privilege. 
 Privileged users are part of the distributed platform MQ world, however although use for 
running queue managers and making administrative changes locally on the box with the 
queue manager, we consider them to be a risk when connecting remotely, i.e. with a client 
connection. 
 So in MQ V7.1, remote privileged users were banned by default out of the box with the special 
*MQADMIN value making it easy to use one different platforms. As an aside, in MQ V8 the 
Connection Authentication feature also mandates a user ID and password for privileged users 
as a default stance too. We’re serious about this folks! 
 You may wish to continue to allow some privileged users to connect is, but only over a certain 
channel, and only when they have, for example, authenticated in some way, e.g. by a 
SSL/TLS digital certificate, or at the very least with a password (MQ V8). 
 Rather than removing the default ‘*MQADMIN’ rule, you can over-ride it on one specific 
channel by adding an additional rule to provide an alternate BLOCKUSER list for that channel 
alone. Unfortunately having an empty BLOCKUSER list does not cause an over-ride, so you 
need to put something in it. The suggestion is to use a user ID like ‘rubbish’. 
 See also blog post:- 
https://www.ibm.com/developerworks/community/blogs/aimsupport/entry/chlauth_allow_some_privileged_a 
dmins 
© 2014 IBM Corporation
ALTER QMGR CHLEV(ENABLED|EXCEPTION) 
© 2014 IBM Corporation 
Events 
 Command events (as normal) 
 Configuration events (as normal) 
 Channel event 
 Controlled by existing 
switch 
 Considered to be an EXCEPTION 
 Written to existing queue 
 One event for each type 
of connection refusal 
 MQRC_CHANNEL_BLOCKED 
MQRC_CHANNEL_BLOCKED_WARN 
 MQRQ_CHANNEL_BLOCKED_ADDRESS 
 MQRQ_CHANNEL_BLOCKED_USERID 
 MQRQ_CHANNEL_BLOCKED_NOACCESS 
SYSTEM.ADMIN.CHANNEL.EVENT
N 
O 
T 
E 
S 
© 2014 IBM Corporation 
Events - Notes 
 These commands will generate command events and configuration events 
(assuming that these events are enabled by the existing CMDEV and CONFIGEV 
switches). 
 There are some new events to record whenever an inbound connection attempt is 
blocked. Controlled by the current CHLEV switch (and considered to be an 
EXCEPTION) this new event message will be issued to the 
SYSTEM.ADMIN.CHANNEL.EVENT queue when a channel or listener blocks an 
attempt to connect. 
 The reason qualifier of the event message can be 
– MQRQ_CHANNEL_BLOCKED_ADDRESS 
Channel was blocked due to its IP address being in the list to be refused. 
– MQRQ_CHANNEL_BLOCKED_USERID 
Channel was blocked due to its asserted (or mapped) user ID being in the list to be refused. 
– MQRQ_CHANNEL_BLOCKED_NOACCESS 
Channel was blocked due to its identity (e.g. IP address or SSL Peer name) being mapped to a rule that 
says it is to be blocked.
Updating CHLAUTH rules 
SET CHLAUTH(APP1.*) USERSRC(MAP) 
TYPE(SSLPEERMAP) MCAUSER(‘hughson’) 
SSLPEER(‘CN=Morag’) 
ADDRESS(‘1.2.3.4’) 
SET CHLAUTH(ADMIN.SVRCONN) USERSRC(CHANNEL) 
TYPE(ADDRESSMAP) CHCKCLNT(REQUIRED) 
© 2014 IBM Corporation 
Key Fields 
ADDRESS(‘*.ibm.com’) 
User ID  
Password 
Source of Mapped ID 
ID 
Address 
(restrictor) 
Value(s) for 
type 
Channel Type 
Name 
SET CHLAUTH(‘APP1.*’) TYPE(SSLPEERMAP) SSLPEER(‘CN=Morag’) ADDRESS(‘1.2.3.4’) 
ACTION(REMOVE) 
SET CHLAUTH(ADMIN.SVRCONN) TYPE(ADDRESSMAP) ADDRESS(‘*.ibm.com’) 
USERSRC(MAP) MCAUSER(‘IBMUSER’) ACTION(REPLACE) 
SET CHLAUTH(‘APP1.*’) TYPE(SSLPEERMAP) 
ACTION(REMOVEALL) 
All the key 
fields
Updating CHLAUTH rules - Notes 
N 
O 
T 
E 
S 
 You can make changes to, or delete, pre-existing CHLAUTH rules. One way to do this is of 
course via a GUI which allows you to do this easily - click on the thing you want and edit 
away. 
 You can also do this with MQSC commands in a script, and its here that you probably need to 
be more aware of the key fields in a CHLAUTH rule. 
 Clearly there is a channel name pattern that is a key field in the CHLAUTH rule, but as you 
have no doubt noticed, you can have several rules all using the same channel name. Clearly 
this field on its own is not enough to identify a specific rule that you wish to edit or delete. 
 The type is another, perhaps obvious key field, so this is needed to identify the specific rule 
that you wish to edit or delete as well. But that is still not enough. You could for example have 
multiple TYPE(SSLPEERMAP) rules on one specific channel - perhaps assigning different 
MCAUSERs for each certificate presented. 
 You also need some other key fields, and in fact you need everything on the left hand side of 
the page to uniquely identify the rule you wish to edit or delete. This is also the same set of 
fields that you cannot duplicate. You cannot, for example, have two rules for the same 
certifiate DN, mapping to different MCAUSERs. MQ wouldn’t know which one to apply, so we 
disallow you from defining two the same. 
 If you want to remove all the rules you have put in place for a particular channel name pattern 
and TYPE, you can omit the remainder of the key fields when using ACTION(REMOVEALL). 
© 2014 IBM Corporation
Updating CHLAUTH List rules 
ACTION value Result  For TYPE(BLOCKUSER) and 
Clear out the list - 
and thus remove 
the record 
© 2014 IBM Corporation 
REPLACE(empty list) 
Clear out the list - 
and thus remove 
the record 
REMOVE(last member) 
Clear out the list - 
and thus remove 
the record 
REMOVEALL 
You provide the 
whole list you want 
REPLACE 
Removes the 
specified member 
to the list 
REMOVE 
Adds the specified 
member to the list 
ADD 
TYPE(BLOCKADDR) rules, i.e. those with 
lists 
 USERLIST 
 ADDRLIST 
SET CHLAUTH(‘*’) TYPE(BLOCKUSER) 
USERLIST(‘*MQADMIN’,‘Morag’) 
ACTION(REPLACE) 
SET CHLAUTH(‘*’) TYPE(BLOCKUSER) 
USERLIST(‘hughson’) ACTION(ADD) 
SET CHLAUTH(‘*’) TYPE(BLOCKUSER) 
USERLIST(‘*MQADMIN’) 
ACTION(REMOVE) 
SET CHLAUTH(‘*’) TYPE(BLOCKUSER) 
ACTION(REMOVEALL)
Updating CHLAUTH List rules 
N 
O 
T 
E 
S 
 On the previous page we discussed the key fields in the main set of CHLAUTH 
rules, the MAP types of rules. 
 There are also two other CHLAUTH rules types which I’ll call the LIST types. 
BLOCKUSER and BLOCKADDR. This page looks at updating those rules via 
MQSC scripts. 
 We were conscious when creating CHLAUTH list rules that we didn’t want to go 
down the same route as the NAMELIST object in MQ, where to add a name to the 
list of names, you must provide the whole list. Instead the ACTION field allows you 
to ADD a single member to the list, REMOVE a single member from the list, 
REPLACE the list completely (aka the NAMELIST model) and REMOVEALL to 
clear out the list completely. 
© 2014 IBM Corporation
AMQ9777: Channel was blocked 
EXPLANATION: 
The inbound channel 'SYSTEM.DEF.SVRCONN' was blocked from address 
'mhughson.ibm.com(9.180.165.163)' because the active values of the channel matched a record 
configured with USERSRC(NOACCESS) 
NOACCESS). The active values of the channel were 
'CLNTUSER(hughson) ADDRESS(mhughson.ibm.com, morag.hursley.ibm.com)'. 
‘‘9.180.165.163’ CLNTUSER(‘hughson’) 
© 2014 IBM Corporation 
Troubleshooting 
DISPLAY CHLAUTH( ’SYSTEM.DEF.SVRCONN’ 
) MATCH(RUNCHECK) 
ADDRESS( ‘9.180.165.163’ ) ALL 
AMQ8878: Display channel authentication record details. 
CHLAUTH(SYSTEM.*) TYPE(ADDRESSMAP) 
DESCR(Default rule to disable all SYSTEM channels) 
CUSTOM( ) ADDRESS(*) 
USERSRC(NOACCESS) 
WARN(NO) 
ALTDATE(2013-09-03) ALTTIME(12.20.25) 
Descriptions are Good!!
Troubleshooting – Notes 
N 
O 
T 
E 
S 
 Most people’s first experience of Channel Authentication Records is being blocked by them, 
so very quickly people learn how to issue the command:- 
© 2014 IBM Corporation 
– ALTER QMGR CHLAUTH(DISABLED) 
 However, working out why you have been blocked is not really that difficult – all the 
information you need is provided, so instead why not add in the rule that allows you in, instead 
of turning it all off? 
 When an inbound connection is blocked, an error is written to the AMQERR01.LOG (or 
CHINIT joblog on z/OS) indicating that is was blocked and providing additional information 
describing exactly the inbound connection. As we’ve just seen, this information is also written 
to the event queue. You can use this information to work out exactly why it was blocked. 
 In WebSphere MQ V8, this message will also now contain the hostname (possibly several) that go 
with the IP address, assuming that we have been able to find one. The description of the message 
will indicate that if a hostname is not shown this implies that either REVDNS is DISABLED or that 
reverse DNS lookup was unable to obtain a hostname for this IP address. 
 We saw an example earlier of the DISPLAY CHLAUTH command running in the 
MATCH(RUNCHECK) mode. We can use this command with the information from the error 
message (or event message) to determine exactly which rule caused the connection to be 
blocked. 
 This also shows why it is so useful to make use of the description field when putting your rules 
in place. 
 Read more about this in a blog post:- 
https://www.ibm.com/developerworks/community/blogs/aimsupport/entry/blocked_by_chlauth_why
Channel Authentication Records - Recap 
 Set rules to control how inbound connections are treated 
 Inbound Clients 
 Inbound QMgr to QMgr channels 
 Other rogue connections causing FDCs 
© 2014 IBM Corporation 
 Rules can be set to 
 Allow a connection 
 Allow a connection and assign an MCAUSER 
 Block a connection 
 Ban privileged access 
 Provide multiple positive or negative SSL/TLS Distinguished Name matching 
 Mandate user ID  password checking 
 Rules can use any of the following identifying 
characteristics of the inbound connection 
 IP Address 
 Hostnames 
 SSL/TLS Subject’s Distinguished Name 
 SSL/TLS Issuer’s Distinguished Name 
 Client asserted user ID 
 Remote queue manager name
N 
O 
T 
E 
S 
© 2014 IBM Corporation 
Recap 
 We saw this page at the beginning, but we will use it again as a summary. We have 
learned today how to use this feature which was introduced in WebSphere MQ V7.1 
to control how our inbound connections will behave. 
 We have seen a number of new features added to CHLAUTH in MQ V8 (these are 
highlighted in red on this page).
For Additional Information 
© 2014 IBM Corporation 
 IBM Training 
 http://www.ibm.com/training 
 IBM WebSphere 
 http://www.ibm.com/software/websphere/ 
 http://www.ibm.com/software/products/ibm-mq 
 IBM developerWorks 
 http://www.ibm.com/developerworks/websphere 
 https://www.ibm.com/developerworks/community/blogs/messaging 
 WebSphere forums and community 
 http://www.ibm.com/developerworks/websphere/community/
IBM MQ Sessions this week 
10:30 9:00 - 10:00 - 11:30 11:45 - 12:45 14:00 - 15:00 15:15 - 16:15 16:45 - 17:45 
© 2014 IBM Corporation 
Session A35: How to 
Develop Responsive 
Applications with IBM 
MQ Light 
Speaker: Rob Nicholson 
Room 27 
Session A9: WebSphere MQ 
for z/OS: The Inside Story 
Speaker: Damon Cross 
Room 6 
Session A16: Using 
IBM MQ Pub/Sub in 
an MQ network 
Speaker: David Ware 
Room 6 
Session A21: What's 
New in IBM Messaging 
Speaker: Morag Hughson 
Room 8 
Lab AL6: Developing a First Application with 
IBM WebSphere MQ Light 
Speakers: Robert Nicholson, Alex Ross 
Room 7b 
Friday 
Session A18: Using Publish 
/Subscribe with IBM MQ 
Speaker: David Ware 
Room 27 
Session A3: WebSphere 
MQ for z/OS: Shared 
Queues 
Speaker: Alex Ross 
Room 6 
Session A22: New IBM 
MQ V8 Security 
Features 
Speaker: Morag Hughson 
Room 01 
Thursday 
Lab IL5: DataPower-MQ Connectivity Deep Dive 
(Hands-On) 
Speaker: Robin Wiley 
Room 7b 
Session A17: Managing 
work-loads, scaling and 
availability with IBM MQ 
clusters 
Speaker: David Ware 
Room 6 
Session C7: 
Messaging in the 
Cloud with IBM MQ 
Light and IBM Bluemix 
Speaker: Rob Nicholson 
Room 27 
Session Z5: 
WebSphere MQ for 
z/OS: Security 
Speaker: Damon Cross 
Room 02 
Wednesday 
Session Z1: WebSphere MQ 
for z/OS V8: Latest Features 
Deep Dive 
Speaker: Damon Cross 
Room 6 
Session I26: DataPower- 
MQ Connectivity Deep 
Dive (Theory) 
Speaker: Robin Wiley 
Room 27 
Session A4: WebSphere 
MQ for z/OS: Performance 
and Accounting 
Speaker: Alexander Ross 
Room 8 
Session A31: IBM MQ 
CHLAUTH rules – with 
MQ V8 updates 
Speaker: Morag Hughson 
Room 02 
Opening General Session- IBM Digital 
Experience and WebSphere Technical 
University 
Tuesday 
10:30 - 12:00 13:15 - 14:15 14:30 - 15:30 16:00 - 17:00 17:15 - 18:15
Questions  Answers

More Related Content

What's hot

Kerberos authentication
Kerberos authenticationKerberos authentication
Kerberos authenticationSuraj Singh
 
Centralize and Simplify Secrets Management for Red Hat OpenShift Container En...
Centralize and Simplify Secrets Management for Red Hat OpenShift Container En...Centralize and Simplify Secrets Management for Red Hat OpenShift Container En...
Centralize and Simplify Secrets Management for Red Hat OpenShift Container En...DevOps.com
 
Where is my MQ message on z/OS?
Where is my MQ message on z/OS?Where is my MQ message on z/OS?
Where is my MQ message on z/OS?Matt Leming
 
What's new with MQ on z/OS 9.3 and 9.3.1
What's new with MQ on z/OS 9.3 and 9.3.1What's new with MQ on z/OS 9.3 and 9.3.1
What's new with MQ on z/OS 9.3 and 9.3.1Matt Leming
 
Websphere MQ admin guide
Websphere MQ admin guideWebsphere MQ admin guide
Websphere MQ admin guideRam Babu
 
IBM MQ Overview (IBM Message Queue)
IBM MQ Overview (IBM Message Queue)IBM MQ Overview (IBM Message Queue)
IBM MQ Overview (IBM Message Queue)Juarez Junior
 
IBM MQ High Availability 2019
IBM MQ High Availability 2019IBM MQ High Availability 2019
IBM MQ High Availability 2019David Ware
 
Cisco Connect Toronto 2018 dc-aci-anywhere
Cisco Connect Toronto 2018   dc-aci-anywhereCisco Connect Toronto 2018   dc-aci-anywhere
Cisco Connect Toronto 2018 dc-aci-anywhereCisco Canada
 
Brute force-attack presentation
Brute force-attack presentationBrute force-attack presentation
Brute force-attack presentationMahmoud Ibra
 
Building an Active-Active IBM MQ System
Building an Active-Active IBM MQ SystemBuilding an Active-Active IBM MQ System
Building an Active-Active IBM MQ Systemmatthew1001
 
The WAF book (Web App Firewall )
The WAF book  (Web App Firewall )The WAF book  (Web App Firewall )
The WAF book (Web App Firewall )Lior Rotkovitch
 
IBM Websphere MQ Basic
IBM Websphere MQ BasicIBM Websphere MQ Basic
IBM Websphere MQ BasicPRASAD BHATKAR
 
F5 Networks: architecture and risk management
F5 Networks: architecture and risk managementF5 Networks: architecture and risk management
F5 Networks: architecture and risk managementAEC Networks
 
Cloudflare로 DDoS 방어하기 실전편
Cloudflare로 DDoS 방어하기 실전편Cloudflare로 DDoS 방어하기 실전편
Cloudflare로 DDoS 방어하기 실전편Jean Ryu
 
Ssl (Secure Sockets Layer)
Ssl (Secure Sockets Layer)Ssl (Secure Sockets Layer)
Ssl (Secure Sockets Layer)Asad Ali
 
Ruby on Rails Penetration Testing
Ruby on Rails Penetration TestingRuby on Rails Penetration Testing
Ruby on Rails Penetration Testing3S Labs
 
Controlling access to your IBM MQ System
Controlling access to your IBM MQ SystemControlling access to your IBM MQ System
Controlling access to your IBM MQ SystemRobert Parker
 

What's hot (20)

Kerberos authentication
Kerberos authenticationKerberos authentication
Kerberos authentication
 
Centralize and Simplify Secrets Management for Red Hat OpenShift Container En...
Centralize and Simplify Secrets Management for Red Hat OpenShift Container En...Centralize and Simplify Secrets Management for Red Hat OpenShift Container En...
Centralize and Simplify Secrets Management for Red Hat OpenShift Container En...
 
Where is my MQ message on z/OS?
Where is my MQ message on z/OS?Where is my MQ message on z/OS?
Where is my MQ message on z/OS?
 
What's new with MQ on z/OS 9.3 and 9.3.1
What's new with MQ on z/OS 9.3 and 9.3.1What's new with MQ on z/OS 9.3 and 9.3.1
What's new with MQ on z/OS 9.3 and 9.3.1
 
Websphere MQ admin guide
Websphere MQ admin guideWebsphere MQ admin guide
Websphere MQ admin guide
 
IBM MQ Overview (IBM Message Queue)
IBM MQ Overview (IBM Message Queue)IBM MQ Overview (IBM Message Queue)
IBM MQ Overview (IBM Message Queue)
 
IBM MQ High Availability 2019
IBM MQ High Availability 2019IBM MQ High Availability 2019
IBM MQ High Availability 2019
 
Cisco Connect Toronto 2018 dc-aci-anywhere
Cisco Connect Toronto 2018   dc-aci-anywhereCisco Connect Toronto 2018   dc-aci-anywhere
Cisco Connect Toronto 2018 dc-aci-anywhere
 
Brute force-attack presentation
Brute force-attack presentationBrute force-attack presentation
Brute force-attack presentation
 
Building an Active-Active IBM MQ System
Building an Active-Active IBM MQ SystemBuilding an Active-Active IBM MQ System
Building an Active-Active IBM MQ System
 
SSH : Secure Shell
SSH : Secure ShellSSH : Secure Shell
SSH : Secure Shell
 
The WAF book (Web App Firewall )
The WAF book  (Web App Firewall )The WAF book  (Web App Firewall )
The WAF book (Web App Firewall )
 
IBM Websphere MQ Basic
IBM Websphere MQ BasicIBM Websphere MQ Basic
IBM Websphere MQ Basic
 
F5 Networks: architecture and risk management
F5 Networks: architecture and risk managementF5 Networks: architecture and risk management
F5 Networks: architecture and risk management
 
Cloudflare로 DDoS 방어하기 실전편
Cloudflare로 DDoS 방어하기 실전편Cloudflare로 DDoS 방어하기 실전편
Cloudflare로 DDoS 방어하기 실전편
 
Ssl (Secure Sockets Layer)
Ssl (Secure Sockets Layer)Ssl (Secure Sockets Layer)
Ssl (Secure Sockets Layer)
 
Liferay and Cloud
Liferay and CloudLiferay and Cloud
Liferay and Cloud
 
Ssh
SshSsh
Ssh
 
Ruby on Rails Penetration Testing
Ruby on Rails Penetration TestingRuby on Rails Penetration Testing
Ruby on Rails Penetration Testing
 
Controlling access to your IBM MQ System
Controlling access to your IBM MQ SystemControlling access to your IBM MQ System
Controlling access to your IBM MQ System
 

Viewers also liked

Let’s Get Cirrus About Personal Clouds
Let’s Get Cirrus About Personal CloudsLet’s Get Cirrus About Personal Clouds
Let’s Get Cirrus About Personal CloudsT.Rob Wyatt
 
What I did on my summer vacation (in Hursley)
What I did on my summer vacation (in Hursley)What I did on my summer vacation (in Hursley)
What I did on my summer vacation (in Hursley)T.Rob Wyatt
 
WMQ Toolbox: 20 Scripts, One-liners, & Utilities for UNIX & Windows
WMQ Toolbox: 20 Scripts, One-liners, & Utilities for UNIX & Windows WMQ Toolbox: 20 Scripts, One-liners, & Utilities for UNIX & Windows
WMQ Toolbox: 20 Scripts, One-liners, & Utilities for UNIX & Windows T.Rob Wyatt
 
Build and Operate Your Own Certificate Management Center of Mediocrity
Build and Operate Your Own Certificate Management Center of MediocrityBuild and Operate Your Own Certificate Management Center of Mediocrity
Build and Operate Your Own Certificate Management Center of MediocrityT.Rob Wyatt
 
IBM MQ v8 and JMS 2.0
IBM MQ v8 and JMS 2.0IBM MQ v8 and JMS 2.0
IBM MQ v8 and JMS 2.0Matthew White
 

Viewers also liked (6)

IBM MQ V8 Security
IBM MQ V8 SecurityIBM MQ V8 Security
IBM MQ V8 Security
 
Let’s Get Cirrus About Personal Clouds
Let’s Get Cirrus About Personal CloudsLet’s Get Cirrus About Personal Clouds
Let’s Get Cirrus About Personal Clouds
 
What I did on my summer vacation (in Hursley)
What I did on my summer vacation (in Hursley)What I did on my summer vacation (in Hursley)
What I did on my summer vacation (in Hursley)
 
WMQ Toolbox: 20 Scripts, One-liners, & Utilities for UNIX & Windows
WMQ Toolbox: 20 Scripts, One-liners, & Utilities for UNIX & Windows WMQ Toolbox: 20 Scripts, One-liners, & Utilities for UNIX & Windows
WMQ Toolbox: 20 Scripts, One-liners, & Utilities for UNIX & Windows
 
Build and Operate Your Own Certificate Management Center of Mediocrity
Build and Operate Your Own Certificate Management Center of MediocrityBuild and Operate Your Own Certificate Management Center of Mediocrity
Build and Operate Your Own Certificate Management Center of Mediocrity
 
IBM MQ v8 and JMS 2.0
IBM MQ v8 and JMS 2.0IBM MQ v8 and JMS 2.0
IBM MQ v8 and JMS 2.0
 

Similar to WebSphere MQ CHLAUTH - including V8 changes

CTU 2017 I173 - how to transform your messaging environment to a secure messa...
CTU 2017 I173 - how to transform your messaging environment to a secure messa...CTU 2017 I173 - how to transform your messaging environment to a secure messa...
CTU 2017 I173 - how to transform your messaging environment to a secure messa...Robert Parker
 
3429 How to transform your messaging environment to a secure messaging envi...
3429   How to transform your messaging environment to a secure messaging envi...3429   How to transform your messaging environment to a secure messaging envi...
3429 How to transform your messaging environment to a secure messaging envi...Robert Parker
 
MQ Security Overview
MQ Security OverviewMQ Security Overview
MQ Security OverviewMarkTaylorIBM
 
IBM MQ V8 Security: Latest Features Deep-Dive
IBM MQ V8 Security: Latest Features Deep-DiveIBM MQ V8 Security: Latest Features Deep-Dive
IBM MQ V8 Security: Latest Features Deep-DiveMorag Hughson
 
Cohesive Networks Support Docs: VNS3 version 3.5+ API Guide
Cohesive Networks Support Docs: VNS3 version 3.5+ API Guide Cohesive Networks Support Docs: VNS3 version 3.5+ API Guide
Cohesive Networks Support Docs: VNS3 version 3.5+ API Guide Cohesive Networks
 
siemens-tcp-ip-ethernet-manual.pdf
siemens-tcp-ip-ethernet-manual.pdfsiemens-tcp-ip-ethernet-manual.pdf
siemens-tcp-ip-ethernet-manual.pdfTestGg1
 
Wap Security Arch Presentation
Wap Security Arch PresentationWap Security Arch Presentation
Wap Security Arch PresentationRam Dutt Shukla
 
IBM MQ Security Deep Dive
IBM MQ Security Deep DiveIBM MQ Security Deep Dive
IBM MQ Security Deep DiveIBM Systems UKI
 
Cohesive Networks Support Docs: VNS3 Administration
Cohesive Networks Support Docs: VNS3 AdministrationCohesive Networks Support Docs: VNS3 Administration
Cohesive Networks Support Docs: VNS3 AdministrationCohesive Networks
 
Dynamic Service Chaining
Dynamic Service Chaining Dynamic Service Chaining
Dynamic Service Chaining Tail-f Systems
 
How to set ssh telnet-http connection timeout using mpf for asa 8.3 and later
How to set ssh telnet-http connection timeout using mpf for asa 8.3 and laterHow to set ssh telnet-http connection timeout using mpf for asa 8.3 and later
How to set ssh telnet-http connection timeout using mpf for asa 8.3 and latercandy tang
 
Рекомендации по настройке контроллеров БЛВС Cisco
Рекомендации по настройке контроллеров БЛВС CiscoРекомендации по настройке контроллеров БЛВС Cisco
Рекомендации по настройке контроллеров БЛВС CiscoCisco Russia
 
Diameter Presentation
Diameter PresentationDiameter Presentation
Diameter PresentationBeny Haddad
 
5 ip security ipsec gre
5 ip security ipsec gre5 ip security ipsec gre
5 ip security ipsec greSagarR24
 
Introducing TR-069 - An Axiros Workshop for the TR-069 Protocol - Part 1
Introducing TR-069 - An Axiros Workshop for the TR-069 Protocol - Part 1Introducing TR-069 - An Axiros Workshop for the TR-069 Protocol - Part 1
Introducing TR-069 - An Axiros Workshop for the TR-069 Protocol - Part 1Axiros
 

Similar to WebSphere MQ CHLAUTH - including V8 changes (20)

CTU 2017 I173 - how to transform your messaging environment to a secure messa...
CTU 2017 I173 - how to transform your messaging environment to a secure messa...CTU 2017 I173 - how to transform your messaging environment to a secure messa...
CTU 2017 I173 - how to transform your messaging environment to a secure messa...
 
3429 How to transform your messaging environment to a secure messaging envi...
3429   How to transform your messaging environment to a secure messaging envi...3429   How to transform your messaging environment to a secure messaging envi...
3429 How to transform your messaging environment to a secure messaging envi...
 
MQ Security Overview
MQ Security OverviewMQ Security Overview
MQ Security Overview
 
IBM MQ V8 Security: Latest Features Deep-Dive
IBM MQ V8 Security: Latest Features Deep-DiveIBM MQ V8 Security: Latest Features Deep-Dive
IBM MQ V8 Security: Latest Features Deep-Dive
 
Cohesive Networks Support Docs: VNS3 version 3.5+ API Guide
Cohesive Networks Support Docs: VNS3 version 3.5+ API Guide Cohesive Networks Support Docs: VNS3 version 3.5+ API Guide
Cohesive Networks Support Docs: VNS3 version 3.5+ API Guide
 
ASA CSC Module
ASA CSC Module ASA CSC Module
ASA CSC Module
 
siemens-tcp-ip-ethernet-manual.pdf
siemens-tcp-ip-ethernet-manual.pdfsiemens-tcp-ip-ethernet-manual.pdf
siemens-tcp-ip-ethernet-manual.pdf
 
Wap Security Arch Presentation
Wap Security Arch PresentationWap Security Arch Presentation
Wap Security Arch Presentation
 
IBM MQ Security Deep Dive
IBM MQ Security Deep DiveIBM MQ Security Deep Dive
IBM MQ Security Deep Dive
 
Cohesive Networks Support Docs: VNS3 Administration
Cohesive Networks Support Docs: VNS3 AdministrationCohesive Networks Support Docs: VNS3 Administration
Cohesive Networks Support Docs: VNS3 Administration
 
Dynamic Service Chaining
Dynamic Service Chaining Dynamic Service Chaining
Dynamic Service Chaining
 
How to set ssh telnet-http connection timeout using mpf for asa 8.3 and later
How to set ssh telnet-http connection timeout using mpf for asa 8.3 and laterHow to set ssh telnet-http connection timeout using mpf for asa 8.3 and later
How to set ssh telnet-http connection timeout using mpf for asa 8.3 and later
 
Рекомендации по настройке контроллеров БЛВС Cisco
Рекомендации по настройке контроллеров БЛВС CiscoРекомендации по настройке контроллеров БЛВС Cisco
Рекомендации по настройке контроллеров БЛВС Cisco
 
8 ways security_wireless
8 ways security_wireless8 ways security_wireless
8 ways security_wireless
 
Diameter Presentation
Diameter PresentationDiameter Presentation
Diameter Presentation
 
5 ip security ipsec gre
5 ip security ipsec gre5 ip security ipsec gre
5 ip security ipsec gre
 
Vpn addind technique
Vpn addind techniqueVpn addind technique
Vpn addind technique
 
Aruba Instant 6.4.0.2-4.1 Command Line Interface Reference Guide
Aruba Instant 6.4.0.2-4.1 Command Line Interface Reference GuideAruba Instant 6.4.0.2-4.1 Command Line Interface Reference Guide
Aruba Instant 6.4.0.2-4.1 Command Line Interface Reference Guide
 
Mobility switch security architecture scott calzia madani adjali
Mobility switch security architecture scott calzia madani adjaliMobility switch security architecture scott calzia madani adjali
Mobility switch security architecture scott calzia madani adjali
 
Introducing TR-069 - An Axiros Workshop for the TR-069 Protocol - Part 1
Introducing TR-069 - An Axiros Workshop for the TR-069 Protocol - Part 1Introducing TR-069 - An Axiros Workshop for the TR-069 Protocol - Part 1
Introducing TR-069 - An Axiros Workshop for the TR-069 Protocol - Part 1
 

More from Morag Hughson

Where is My Message?: Use MQ Tools to Work Out What Applications Have Done
Where is My Message?: Use MQ Tools to Work Out What Applications Have DoneWhere is My Message?: Use MQ Tools to Work Out What Applications Have Done
Where is My Message?: Use MQ Tools to Work Out What Applications Have DoneMorag Hughson
 
Secure Your Messages with IBM MQ Advanced Message Security
Secure Your Messages with IBM MQ Advanced Message SecuritySecure Your Messages with IBM MQ Advanced Message Security
Secure Your Messages with IBM MQ Advanced Message SecurityMorag Hughson
 
DataPower-MQ Integration Deep Dive
DataPower-MQ Integration Deep DiveDataPower-MQ Integration Deep Dive
DataPower-MQ Integration Deep DiveMorag Hughson
 
What's New in IBM Messaging
What's New in IBM MessagingWhat's New in IBM Messaging
What's New in IBM MessagingMorag Hughson
 
WebSphere MQ V7 API Enhancements
WebSphere MQ V7 API EnhancementsWebSphere MQ V7 API Enhancements
WebSphere MQ V7 API EnhancementsMorag Hughson
 
Secure Messages with IBM WebSphere MQ Advanced Message Security
Secure Messages with IBM WebSphere MQ Advanced Message SecuritySecure Messages with IBM WebSphere MQ Advanced Message Security
Secure Messages with IBM WebSphere MQ Advanced Message SecurityMorag Hughson
 

More from Morag Hughson (6)

Where is My Message?: Use MQ Tools to Work Out What Applications Have Done
Where is My Message?: Use MQ Tools to Work Out What Applications Have DoneWhere is My Message?: Use MQ Tools to Work Out What Applications Have Done
Where is My Message?: Use MQ Tools to Work Out What Applications Have Done
 
Secure Your Messages with IBM MQ Advanced Message Security
Secure Your Messages with IBM MQ Advanced Message SecuritySecure Your Messages with IBM MQ Advanced Message Security
Secure Your Messages with IBM MQ Advanced Message Security
 
DataPower-MQ Integration Deep Dive
DataPower-MQ Integration Deep DiveDataPower-MQ Integration Deep Dive
DataPower-MQ Integration Deep Dive
 
What's New in IBM Messaging
What's New in IBM MessagingWhat's New in IBM Messaging
What's New in IBM Messaging
 
WebSphere MQ V7 API Enhancements
WebSphere MQ V7 API EnhancementsWebSphere MQ V7 API Enhancements
WebSphere MQ V7 API Enhancements
 
Secure Messages with IBM WebSphere MQ Advanced Message Security
Secure Messages with IBM WebSphere MQ Advanced Message SecuritySecure Messages with IBM WebSphere MQ Advanced Message Security
Secure Messages with IBM WebSphere MQ Advanced Message Security
 

Recently uploaded

MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfStefano Stabellini
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Mater
 
Post Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on IdentityPost Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on Identityteam-WIBU
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtimeandrehoraa
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...OnePlan Solutions
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalLionel Briand
 
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf31events.com
 
Understanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM ArchitectureUnderstanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM Architecturerahul_net
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZABSYZ Inc
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Matt Ray
 
Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Rob Geurden
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsChristian Birchler
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Angel Borroy López
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024StefanoLambiase
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringHironori Washizaki
 
Large Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLarge Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLionel Briand
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作qr0udbr0
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfMarharyta Nedzelska
 

Recently uploaded (20)

MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdf
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)
 
Post Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on IdentityPost Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on Identity
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtime
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive Goal
 
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf
 
Understanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM ArchitectureUnderstanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM Architecture
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZ
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
 
Advantages of Odoo ERP 17 for Your Business
Advantages of Odoo ERP 17 for Your BusinessAdvantages of Odoo ERP 17 for Your Business
Advantages of Odoo ERP 17 for Your Business
 
Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their Engineering
 
Large Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLarge Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and Repair
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdf
 

WebSphere MQ CHLAUTH - including V8 changes

  • 1. IBM MQ CHLAUTH rules – with MQ V8 updates Morag Hughson - hughson@uk.ibm.com IBM Hursley - UK
  • 2. N O T E S © 2014 IBM Corporation Abstract WebSphere MQ V7.1 introduced a new feature for securing channels, known as Channel Authentication Records, or CHLAUTH for short. This new feature allows you to set rules to indicate which inbound connections are allowed to use your queue manager and which are banned. In V8, CHLAUTH was updated to tie in with a number of other new security features, including connection authentication (using CHCKCLNT on CHLAUTH); more advanced certificate checking (using SSLCERTI on CHLAUTH) and hostname support. This session will take you through the concepts behind this feature, how to create these rules and how to monitor and manage their use.
  • 3. Channel Authentication Records Set rules to control how inbound connections are treated Inbound Clients Inbound QMgr to QMgr channels Other rogue connections causing FDCs © 2014 IBM Corporation Rules can be set to Allow a connection Allow a connection and assign an MCAUSER Block a connection Ban privileged access Provide multiple positive or negative SSL/TLS Distinguished Name matching Mandate user ID password checking Rules can use any of the following identifying characteristics of the inbound connection IP Address Hostnames SSL/TLS Subject’s Distinguished Name SSL/TLS Issuer’s Distinguished Name Client asserted user ID Remote queue manager name
  • 4. Channel Authentication Records – Notes N O T E S Channel Authentication records allow you to define rules about how inbound connections into the queue manager should be treated. Inbound connections might be client channels or queue manager to queue manager channels. These rules can specify whether connections are allowed or blocked. If the connection in question is allowed, the rules can provide a user ID that the channel should run with or indicate that the user ID provided by the channel (flowed from the client or defined on the channel definition) is to be used. These rules can therefore be used to – Set up appropriate identities for channels to use when they run against the queue manager – Block unwanted connections – Ban privileged users Which users are considered privileged users is slightly different depending on which platform you are running your queue manager on. There is a special value ‘*MQADMIN’ which has been defined to mean “any user that would be privileged on this platform”. This special value can be used in the rules that check against the final user ID to be used by the channel – TYPE(USERLIST) rules – to ban any connection that is about to run as a privileged user. This catches any blank user IDs flowed from clients for example. © 2014 IBM Corporation
  • 5. Channel Access Blocking Points © 2014 IBM Corporation Listener Blocking NOT A REPLACEMENT FOR AN IP FIREWALL!! Blocked before any data read from the socket Simplistic avoidance of DoS attack Really the place of the IP firewall Network Pingers if blocked don’t raise an alert Channel Blocking/Mapping Rules to block channels Rules to map channels to MCAUSER Rules to allow channels as they are Runs before security exit Final check for user ID before allowing through After Security Exit has run and final MCAUSER is assigned Ban privileged users with ‘*MQADMIN’ IP Firewall Lstr blocking Channel ACLs
  • 6. Channel Access Blocking Points – Notes N O T E S In this picture we illustrate that there are a number of points that an inbound connection must get through in order to actually make use of an MQ queue. First, we remind you that your IP firewall is included in this set of blocking points and should not be forgotten, and is not superseded by this feature in MQ. One point of note, the inbound connections can be from any version of MQ. There is no requirement that the clients or remote queue managers also be on WebSphere MQ V7.1 to be blocked or mapped by these rules. © 2014 IBM Corporation
  • 7. Channel Authentication Records – Configuration © 2014 IBM Corporation Create rules using MQSC: SET CHLAUTH PCF Pattern matching Channel Name/QMgr Name/Hostname Beginning, middle, end IP addresses (IPV4 or IPV6) SSL Peer Name (as today) Starting MQSC for queue manager TEST1. SET CHLAUTH(‘*’) TYPE(ADDRESSMAP) ADDRESS(‘*’) USERSRC(NOACCESS) SET CHLAUTH(‘*’) TYPE(BLOCKUSER) USERLIST(‘*MQADMIN’) SET CHLAUTH(‘*’) TYPE(ADDRESSMAP) ADDRESS(‘9.20.1-3.*’) USERSRC(CHANNEL) SET CHLAUTH(‘APP1.CHL*’) TYPE(ADDRESSMAP) ADDRESS(‘*.ibm.com’) USERSRC(CHANNEL) SET CHLAUTH(‘*.ADMIN.*’) TYPE(SSLPEERMAP) SSLPEER(‘O=IBM,L=Hursley’) USERSRC(CHANNEL) SET CHLAUTH(‘QM1.TO.QM2’) TYPE(QMGRMAP) QMNAME(QM1) USERSRC(MAP) MCAUSER(‘QM1USER’) SET CHLAUTH(‘*.SVRCONN’) TYPE(USERMAP) CLNTUSER(‘mhughson’) MCAUSER(‘hughson@hursley’) SET CHLAUTH(‘*’) TYPE(SSLPEERMAP) SSLPEER(‘O=IBM’) ADDRESS(‘9.*’) MCAUSER(‘hughson’)
  • 8. Channel Authentication – Configuration – Notes N O T E S Here we show some example rules illustrating the commands used for creating the rules. These examples are in MQSC. There is also PCF, and this is used by the MQ Explorer GUI. Some of these examples illustrate the pattern matching that can be applied to channel names, IP addresses, Hostnames, SSL/TLS DNs and remote queue manager names. Also we see all three types of rules, blocking channels – USERSRC(NOACCESS); allowing channels to run with the user ID provided by the channel – USERSRC(CHANNEL); and assigning a user ID to a channel – USERSRC(MAP) MCAUSER(user-id). USERSRC(MAP) is the default so we also see in another example that it does not need to be specified on the command. © 2014 IBM Corporation
  • 9. IP Address Pattern Matching © 2014 IBM Corporation Single Address Wildcard at the end Wildcard in the middle Ranges IPV4 or IPV6 IPV6 wildcarded IPV4 will also block IPV6 and vice versa 9.20.4.6 9.20.* 9.20.*.6 9.20.4.1-10 3ffe:1900:4545:3:200: f8ff:fe21:67cf 3ffe:1900:4545:3:200:* 0:0:0:0:0:ffff:192.1.56.10
  • 10. IP Address Pattern Matching – Notes N O T E S The IP addresses can be specified as single addresses, e.g. 9.20.4.6 or as patterns, e.g. 9.20.* which would of course also match the former. There patterns can also be generic in the middle, not just at the end, e.g. 9.20.*.6; and can provide ranges (rather akin to how you might configure a firewall) e.g. 9.20.4.1-20. These patterns of course will also understand IPV6 address, so as another example one might provide 3ffe:1900:4545:3:200:f8ff:fe21:67cf or 3ffe:1900:4545:3:200:* which would also match the specific address. We must also understand that 0:0:0:0:0:ffff:192.1.56.10 is the same as 192.1.56.10 so that the correct refusals are made when IPV6 and IPV4 are both in use. Hostnames cannot be specified in the BLOCKADDR list – only IP addresses. They can be used in ADDRESS fields rules though. © 2014 IBM Corporation
  • 11. Channel Authentication Rules using Hostnames SET CHLAUTH(‘*.SVRCONN’) TYPE(ADDRESSMAP) ADDRESS(‘mach123.ibm.com’) MCAUSER(HUSER) © 2014 IBM Corporation Initial Listener blocking list Hostnames not allowed Channel based blocking of Hostnames Single IP address/range/pattern or hostname/pattern Channel allowed in, based on Hostnames Single IP address/range/pattern or hostname/pattern Further qualified rule including hostname on another rule type Works with SSLPEER, QMNAME and CLNTUSER SET CHLAUTH(‘*’) TYPE(BLOCKADDR) ADDRLIST( ) SET CHLAUTH(‘APPL1.*’) TYPE(ADDRESSMAP) ADDRESS(‘*.ibm.com’) USERSRC(NOACCESS) SET CHLAUTH(‘*’) TYPE(SSLPEERMAP) SSLPEER(‘CN=“Morag Hughson”’) ADDRESS(‘s*.ibm.*’) MCAUSER(HUGHSON)
  • 12. Channel Authentication Rules using Hostnames – Notes N O T E S Hostnames can be used in almost all places in channel authentication records that IP address could be used. The one exception to this is the TYPE(BLOCKADDR) record. This is only going to accept IP addresses. If you want to block IP addresses with CHLAUTH rules permanently in MQ, rather than via your IP firewall, you should be doing it using the TYPE(ADDRESSMAP) record and specifying USERSRC(NOACCESS). This type of rules will allow hostnames as well. Additionally, positive mapping records allow hostnames, and address restrictors can also use hostnames. Channel Authentication rules utilise pattern matching to allow the most flexible control. IP Addresses have a special form of pattern matching that includes ranges and wildcards within each ‘.’ (or ‘:’ for IPv6) section of an IP address. Other pattern matching which is done on channel names, and queue manager names is simpler with just wild-carded string matching (in other words dots are not considered special). Hostnames also have pattern matching applied to them – as for channel names and queue manager names. That is it is just a wild-carded string matching and separators such as dots are not considered special. © 2014 IBM Corporation
  • 13. QMgr © 2014 IBM Corporation Obtaining a hostname Hostname is not ‘sent’ from the other end of the channel IP address is obtained from TCP/IP socket We must ask the Domain Name System (DNS) Server what the hostname is, a.k.a. Reverse Lookup If you want to use hostname rules Your queue manager must be able to contact your DNS Your DNS must be able to resolve the IP addresses Sender/Client address More than previously needed just to use CONNAME(‘hostname(port)’) NO DNS – NO HOSTNAME NO HOSTNAME – NO MATCH IP address from TCP/IP Other attributes from internal channel flows Channel Name Certificate DN Remote QMgr Name Client User ID Application (User4) MQCONNX User3 + pwd3 Network Communications DNS IP Address Hostname
  • 14. Obtaining a hostname – Notes N O T E S In order to be able to process channel authentication records that contain rules using hostnames we need to be able to obtain the hostname that represents the IP address of the socket. The hostname is not ‘sent’ to us by the channel or by TCP/IP. We get the IP address from the socket. We get the other attributes that channel authentication records use from the various internal flows across the socket. To get the hostname we must ask the Domain Name System (DNS) Server what hostname goes with the IP address we are currently looking at. In order for this to be successful our queue manager must be able to use the DNS. This may already be true if you are using hostnames in CONNAME fields for example – which is certainly common-place. Also, the DNS must be able to reverse look-up the IP address and find a hostname for us. This may not be true in your current set up. Are all the sender channel or client application IP addresses currently available in your DNS? In order for hostname rules to be used, this must be the case. If you cannot reverse look up the hostname then CHLAUTH hostname rules will not be able to be matched. © 2014 IBM Corporation
  • 15. Avoiding obtaining a hostname To stop the Queue Manager asking the Domain Name System (DNS) Server for hostnames that go with IP address, a.k.a. Reverse Lookup © 2014 IBM Corporation No CHLAUTH rules containing a hostname will be able to match ALTER QMGR REVDNS(DISABLED) QMgr Application (User4) MQCONNX User3 + pwd3 Network Communications DNS
  • 16. Avoiding obtaining a hostname – Notes N O T E S It is possible that you wish this to always be the case. Some people are more nervous about the potential security hazards of using hostnames than others. When CHLAUTH only used IP addresses to match on, this was not something you had to worry about. Now someone might start to get lazy and use hostname rules. We have added a control to turn off the reverse look up of hostnames. There were previously undocumented parameters on both z/OS® and distributed to allow this, but as part of this feature we have made an official version of these. When REVDNS is ENABLED, the reverse look-up of the IP Address to retrieve the hostname will still only be done when it is required. If you do not use hostnames in CHLAUTH rules, then the only time a reverse look-up will be done is when writing an error message which contains that information. This is the same as the product behaviour pre-V8. © 2014 IBM Corporation
  • 17. Restricting the Mappings © 2014 IBM Corporation Rules matching on SSL Peer Name Remote QMgr Name Client User ID Can add IP address/Hostname Restrict where an SSL Certificate can be used from Specific IP address/Hostname Restrict where a queue manager or client user ID can come from Specific IP address/Hostname Client User SSL Peer X X 8 QM Name 8 Client User 8 IP Address IP Address/Hostname QM Name SSL Peer Restrict By Mapped SET CHLAUTH(*) TYPE(SSLPEERMAP) SSLPEER(‘L=”Hursley”’) MCAUSER(HURUSER) ADDRESS(‘9.20.*’) SET CHLAUTH(*) TYPE(QMGRMAP) QMNAME(CLUSQM*) MCAUSER(CLUSUSR) ADDRESS(‘*.ibm.com’)
  • 18. Restricting the Mappings - Notes N O T E S When mapping from an SSL certificate DN, you may also want to ensure that certificate is being used from the correct IP address, mitigating what might happen if a certificate is stolen. When mapping from a queue manager name, you may also want to ensure that the queue manager is running on the correct IP address to ensure it is not a rogue queue manager with the same name as one in your cluster for example. We could imagine using the remote queue manager name or the client user ID as a restrictor on an SSL Peer rule, however feedback from EAP did not suggest anyone needed it so it was not implemented. For the most part, attributes within the X509 DN will contain the same information for most practical uses. For example CN=Queue Manager Name. © 2014 IBM Corporation
  • 19. Fully Qualifying your Peer Name rules © 2014 IBM Corporation Key Repository contains All CA certs we trust Multiple CAs means possible DN clashes External CAs Checks and balances Unlikely to have DN clashes Internal CAs Less rigid May give out certs exactly as requested May end up with clashes Could solved in a Security Exit MQCD.SSLPeerNamePtr MQCXP.SSLRemCertIssNamePtr CHLAUTH rules extended Check Subject’s DN (SSLPEER) Check Issuer’s DN (SSLCERTI) SSLKEYR CA Certificate External CA Certificate Internal SET CHLAUTH(BPA.TO.ME) TYPE(SSLPEERMAP) SSLPEER(‘O=IBM’) MCAUSER(BPAUSR) SSLCERTI(‘CN=External’)
  • 20. Fully Qualifying your Peer Name rules – Notes N O T E S As we just saw, you can add IP address or hostname restrictors to many of the rule types to further qualify the matching that happens. In the case of a Peer name map, you can fully qualify the certificate matching by providing both the Subject’s DN (SSLPEER) and the Issuer’s DN (SSLCERTI) on a rule. SSLCERTI is new in MQ V8. This is especially important if you have more than one Certificate Authority (CA) certificate in your key repository which you may be more likely to do with the introduction of multiple certificates for one queue manager which was a new feature in MQ V8. However, since we now accept certificates which come from two different Certificate Authorities (CAs) we can run foul of another issue. One of the benefits of Externals CAs is that they guarantee not to issue the certificates with the same DN as another certificate that they have already issued. However, an internal CA may not be so diligent. Some internal CAs may simply accept what the user requests as their DN, so our rogue could obtain a certificate with non-unique DN from such a CA. The only way to solve this issue in the past was to use a security exit, since security exits are presented with both the issuer’s and subject’s Distinguished Name. However, we are trying to get away from people having to write exits for common security issues, and this very much falls into that category. In MQ V8, we can solve this issue by using a new attribute on CHLAUTH rules which matches the issuer’s DN – SSLCERTI. Our CHLAUTH rules can now be fully qualified to use both SSLPEER (the subject’s DN) and SSLCERTI (the issuer’s DN). © 2014 IBM Corporation
  • 21. Channel Authentication Records – Configuration Order Identity mechanism Notes 0 Channel Name 2 SSL Issuer’s Distinguished Name 5 IP address © 2014 IBM Corporation Precedence matching Most specific rule is matched Identifying attributes are Channel Name SSL Peer Name pattern Precedence defined for partial patterns Remote queue manager name pattern (MCA channels) Client asserted user ID (MQI channels) No pattern matching on this IP address pattern Hostname pattern (least specific) Within SSL Peer Name matching Most specific substring is matched Chl: MY.CHANNEL IP: 9.20.1.123 DN: CN=Morag Hughson.O=IBM UK UID: mhughson SSL Subject’s 1 Distinguished Name One IP address can have multiple hostnames 6 Hostname Clearly several different queue managers can be running on the same IP address 3= Queue Manager Name Clearly several different user IDs can be running on the same IP address. 3= Client asserted User ID
  • 22. Channel Authentication – Configuration – Notes N O T E S When there is more than one rule that could match the inbound connection in question, then we define which rule will actually be used by defining the precedence order of what is the most specific match. The table shows that SSL Peer Names are considered a more specific match than a queue manager name or client user ID (because there is much more detailed information in an SSL Peer Name); and Hostnames are considered the least specific since clearly more than one queue manager or client can be connecting from the same IP address/Hostname. Hostnames are even less specific than IP addresses because an IP address can have multiple hostnames. © 2014 IBM Corporation
  • 23. SSL DN Precedence Mapping Example SET CHLAUTH(*) TYPE(SSLPEERMAP) SSLPEER(‘OU=“MQ Devt”’) MCAUSER(MQUSER) SET CHLAUTH(*) TYPE(SSLPEERMAP) SSLPEER(‘L=“Hursley”’) MCAUSER(HURUSER) Order DN Substring Name 1 CN= Common name 2 T= Title 3 Organizational unit 4 O= Organization 5 L= Locality 6 ST=, SP=, S= State or province name CN=Morag Hughson.OU=MQ Devt. O=IBM UK.L=Hursley.C=UK © 2014 IBM Corporation 7 C= Country Certificate CN=Morag Hughson OU= Organizational unit Most Specific Match
  • 24. Distinguished Names – Recognised by MQ SERIALNUMBER Certificate serial number MAIL Email address E Email address (Deprecated in preference to MAIL UID or USERID User identifier CN Common Name T Title OU Organization Unit name DC Domain component O Organization name STREET Street / First line of address L Locality name ST (or SP or S) State or Province name PC Postal code / zip code C Country UNSTRUCTUREDNAME Host name Distinguished DNQ name qualifier © 2014 IBM Corporation UNSTRUCTUREDADDRESS IP address
  • 25. SSL DN Precedence Mapping Example – Notes N O T E S Not only do we define the order of precedence between the various different identifying characteristics of an inbound connection, we also must do a similar job for SSL Peer Name. Here is an example to illustrate what happens when two partial patterns could both match an inbound Distinguished Name (DN) from a client. We want the most specific match to be used, so we have defined a precedent order of what we mean by the most specific. The table shown here that defines the precedence order is a subset of the contents of an SSL Peer Name in WebSphere MQ V7.1. It suffices to describe this example. For the full table of SSL Peer Name attributes, search the MQ Information Centre for “Distinguished Names”. © 2014 IBM Corporation
  • 26. Connection Authentication – Configuration Granularity © 2014 IBM Corporation Application (User4) MQCONNX User3 + pwd3 User's Digital Certificate Application (User2) CA Sig QMgr CHCKCLNT ASQMGR REQUIRED Clear Network Communications DEFINE AUTHINFO(USE.PW) AUTHTYPE(IDPWOS) CHCKCLNT(OPTIONAL) SET CHLAUTH(‘*’) TYPE(ADDRESSMAP) ADDRESS(‘*’) USERSRC(CHANNEL) CHCKCLNT(REQUIRED) SET CHLAUTH(‘*’) TYPE(SSLPEERMAP) SSLPEER(‘CN=*’) USERSRC(CHANNEL) MQRC_NOT_AUTHORIZED (2035) CHCKCLNT(ASQMGR) MQCONNX User1 + pwd1 SSL/TLS Network Communications MQRC_NONE (0) REQDADM
  • 27. Connection Authentication – Configuration Granularity N O T E S MQ V8 introduces a new feature called Connection Authentication which allows the queue manager to be configured to check user ID and password provided by applications. It is clear that a single switch – CHCKCLNT on the AUTHINFO object in use - to configure this for every single client application is not granular enough. So CHLAUTH is enhanced in MQ V8 to provide the ability to mandate password checking for some clients, for example, those not making use of SSL/TLS, and to indicate it is optional for others. You can set the overall CHCKCLNT value to OPTIONAL, and then upgrade it to be more stringent for certain channels by setting CHCKCLNT to REQUIRED or REQDADM on the CHLAUTH rule. By default, CHLAUTH rules will run with CHCKCLNT(ASQMGR) so this granularity does not have to be used. © 2014 IBM Corporation
  • 28. © 2014 IBM Corporation MQ Explorer New concept Wizard to walk you through the thought-process of creating a rule
  • 29. © 2014 IBM Corporation MQ Explorer New concept Wizard to walk you through the thought-process of creating a rule
  • 30. © 2014 IBM Corporation MQ Explorer New concept Wizard to walk you through the thought-process of creating a rule
  • 31. © 2014 IBM Corporation MQ Explorer New concept Wizard to walk you through the thought-process of creating a rule
  • 32. © 2014 IBM Corporation MQ Explorer New concept Wizard to walk you through the thought-process of creating a rule
  • 33. © 2014 IBM Corporation MQ Explorer New concept Wizard to walk you through the thought-process of creating a rule
  • 34. © 2014 IBM Corporation MQ Explorer New concept Wizard to walk you through the thought-process of creating a rule
  • 35. © 2014 IBM Corporation MQ Explorer New concept Wizard to walk you through the thought-process of creating a rule
  • 36. Channel Authentication – Configuration – Notes N O T E S Additionally, the MQ Explorer GUI provides a wizard to walk you through the steps for setting up these rules and at the end of the wizard, the MQSC command that would do the same job as you have done in the wizard, is displayed in a window that you can cut’n’paste from to put the command into a script for future use. © 2014 IBM Corporation
  • 37. SET CHLAUTH(*) TYPE(ADDRESSMAP) ADDRESS(‘*’) USERSRC(NOACCESS) WARN(YES) © 2014 IBM Corporation How should I use this? “We must make sure our system is completely locked down”
  • 38. SET CHLAUTH(*) TYPE(ADDRESSMAP) ADDRESS(‘*’) USERSRC(NOACCESS) WARN(YES) SET CHLAUTH(BPCHL.*) TYPE(SSLPEERMAP) SSLPEER(‘O=Bank of Shetland’) MCAUSER(BANK123) SET CHLAUTH(BPCHL.*) TYPE(SSLPEERMAP) SSLPEER(‘O=Bank of Orkney’) MCAUSER(BANK456) “Our Business Partners must all connect using SSL, so we will map © 2014 IBM Corporation How should I use this? “We must make sure our system is completely locked down” their access from the certificate DNs”
  • 39. SET CHLAUTH(*) TYPE(ADDRESSMAP) ADDRESS(‘*’) USERSRC(NOACCESS) WARN(YES) SET CHLAUTH(BPCHL.*) TYPE(SSLPEERMAP) SSLPEER(‘O=Bank of Shetland’) MCAUSER(BANK123) SET CHLAUTH(BPCHL.*) TYPE(SSLPEERMAP) SSLPEER(‘O=Bank of Orkney’) MCAUSER(BANK456) SET CHLAUTH(SYSTEM.ADMIN.SVRCONN) TYPE(ADDRESSMAP) ADDRESS(‘9.20.1-30.*’) CHCKCLNT(REQUIRED) MCAUSER(ADMUSER) “Our Administrators connect in using MQ Explorer, but don’t use SSL. We will map their access by IP Address and require them to “Our Business Partners must all connect using SSL, so we will map © 2014 IBM Corporation How should I use this? “We must make sure our system is completely locked down” their access from the certificate DNs” provide a username and password”
  • 40. SET CHLAUTH(*) TYPE(ADDRESSMAP) ADDRESS(‘*’) USERSRC(NOACCESS) WARN(YES) SET CHLAUTH(BPCHL.*) TYPE(SSLPEERMAP) SSLPEER(‘O=Bank of Shetland’) MCAUSER(BANK123) SET CHLAUTH(BPCHL.*) TYPE(SSLPEERMAP) SSLPEER(‘O=Bank of Orkney’) MCAUSER(BANK456) SET CHLAUTH(SYSTEM.ADMIN.SVRCONN) TYPE(ADDRESSMAP) ADDRESS(‘9.20.1-30.*’) CHCKCLNT(REQUIRED) MCAUSER(ADMUSER) SET CHLAUTH(TO.CLUS.*) TYPE(QMGRMAP) QMNAME(CLUSQM*) MCAUSER(CLUSUSR) ADDRESS(‘*.datacenter.ibm.com’) “Our Administrators connect in using MQ Explorer, but don’t use SSL. We will map their access by IP Address and require them to “Our Business Partners must all connect using SSL, so we will map “Our internal cluster doesn’t use SSL, but we must ensure only the correct queue managers can connect into the cluster” © 2014 IBM Corporation How should I use this? “We must make sure our system is completely locked down” their access from the certificate DNs” provide a username and password”
  • 41. SET CHLAUTH(*) TYPE(ADDRESSMAP) ADDRESS(‘*’) USERSRC(NOACCESS) WARN(YES) SET CHLAUTH(BPCHL.*) TYPE(SSLPEERMAP) SSLPEER(‘O=Bank of Shetland’) MCAUSER(BANK123) SET CHLAUTH(BPCHL.*) TYPE(SSLPEERMAP) SSLPEER(‘O=Bank of Orkney’) MCAUSER(BANK456) SET CHLAUTH(SYSTEM.ADMIN.SVRCONN) TYPE(ADDRESSMAP) ADDRESS(‘9.20.1-30.*’) CHCKCLNT(REQUIRED) MCAUSER(ADMUSER) SET CHLAUTH(TO.CLUS.*) TYPE(QMGRMAP) QMNAME(CLUSQM*) MCAUSER(CLUSUSR) ADDRESS(‘*.datacenter.ibm.com’) “Our Administrators connect in using MQ Explorer, but don’t use SSL. We will map their access by IP Address and require them to “Our Business Partners must all connect using SSL, so we will map “Our internal cluster doesn’t use SSL, but we must ensure only the correct queue managers can connect into the cluster” © 2014 IBM Corporation How should I use this? “We must make sure our system is completely locked down” their access from the certificate DNs” provide a username and password”
  • 42. How should I use this? - Notes N O T E S Here is an example of how we expect this to be used. Our business requires that “We must make sure our system is completely locked down”. So we start off with a rule that blocks everyone. Therefore anyone that doesn’t match a more specific rule will not be allowed in. Our business requires that “Our Business Partners must all connect using SSL, so we will map their access from the certificate DNs”. So we have some rules that map specific DNs of our Business Partners to specific user IDs. Previously you might have done this by having separate channel definitions for each BP, now if you wish they can come into the same receiver definition. Our business requires that “Our Administrators connect in using MQ Explorer, but don’t use SSL. We will map their access by IP Address”. So we have a rule that gives them all a single administrative access user ID based on a range of IP addresses. Our business requires that “Our internal cluster doesn’t use SSL, but we must ensure only the correct queue managers can connect into the cluster”. So we have a rule that gives access to the correctly named queue managers but only if they come from a recognised hostname. Read more about this in a blog post here:- https://www.ibm.com/developerworks/community/blogs/aimsupport/entry/websphere_mq_chlauth_the_back_stop_rule © 2014 IBM Corporation
  • 43. Blocking IP address -Which type to use? © 2014 IBM Corporation Best practice block everything then ALLOW in specific connections Use ADDRESSMAP to ensure you get good diagnostics Use BLOCKADDR as a TEMPORARY place to put rogue IP addresses that really ought to be in your firewall rules. where its something that will soon be fixed This list should be tending to zero! Have a plan for the contents - don’t let it grow and grow SET CHLAUTH('*') TYPE(ADDRESSMAP) ADDRESS('1.2.3.4') USERSRC(NOACCESS) SET CHLAUTH('*') TYPE(BLOCKADDR) ADDRLIST('1.2.3.4')
  • 44. Blocking IP address - Which type to use? - Notes N O T E S This pages illustrates two ways to block IP addresses using CHLAUTH. Both of these examples achieve the same end goal, however, each mechanism has a specific purpose. Using TYPE(ADDRESSMAP) This is the main way you should be setting up IP address rules with CHLAUTH. These rules are applied once data has been flowed so the channel name is available, although as the example above shows, you can still make rules to apply to all channels. This is the type you should use for the majority of your IP address blocking rules. When an inbound connection is blocked as a result of one of these rules, the error message that is written to your error log, and the event message that is written to the SYSTEM.ADMIN.CHANNEL.EVENT queue (if you have channel events enabled), will contain full details about the inbound connection that has been blocked. When thinking about creating CHLAUTH rules though, it is still better to think from the perspective of blocking everything and then allowing in specific addresses, as detailed on the previous page. Using TYPE(BLOCKADDR) This type of CHLAUTH rule is applied to inbound connections before they send any data at all. Therefore, we do not know the channel name at this time. This is therefore used to block IP addresses that an banned across the board and are not allowed to connect in at all, over any channel. These blacklisted IP addresses are such that they should be caught by your IP firewall and never even make it as far as the MQ listener. However, it is common for updates to an IP firewall to take time to be put in place, and so using a TYPE(BLOCKADDR) CHLAUTH rule can bridge the gap from the time a rogue IP address is detected, to the time when the IP firewall is updated, at which point the TYPE(BLOCKADDR) rule can be removed again. So in short, this type of CHLAUTH rule is a temporary place that is under the control of the MQ administrator, to blacklist IP addresses until they are more permanently caught by the IP firewall. Keep an eye on your TYPE(BLOCKADDR) rule and ensure that there is always a plan for the IP addresses mentioned there - so that this list is not ever increasing in your MQ configuration. © 2014 IBM Corporation See blog post:- https://www.ibm.com/developerworks/community/blogs/aimsupport/entry/blocking_ip_addresses_with_chlauth_which_type_to_use
  • 45. DISPLAY CHLAUTH(SYSTEM.ADMIN.SVRCONN) MATCH(RUNCHECK) SSLPEER(‘CN=“Morag Hughson”, O=“IBM UK”’) CLNTUSER(‘mhughson’) ADDRESS(‘9.180.165.163’) CHLAUTH(SYSTEM.ADMIN.SVRCONN) TYPE(ADDRESSMAP) ADDRESS(‘*.ibm.com’) MCAUSER(HUGHSON) © 2014 IBM Corporation What happens if…? returns === MATCH(RUNCHECK) mandates an IP address is provided Then the queue manager will employ DNS to find the hostname MATCH(RUNCHECK) thus also tests whether your DNS is correctly set up. Chl: SYSTEM.ADMIN.SVRCONN DN: CN=Morag Hughson.O=IBM UK UID: mhughson IP: 9.180.165.163 Hostname: mh.ibm.com
  • 46. What happens if…? - Notes N O T E S Here is an example of the special matching version of the DISPLAY command to show exactly what would happen should a channel matching these identifying attributes, connect into the system. This should serve as a useful testing tool, service aid, and validation tool, although we would of course recommend not creating such complicated rules that you need it in the first place! As we noted earlier, the hostname is not one of those pieces of information, the queue manager has to go and find that information out from the Domain Name System (DNS) Server. So when providing information into the MATCH(RUNCHECK) command, you provide the IP address. The queue manager will then make the call to DNS as it would if the real inbound connection appeared and find out what the hostname is, then run the matching against the rules. If it was able to find out a hostname then it will match against a hostname rules, but if it was not, then it won’t. If you have your queue manager configured to use REVDNS(DISABLED) and you also have some CHLAUTH rules that use hostnames, then a message will appear along with the output of the MATCH(RUNCHECK) display in rather the same way that it warns you that CHLAUTH is DISABLED. Thus DISPLAY CHLAUTH MATCH(RUNCHECK) can help you to determine whether your reverse look-up for particular IP addresses is likely to work. © 2014 IBM Corporation
  • 47. SET CHLAUTH(‘*’) TYPE(BLOCKUSER) USERLIST(‘*MQADMIN’) SET CHLAUTH(‘SYSTEM.*’) TYPE(ADDRESSMAP) ADDRESS(‘*’) USERSRC(NOACCESS) SET CHLAUTH(SYSTEM.ADMIN.SVRCONN) TYPE(ADDRESSMAP) ADDRESS(‘*’) USERSRC(CHANNEL) © 2014 IBM Corporation Out of the Box We supply these rules out-of-the-box. For all channels, ban the assertion of privileged users by inbound channels. For all SYSTEM channels except SYSTEM.ADMIN.SVRCONN (the MQ Explorer GUI channel), ban anyone from using them. Difficult to supply any default rules regarding IP addresses and SSL Peer Names since they are very installation specific. Enabling Switch ALTER QMGR CHLAUTH(ENABLED|DISABLED) different for Migrated or New Queue Manager
  • 48. Out of the Box - Notes N O T E S Out of the box we supply some rules. The first is a rule which bans privileged users and blank users from being asserted by connecting inbound channels. This rule may break some channels, but it will secure many more channels than it breaks so we believe it to be a worthwhile out-of- © 2014 IBM Corporation the-box position. The second rules secures the use of SYSTEM channels by disallowing any address from connecting. This stops hackers from connecting in to the SYSTEM.DEF.RECEIVER for example. It also locks down the SYSTEM.DEF.SVRCONN which will hit lots of people initially! The third rule allows the SYSTEM.ADMIN.SVRCONN but it will still be affected by the first rule if you try to use a privileged user ID, so some work must be done to provide a user ID that has access to do what is needed. There is a queue manager switch which determines whether CHLAUTH rules are acted upon (it does not stop the commands from be used though). This switch is ENABLED for new queue managers, and DISABLED for migrated queue managers.
  • 49. © 2014 IBM Corporation Privileged Users Banned by default Applies to all channels What if you want to allow some? Over-ride on one specific channel With authentication SSL/TLS User Password validation IP address checking (not really authentication!) SET CHLAUTH(‘*’) TYPE(BLOCKUSER) USERLIST(‘*MQADMIN’) SET CHLAUTH(MY.SVRCONN) TYPE(BLOCKUSER) USERLIST(‘rubbish’) SET CHLAUTH(MY.SVRCONN) TYPE(SSLPEERMAP) SSLPEER('CN=Admin') ADDRESS('1.2.3.4') USERSRC(CHANNEL) DESCR('SSL auth for admins')
  • 50. Privileged Users - Notes N O T E S Users of MQ in the few releases may have noticed a crack-down on remotely connecting privileged users! By a privileged user I mean one that has full access rights, sometimes called an ‘mqm’ user due to the Unix user of the same name and the group membership which conveys this full access privilege. Privileged users are part of the distributed platform MQ world, however although use for running queue managers and making administrative changes locally on the box with the queue manager, we consider them to be a risk when connecting remotely, i.e. with a client connection. So in MQ V7.1, remote privileged users were banned by default out of the box with the special *MQADMIN value making it easy to use one different platforms. As an aside, in MQ V8 the Connection Authentication feature also mandates a user ID and password for privileged users as a default stance too. We’re serious about this folks! You may wish to continue to allow some privileged users to connect is, but only over a certain channel, and only when they have, for example, authenticated in some way, e.g. by a SSL/TLS digital certificate, or at the very least with a password (MQ V8). Rather than removing the default ‘*MQADMIN’ rule, you can over-ride it on one specific channel by adding an additional rule to provide an alternate BLOCKUSER list for that channel alone. Unfortunately having an empty BLOCKUSER list does not cause an over-ride, so you need to put something in it. The suggestion is to use a user ID like ‘rubbish’. See also blog post:- https://www.ibm.com/developerworks/community/blogs/aimsupport/entry/chlauth_allow_some_privileged_a dmins © 2014 IBM Corporation
  • 51. ALTER QMGR CHLEV(ENABLED|EXCEPTION) © 2014 IBM Corporation Events Command events (as normal) Configuration events (as normal) Channel event Controlled by existing switch Considered to be an EXCEPTION Written to existing queue One event for each type of connection refusal MQRC_CHANNEL_BLOCKED MQRC_CHANNEL_BLOCKED_WARN MQRQ_CHANNEL_BLOCKED_ADDRESS MQRQ_CHANNEL_BLOCKED_USERID MQRQ_CHANNEL_BLOCKED_NOACCESS SYSTEM.ADMIN.CHANNEL.EVENT
  • 52. N O T E S © 2014 IBM Corporation Events - Notes These commands will generate command events and configuration events (assuming that these events are enabled by the existing CMDEV and CONFIGEV switches). There are some new events to record whenever an inbound connection attempt is blocked. Controlled by the current CHLEV switch (and considered to be an EXCEPTION) this new event message will be issued to the SYSTEM.ADMIN.CHANNEL.EVENT queue when a channel or listener blocks an attempt to connect. The reason qualifier of the event message can be – MQRQ_CHANNEL_BLOCKED_ADDRESS Channel was blocked due to its IP address being in the list to be refused. – MQRQ_CHANNEL_BLOCKED_USERID Channel was blocked due to its asserted (or mapped) user ID being in the list to be refused. – MQRQ_CHANNEL_BLOCKED_NOACCESS Channel was blocked due to its identity (e.g. IP address or SSL Peer name) being mapped to a rule that says it is to be blocked.
  • 53. Updating CHLAUTH rules SET CHLAUTH(APP1.*) USERSRC(MAP) TYPE(SSLPEERMAP) MCAUSER(‘hughson’) SSLPEER(‘CN=Morag’) ADDRESS(‘1.2.3.4’) SET CHLAUTH(ADMIN.SVRCONN) USERSRC(CHANNEL) TYPE(ADDRESSMAP) CHCKCLNT(REQUIRED) © 2014 IBM Corporation Key Fields ADDRESS(‘*.ibm.com’) User ID Password Source of Mapped ID ID Address (restrictor) Value(s) for type Channel Type Name SET CHLAUTH(‘APP1.*’) TYPE(SSLPEERMAP) SSLPEER(‘CN=Morag’) ADDRESS(‘1.2.3.4’) ACTION(REMOVE) SET CHLAUTH(ADMIN.SVRCONN) TYPE(ADDRESSMAP) ADDRESS(‘*.ibm.com’) USERSRC(MAP) MCAUSER(‘IBMUSER’) ACTION(REPLACE) SET CHLAUTH(‘APP1.*’) TYPE(SSLPEERMAP) ACTION(REMOVEALL) All the key fields
  • 54. Updating CHLAUTH rules - Notes N O T E S You can make changes to, or delete, pre-existing CHLAUTH rules. One way to do this is of course via a GUI which allows you to do this easily - click on the thing you want and edit away. You can also do this with MQSC commands in a script, and its here that you probably need to be more aware of the key fields in a CHLAUTH rule. Clearly there is a channel name pattern that is a key field in the CHLAUTH rule, but as you have no doubt noticed, you can have several rules all using the same channel name. Clearly this field on its own is not enough to identify a specific rule that you wish to edit or delete. The type is another, perhaps obvious key field, so this is needed to identify the specific rule that you wish to edit or delete as well. But that is still not enough. You could for example have multiple TYPE(SSLPEERMAP) rules on one specific channel - perhaps assigning different MCAUSERs for each certificate presented. You also need some other key fields, and in fact you need everything on the left hand side of the page to uniquely identify the rule you wish to edit or delete. This is also the same set of fields that you cannot duplicate. You cannot, for example, have two rules for the same certifiate DN, mapping to different MCAUSERs. MQ wouldn’t know which one to apply, so we disallow you from defining two the same. If you want to remove all the rules you have put in place for a particular channel name pattern and TYPE, you can omit the remainder of the key fields when using ACTION(REMOVEALL). © 2014 IBM Corporation
  • 55. Updating CHLAUTH List rules ACTION value Result For TYPE(BLOCKUSER) and Clear out the list - and thus remove the record © 2014 IBM Corporation REPLACE(empty list) Clear out the list - and thus remove the record REMOVE(last member) Clear out the list - and thus remove the record REMOVEALL You provide the whole list you want REPLACE Removes the specified member to the list REMOVE Adds the specified member to the list ADD TYPE(BLOCKADDR) rules, i.e. those with lists USERLIST ADDRLIST SET CHLAUTH(‘*’) TYPE(BLOCKUSER) USERLIST(‘*MQADMIN’,‘Morag’) ACTION(REPLACE) SET CHLAUTH(‘*’) TYPE(BLOCKUSER) USERLIST(‘hughson’) ACTION(ADD) SET CHLAUTH(‘*’) TYPE(BLOCKUSER) USERLIST(‘*MQADMIN’) ACTION(REMOVE) SET CHLAUTH(‘*’) TYPE(BLOCKUSER) ACTION(REMOVEALL)
  • 56. Updating CHLAUTH List rules N O T E S On the previous page we discussed the key fields in the main set of CHLAUTH rules, the MAP types of rules. There are also two other CHLAUTH rules types which I’ll call the LIST types. BLOCKUSER and BLOCKADDR. This page looks at updating those rules via MQSC scripts. We were conscious when creating CHLAUTH list rules that we didn’t want to go down the same route as the NAMELIST object in MQ, where to add a name to the list of names, you must provide the whole list. Instead the ACTION field allows you to ADD a single member to the list, REMOVE a single member from the list, REPLACE the list completely (aka the NAMELIST model) and REMOVEALL to clear out the list completely. © 2014 IBM Corporation
  • 57. AMQ9777: Channel was blocked EXPLANATION: The inbound channel 'SYSTEM.DEF.SVRCONN' was blocked from address 'mhughson.ibm.com(9.180.165.163)' because the active values of the channel matched a record configured with USERSRC(NOACCESS) NOACCESS). The active values of the channel were 'CLNTUSER(hughson) ADDRESS(mhughson.ibm.com, morag.hursley.ibm.com)'. ‘‘9.180.165.163’ CLNTUSER(‘hughson’) © 2014 IBM Corporation Troubleshooting DISPLAY CHLAUTH( ’SYSTEM.DEF.SVRCONN’ ) MATCH(RUNCHECK) ADDRESS( ‘9.180.165.163’ ) ALL AMQ8878: Display channel authentication record details. CHLAUTH(SYSTEM.*) TYPE(ADDRESSMAP) DESCR(Default rule to disable all SYSTEM channels) CUSTOM( ) ADDRESS(*) USERSRC(NOACCESS) WARN(NO) ALTDATE(2013-09-03) ALTTIME(12.20.25) Descriptions are Good!!
  • 58. Troubleshooting – Notes N O T E S Most people’s first experience of Channel Authentication Records is being blocked by them, so very quickly people learn how to issue the command:- © 2014 IBM Corporation – ALTER QMGR CHLAUTH(DISABLED) However, working out why you have been blocked is not really that difficult – all the information you need is provided, so instead why not add in the rule that allows you in, instead of turning it all off? When an inbound connection is blocked, an error is written to the AMQERR01.LOG (or CHINIT joblog on z/OS) indicating that is was blocked and providing additional information describing exactly the inbound connection. As we’ve just seen, this information is also written to the event queue. You can use this information to work out exactly why it was blocked. In WebSphere MQ V8, this message will also now contain the hostname (possibly several) that go with the IP address, assuming that we have been able to find one. The description of the message will indicate that if a hostname is not shown this implies that either REVDNS is DISABLED or that reverse DNS lookup was unable to obtain a hostname for this IP address. We saw an example earlier of the DISPLAY CHLAUTH command running in the MATCH(RUNCHECK) mode. We can use this command with the information from the error message (or event message) to determine exactly which rule caused the connection to be blocked. This also shows why it is so useful to make use of the description field when putting your rules in place. Read more about this in a blog post:- https://www.ibm.com/developerworks/community/blogs/aimsupport/entry/blocked_by_chlauth_why
  • 59. Channel Authentication Records - Recap Set rules to control how inbound connections are treated Inbound Clients Inbound QMgr to QMgr channels Other rogue connections causing FDCs © 2014 IBM Corporation Rules can be set to Allow a connection Allow a connection and assign an MCAUSER Block a connection Ban privileged access Provide multiple positive or negative SSL/TLS Distinguished Name matching Mandate user ID password checking Rules can use any of the following identifying characteristics of the inbound connection IP Address Hostnames SSL/TLS Subject’s Distinguished Name SSL/TLS Issuer’s Distinguished Name Client asserted user ID Remote queue manager name
  • 60. N O T E S © 2014 IBM Corporation Recap We saw this page at the beginning, but we will use it again as a summary. We have learned today how to use this feature which was introduced in WebSphere MQ V7.1 to control how our inbound connections will behave. We have seen a number of new features added to CHLAUTH in MQ V8 (these are highlighted in red on this page).
  • 61. For Additional Information © 2014 IBM Corporation IBM Training http://www.ibm.com/training IBM WebSphere http://www.ibm.com/software/websphere/ http://www.ibm.com/software/products/ibm-mq IBM developerWorks http://www.ibm.com/developerworks/websphere https://www.ibm.com/developerworks/community/blogs/messaging WebSphere forums and community http://www.ibm.com/developerworks/websphere/community/
  • 62. IBM MQ Sessions this week 10:30 9:00 - 10:00 - 11:30 11:45 - 12:45 14:00 - 15:00 15:15 - 16:15 16:45 - 17:45 © 2014 IBM Corporation Session A35: How to Develop Responsive Applications with IBM MQ Light Speaker: Rob Nicholson Room 27 Session A9: WebSphere MQ for z/OS: The Inside Story Speaker: Damon Cross Room 6 Session A16: Using IBM MQ Pub/Sub in an MQ network Speaker: David Ware Room 6 Session A21: What's New in IBM Messaging Speaker: Morag Hughson Room 8 Lab AL6: Developing a First Application with IBM WebSphere MQ Light Speakers: Robert Nicholson, Alex Ross Room 7b Friday Session A18: Using Publish /Subscribe with IBM MQ Speaker: David Ware Room 27 Session A3: WebSphere MQ for z/OS: Shared Queues Speaker: Alex Ross Room 6 Session A22: New IBM MQ V8 Security Features Speaker: Morag Hughson Room 01 Thursday Lab IL5: DataPower-MQ Connectivity Deep Dive (Hands-On) Speaker: Robin Wiley Room 7b Session A17: Managing work-loads, scaling and availability with IBM MQ clusters Speaker: David Ware Room 6 Session C7: Messaging in the Cloud with IBM MQ Light and IBM Bluemix Speaker: Rob Nicholson Room 27 Session Z5: WebSphere MQ for z/OS: Security Speaker: Damon Cross Room 02 Wednesday Session Z1: WebSphere MQ for z/OS V8: Latest Features Deep Dive Speaker: Damon Cross Room 6 Session I26: DataPower- MQ Connectivity Deep Dive (Theory) Speaker: Robin Wiley Room 27 Session A4: WebSphere MQ for z/OS: Performance and Accounting Speaker: Alexander Ross Room 8 Session A31: IBM MQ CHLAUTH rules – with MQ V8 updates Speaker: Morag Hughson Room 02 Opening General Session- IBM Digital Experience and WebSphere Technical University Tuesday 10:30 - 12:00 13:15 - 14:15 14:30 - 15:30 16:00 - 17:00 17:15 - 18:15