MQAUSX Explained or Better Explained

Every once in a while, I get requests to explain what/how MQ Authenticate User Security Exit (MQAUSX) and/or MQ Authenticate User Security Exit for z/OS (z/MQAUSX) work.

    Client-side perspective:

  • If the client application is configured with the MQAUSX client-side security exit then the user credentials are encrypted and sent to the remote queue manager. This is the best level of security.
  • If the client application is not configured with the client-side security exit and both the client-side AND server-side are at MQ V8 or higher then MQ V8 (or higher) will encrypt the user credentials as they flow from the client application to the queue manager. Note: There has been a lot of discussions about the effectiveness of MQ encrypting the user credentials. Even IBM’s position has changed and they do not recommend using MQ user credential encryption for production environments.
  • If the client application is not configured with the client-side security exit then the user credentials are sent in plain text to the remote queue manager. This feature is available for Java/JMS, Java and C# DotNet client applications. For native applications (i.e. C/C++), then the application must use and populate the MQCSP structure with the UserID and Password.
  • If the MQAdmin sets the MQAUSX IniFile parameter NoAuth to Y then it functions just like MQSSX. MQSSX does not authenticate. It filters the incoming connection based on UserID, IP address, hostname and/or SSL DN.
    MQAUSX server-side can authenticate user credentials against the following targets:

  • Server’s native OS system (Local OS)
  • Remote LDAP server
  • Microsoft’s Active Directory
  • Quest Authentication Services* (QAS) aka Vintela Authentication Services* (VAS)
  • Centrify’s DirectControl*
  • PAM* (Pluggable Authentication Module)
  • An encrypted MQAUSX FBA file (similar to /etc/passwd file).

*Linux and Unix only.

Capitalware recommends disabling both CONNAUTH and CHLAUTH and using the features of MQAUSX to perform filtering, authentication and setting of the connection’s UserId (which will be used by MQ’s OAM to perform authorization).

The MQAdmin can have some channels authenticate the user credentials against an LDAP server and other channels, of the same queue manager, authenticate against the Local OS, AND even other channels go against other target authentication mechanisms. With CONNAUTH, you can only configure 1 target per queue manager.

    The sequence of events that MQAUSX server-side component goes through for each connection request:

  • Perform Maximum Connections per Channel (MCC) check if enabled
  • Perform AllowHostname, AllowHostByName, AllowIP & AllowSSLDN checks (that are enabled)
  • Perform RejectHostname, RejectHostByName, RejectIP & RejectSSLDN checks (that are enabled)
  • Request information from MQAUSX client-side security exit when in use or if no client-side security exit then wait for MQ to invoke the exit with user credentials
  • Perform Queue Manager Password check if enabled
  • Perform Self-Signed Certificate check if enabled
  • Perform Allowmqm & AllowBlankUserID checks if enabled
  • Perform AllowUserID check if enabled
  • Perform RejectUserID check if enabled
  • Perform Group check if enabled
  • If Credential Cache is enabled then check cache otherwise perform authentication (if cache entry has expired then perform authentication)
    • Setting the UserId for connection:

    • Set it to the UserId used for authentication (default)
    • Set it to the value in the channel’s MCAUSER field (see UseMCAUser)
    • z/OS only – If UseSSLCertUserID is set then the value in the channel’s SSLCertUserid field will be used
    • Set it to the UserId from the SSL Certifcate (see UseSSLUserIDFromDN)
    • Set it to the UserId from the LDAP ANR (see ExtractUserIDFromANR)
    • Perform Proxy look up if enabled and set it to the Proxy UserId (see UseProxy)

  • If CheckFinalUserID is enabled, recheck the UserID against Allowmqm, AllowUserID & RejectUserID

If everything is correct then MQAUSX server-side component will set the connection’s UserId and a log entry will be written to the LogFile. Here is an example of a successful connection:

Connection accepted for MCA_UID='tester' UserID='tester' UserSpecifiedServer='' QMgr='MQWT1' ChlName='TEST.EXIT' ConName='10.10.10.10' Server='' RemoteUserID='roger'
    where:

  • MCA_UID is the UserId that is set by MQAUSX and will be used for the connection
  • UserID is the UserId that was authenticated
  • UserSpecifiedServer is the MS AD server name specified by the user, if allowed**
  • QMgr is the queue manager name
  • ChlName is the channel name for this connection
  • ConName is the client IP address
  • Server is the MS AD server used for authentication**
  • RemoteUserID is the UserId that the client application is actually running under

** Windows only.

If the incoming connection fails any filter, authentication or other feature then MQAUSX server-side component will immediately close the channel and write log entry to the LogFile. Here is an example of a failed connection attempt:

Connection failed for UserID='tester' UserSpecifiedServer='' QMgr='MQWT1' ChlName='TEST.EXIT' ConName='10.10.10.10' Server='' RemoteUserID='roger'

Finally, Capitalware offers free 60-day trials of both MQAUSX and z/MQAUSX which includes free support (no strings attacehd). If you interesting in trying it out, please send an email to support@capitalware.com to request a trial of MQAUSX or z/MQAUSX.

Regards,
Roger Lacroix
Capitalware Inc.

Capitalware, IBM i (OS/400), IBM MQ, Linux, MQ Authenticate User Security Exit, Security, Unix, Windows, z/OS Comments Off on MQAUSX Explained or Better Explained

Jonathan Levell will be Speaking at MQTC v2.0.1.8

Jonathan Levell of IBM will be presenting the following sessions at MQ Technical Conference v2.0.1.8 (MQTC):

    Jonathan Levell’s Technical Sessions:

  • Connecting IoT Devices and Mobile Applications to your Enterprise with IBM IoT MessageSight & IBM MQ
  • MQTT: The Protocol for the Internet of Things

For more information about MQTC, please go to:
http://www.mqtechconference.com

Regards,
Roger Lacroix
Capitalware Inc.

Education, IBM MQ, MQ Technical Conference, MQTT Comments Off on Jonathan Levell will be Speaking at MQTC v2.0.1.8

Capitalware Products 2018 Release Train

Here is a summary of all the recent releases that Capitalware Inc. has published:

    Updated ‘License as Free’ products:

  • MQ Channel Auto Creation Manager v1.0.4
  • MQ Channel Auto Creation Manager for z/OS v1.0.4
  • MQ Set UserID v1.0.3
  • MQ Set UserID for z/OS v1.0.3
  • Client-side Security Exit for Depository Trust Clearing Corporation v1.0.3
  • Client-side Security Exit for Depository Trust Clearing Corporation for z/OS v1.0.3

Regards,
Roger Lacroix
Capitalware Inc.

Capitalware, IBM i (OS/400), IBM MQ, Licensed As Free, Linux, MQ Auditor, MQ Authenticate User Security Exit, MQ Channel Connection Inspector, MQ Channel Encryption, MQ Channel Throttler, MQ Enterprise Security Suite, MQ Message Encryption, MQ Message Replication, MQ Standard Security Exit, Security, Unix, Windows, z/OS Comments Off on Capitalware Products 2018 Release Train

New: MQ Message Replication v2.0.0

Capitalware Inc. would like to announce the official release of MQ Message Replication v2.0.0. This is a FREE upgrade for ALL licensed users of MQ Message Replication. MQ Message Replication (MQMR) will clone messages being written (via MQPUT or MQPUT1 API calls) to an application’s output queue and MQMR will write the exact same messages to ‘n’ target queues (‘n’ can be up to 100). When MQMR replicates a message both the message data and the message’s MQMD structure will be cloned.

For more information about MQMR, please go to:
https://www.capitalware.com/mqmr_overview.html

    Changes for MQ Message Replication v2.0.0:

  • Added UseSyncPoint keyword to enable synpoint for cloned messages.
  • Added the ability to clear the MQMD Report Options field – new keywords: ClearRO, ClearROCOA, ClearROCOD, ClearROPAN, ClearRONAN, ClearROException & ClearROExpiration
  • Added the ability to skip messages with the MQMD Feedback field set to particular values – new keywords: SkipCOA, SkipCOD, SkipPAN, SkipNAN & SkipExpiration
  • Fixed an issue with the handling of reloading the IniFile
  • Fixed an issue with determining the application name.
  • Fixed an issue in the logging framework where a constant was being modified.
    • Added 2 auxiliary programs: MQ2SDB & SDB2MQ

    • MQ Queue To SQLite DB (MQ2SDB) program will offload MQ messages to an SQLite database.
    • SQLite DB To MQ Queue (SDB2MQ) program will load SQLite database rows into messages in an MQ queue.

    Regards,
    Roger Lacroix
    Capitalware Inc.

Capitalware, IBM i (OS/400), IBM MQ, Linux, MQ Message Replication, Unix, Windows Comments Off on New: MQ Message Replication v2.0.0

New: MQ Message Encryption v4.0.0

Capitalware Inc. would like to announce the official release of MQ Message Encryption v4.0.0. This is a FREE upgrade for ALL licensed users of MQ Message Encryption. MQME provides encryption for MQ message data while it resides in a queue and in the MQ logs (i.e. all data at rest).

For more information about MQME, please go to:
https://www.capitalware.com/mqme_overview.html

    Changes for MQ Message Encryption v4.0.0:

  • Added Topic section so that MQME will protect topics.
  • Added UseExcludeTopics and ExcludeTopics keywords to explicitly exclude topics from being protected.
  • Added EncPassPhrase keyword to support the use of encrypted PassPhrase.
  • Added ‘enc_pp’ program that will create an encrypted PassPhrase.
  • Fixed an issue with determining the application name.
  • Removed MQAPILevel keyword as it is no longer needed.
  • Changed when the authorization is perform. Now it is done during the MQOPEN rather than MQGet and/or MQPUT/1.
  • Fixed an issue in the logging framework where a constant was being modified.

Regards,
Roger Lacroix
Capitalware Inc.

Capitalware, IBM i (OS/400), IBM MQ, Linux, MQ Message Encryption, Security, Unix, Windows Comments Off on New: MQ Message Encryption v4.0.0

New: MQ Channel Encryption v3.2.0

Capitalware Inc. would like to announce the official release of MQ Channel Encryption (MQCE) v3.2.0. This is a FREE upgrade for ALL licensed users of MQCE. MQCE provides encryption for message data over IBM MQ channels.

MQCE operates with Sender, Receiver, Server, Requester, Cluster-Sender, Cluster-Receiver, Server Connection and Client Connection channels of the WMQ queue managers. MQCE uses Advanced Encryption Standard (AES) to encrypt the data and SHA-2 to create a digital signature.

For more information about MQCE go to:
https://www.capitalware.com/mqce_overview.html

    Changes for MQ Channel Encryption v3.2.0:

  • Added EncPassPhrase keyword to support the use of encrypted PassPhrase.
  • Added ‘enc_pp’ program that will create an encrypted PassPhrase.
  • Addition debug logging information added
  • Fixed an issue in the logging framework where a constant was being modified.

Regards,
Roger Lacroix
Capitalware Inc.

Capitalware, IBM i (OS/400), IBM MQ, Linux, MQ Channel Encryption, Security, Unix, Windows Comments Off on New: MQ Channel Encryption v3.2.0

New: MQ Channel Encryption for z/OS v3.2.0

Capitalware Inc. would like to announce the official release of MQ Channel Encryption for z/OS (z/MQCE) v3.2.0. This is a FREE upgrade for ALL licensed users of z/MQCE. z/MQCE provides encryption for message data over IBM MQ channels.

z/MQCE operates with Sender, Receiver, Server, Requester, Cluster-Sender, Cluster-Receiver, Server Connection and Client Connection channels of the WMQ queue managers. z/MQCE uses Advanced Encryption Standard (AES) to encrypt the data and SHA-2 to create a digital signature.

For more information about z/MQCE go to:
https://www.capitalware.com/mqce_zos_overview.html

    Changes for MQ Channel Encryption for z/OS v3.2.0:

  • Added EncPassPhrase keyword to support the use of encrypted PassPhrase.
  • Added ‘ENC_PP’ program that will create an encrypted PassPhrase.
  • Addition debug logging information added
  • Fixed an issue in the logging framework where a constant was being modified.

Regards,
Roger Lacroix
Capitalware Inc.

Capitalware, IBM MQ, MQ Channel Encryption, Security, z/OS Comments Off on New: MQ Channel Encryption for z/OS v3.2.0

New: MQ Channel Throttler v1.1.0

Capitalware Inc. would like to announce the official release of MQ Channel Throttler v1.1.0. This is a FREE upgrade for ALL licensed users of MQ Channel Throttler. MQCT provides the ability to control/throttle the number of messages or bytes that flow over a channel.

For more information about MQCT, please go to:
https://www.capitalware.com/mqct_overview.html

  • Added extra checks for null pointers
  • Performed some tuning to some highly used functions
  • Fixed an issue with counting message/bytes for MQGET.
  • Added code to determine Endianness on startup.
  • Fixed an issue related to MQOD structure.
  • Fixed an issue related to MQPMO structure.
  • Fixed an issue related to MQGMO structure.
  • Fixed an issue related to MQMD structure.
  • Fixed an issue in the logging framework where a constant was being modified.

Regards,
Roger Lacroix
Capitalware Inc.

Capitalware, IBM i (OS/400), IBM MQ, Linux, MQ Channel Throttler, Unix, Windows Comments Off on New: MQ Channel Throttler v1.1.0

New: MQ Authenticate User Security Exit v3.3.0

Capitalware Inc. would like to announce the official release of MQ Authenticate User Security Exit v3.3.0. This is a FREE upgrade for ALL licensed users of MQ Authenticate User Security Exit. MQ Authenticate User Security Exit is a solution that allows a company to fully authenticate a user who is accessing an IBM MQ resource. It authenticates the user’s UserID and Password (and possibly Domain Name) against the server’s native OS system, LDAP server, Microsoft’s Active Directory, Quest Authentication Services, Centrify’s DirectControl or an encrypted MQAUSX FBA file.

For more information about MQ Authenticate User Security Exit go to:
https://www.capitalware.com/mqausx_overview.html

Changes for MQ Authenticate User Security Exit v3.3.0:

    Server-side:

  • Added code to check all cache entries if they have expired.
  • For Linux and Windows switched to Novell’s latest release of LDAP Libraries for C
  • Fixed an issue in the logging framework where a constant was being modified.

Regards,
Roger Lacroix
Capitalware Inc.

Capitalware, IBM i (OS/400), IBM MQ, Linux, MQ Authenticate User Security Exit, Security, Unix, Windows Comments Off on New: MQ Authenticate User Security Exit v3.3.0

New: MQ Authenticate User Security Exit for z/OS v3.3.0

Capitalware Inc. would like to announce the official release of MQ Authenticate User Security Exit for z/OS v3.3.0. This is a FREE upgrade for ALL licensed users of MQ Authenticate User Security Exit for z/OS. MQ Authenticate User Security Exit for z/OS is a solution that allows a company to fully authenticate a user who is accessing an IBM MQ for z/OS resource. It authenticates the user’s UserID and Password against the native z/OS system or an encrypted MQAUSX FBA file.

For more information about MQ Authenticate User Security Exit for z/OS go to:
https://www.capitalware.com/mqausx_zos_overview.html

Changes for MQ Authenticate User Security Exit for z/OS v3.3.0:

    Server-side:

  • Added code to check all cache entries if they have expired.
  • Fixed an issue in the logging framework where a constant was being modified.

Regards,
Roger Lacroix
Capitalware Inc.

Capitalware, IBM MQ, MQ Authenticate User Security Exit, Security, z/OS Comments Off on New: MQ Authenticate User Security Exit for z/OS v3.3.0