SlideShare une entreprise Scribd logo
1  sur  35
Télécharger pour lire hors ligne
Integration Technical Conference 2019
M11 – Securing your
MQ environment.
RobParker
SoftwareEngineer,SecurityFocal.
IBMMQDevelopment.
parrobe@uk.ibm.com
Integration Technical Conference 2019 2
Please note:
IBM’s statements regarding its plans, directions, and intent
are subject to change or withdrawal without notice at IBM’s
sole discretion.
Information regarding potential future products is intended to outline our general product direction and it should not be relied on in
making a purchasing decision.
The information mentioned regarding potential future products is not a commitment, promise, or legal obligation to deliver
any material, code or functionality. Information about potential future products may not be incorporated into any contract.
The development, release, and timing of any future features
or functionality described for our products remains at our sole discretion.
Performance is based on measurements and projections
using standard IBM benchmarks in a controlled environment. The actual throughput or performance that any user will experience will
vary depending upon many factors, including considerations such as the amount of multiprogramming in
the user’s job stream, the I/O configuration, the storage configuration, and the workload processed. Therefore, no assurance can be
given that an individual user will achieve results similar to those stated here.
3Integration Technical Conference 2019
Agenda
• Security features in MQ Queue Managers
ØCommon features
ØConnection authentication
ØAuthorization
ØTLS
ØAdvanced Message Security
ØChannel Authentication records
ØSecurity Exits
ØInteractions between security features
• Security options for REST/MQ Console
More in depth session:
M14 – MQ Security
Deep Dive.
Wednesday 16:10
4Integration Technical Conference 2019
Security features in
Queue Managers
Integration Technical Conference 2019 5
Security features in Queue Managers
CommonFeatures
• Security features are configured on the queue manager
Ø Clients need to be configured to match the qm configuration
Ø Most features can be enabled/disabled through configuration
• Security checks are performed in the same order on clients that connect
Ø Both network clients and local binding clients
Ø Local bindings have a subset of checks performed.
• When a client fails a security check it will receive a 2035 return code
Ø It will not receive any details on what check it failed or why.
Ø Administrators can check the queue manager error logs for more details.
Integration Technical Conference 2019 6
Security features in Queue Managers
CommonFeatures
CHLAUTH
Mapping
Security
Exit
CHLAUTH
Block User
Authorisation
Remote
Client
App
CHLAUTH
BlockAddr
TLS
RC=OK
Connection
Authentication
Local
Client
App
Integration Technical Conference 2019 7
Security features in Queue Managers
ConnectionAuthentication
• Connection authentication feature available in MQ v8 and above.
Ø Allows authentication using user credentials supplied by client applications.
• User ID can be validated against a number of user repositories
Ø OS, LDAP, PAM modules
• IBM MQ clients send two different userids in the connection data.
Ø The userid that is running the application.
Ø The userid and password that the application wants to authenticate with.
• Allows granular controls over whether an application has to provide valid credentials
EarlyAdopt
Integration Technical Conference 2019 8
Security features in Queue Managers
ConnectionAuthentication CHCK…
NONE
OPTIONAL
REQUIRED
REQDADM
QMGR
N
etw
ork
C
om
m
unications
Inter process
Communications
DEFINE AUTHINFO(USE.PW) AUTHTYPE(xxxxxx)
CHCKLOCL(OPTIONAL)
CHCKCLNT(REQUIRED)
ALTER QMGR CONNAUTH(USE.PW)
REFRESH SECURITY TYPE(CONNAUTH)
MQRC_NOT_AUTHORIZED (2035)
MQRC_NONE (0)
User
Repository
Remote
Client
App
Local
Client
App
Integration Technical Conference 2019 9
Security features in Queue Managers
ConnectionAuthentication CHCK…
NONE
OPTIONAL
REQUIRED
REQDADM
QMGR
N
etw
ork
C
om
m
unications
Inter process
Communications
DEFINE AUTHINFO(USE.PW) AUTHTYPE(xxxxxx)
CHCKLOCL(OPTIONAL)
CHCKCLNT(REQUIRED)
ALTER QMGR CONNAUTH(USE.PW)
REFRESH SECURITY TYPE(CONNAUTH)
MQRC_NOT_AUTHORIZED (2035)
MQRC_NONE (0)
User
Repository
Remote
Client
App
Local
Client
App
Integration Technical Conference 2019 10
Security features in Queue Managers
Authorization
• This is performed by creating authority records
Ø We create authority records for a specific user or group.
• Authority is given on MQ objects and dictate what actions they can performed (PUT, GET, OPEN, etc)
• If a user or group does not have authority to do what they are trying to do, they get blocked.
Ø Authority is built up from all authority record sources
Ø Users who are members of the mqm group have full administrator access.
• A channel or channel authentication rule can change the userid used for authority checks
What user is
used for
Authorization?
Integration Technical Conference 2019 11
Security features in Queue Managers
Authorization
QMGR
SET AUTHREC OBJTYPE(QMGR) +
GROUP(‘Group1’) +
AUTHADD(CONNECT)
MQRC_NOT_AUTHORIZED (2035)
MQRC_NONE (0)
Authority Records
Group 1 –
Group 2 -
Remote
Client
App
Local
Client
App
Integration Technical Conference 2019 12
Security features in Queue Managers
TLS
¡IBM MQ’s integration of TLS provides the following features:
„Encryption of transmissions between client/queue manager to queue manager.
„Integrity of transmissions between client/queue manager to queue manager.
„[optional] Authentication with a queue manager.
¡Requires Certificates in order to function
„Supports both RSA and ECDSA certificates
„Stored in a keystore.
¡MQ supports a number of TLS providers
„GSKit
„JSSE
„.NET
Integration Technical Conference 2019 13
Security features in Queue Managers
TLS
• Certificates are created, stored and managed using tools supplied with IBM MQ
Ø runmqakm
Ø runmqckm
Ø iKeyman (strmqikm)
• IBM MQ Channels can only have a single CipherSpec set on them
Ø A CipherSpec is a string which details the hashing and encryption algorithm to use.
Ø CipherSpec given by client must match the Channel’s CipherSpec
o ANY_TLS12 was added to allow you to specify multiple valid Ciphers (v9.1.1)
Integration Technical Conference 2019 14
Security features in Queue Managers
TLS
• IBM MQ allows clients to either connect anonymously or with mutual authentication
Ø If a client connects with a certificate then it must be known and trusted by the queue manager.
• CipherSpec lists are updated when new vulnerabilities arise
Ø In later versions of IBM MQ you may notice the list size changing.
Ø We do not delete CipherSpecs, we disable them by default.
• MQv8 added in multiple certificates feature
Ø Allows you to specify a different certificate to use at the channel level
Ø Allows you to specify a certificate to use on the queue manager
Ø Before you would be forced to name your certificate ibmwebspheremq<QM name>
Integration Technical Conference 2019 15
Keystore
Security features in Queue Managers
TLS
QMGR
DEFINE CHANNEL(ENTRY) CHLTYPE(SVRCONN)
SSLCIPH(‘ECDHE_RSA_AES_256_GCM_SHA384’)
Remote
Client
App
Keystore
MQSCO:
KeyRepository=location of key repository
MQCD:
SSLCipherSpec= ECDHE_RSA_AES_256_GCM_SHA384
Integration Technical Conference 2019 16
Security features in Queue Managers
AdvancedMessageSecurity
• AMS:
Ø It is message level security
Ø It is an MQ Advanced feature
• AMS is an end-to-end security model, messages stay signed/encrypted through the whole lifetime of a message
Ø In transit and At rest
• With AMS you can create policies for a queue that describe how messages should be protected when applications put
or get messages using that queue name.
Ø Signed
Ø Encrypted
Advanced
Message
Security
Integration Technical Conference 2019 17
Security features in Queue Managers
AdvancedMessageSecurity
• AMS does not perform any access control:
Ø Only privacy and integrity protection
• Encryption level protection prevents unauthorised users reading message data.
Ø Including MQ administrators.
• Signing protection prevents messages from being altered.
• AMS use certificates – Same as TLS.
Ø But has extra requirements
• No application code changes required to use AMS.
Integration Technical Conference 2019 18
Keystore
Security features in Queue Managers
AdvancedMessageSecurity
QMGR
SET POLICY(Q1) SIGNALG(SHA512)
SIGNER(‘CN=UserA,O=IBM,C=UK’)
ACTION(ADD)
Client
App
Q1
Keystore
Client
App
Integration Technical Conference 2019 19
Security features in Queue Managers
ChannelAuthenticationRecords
• Channel authentication rules are filters that can be applied for incoming connections
Ø Allowlisting – Allow connections based on a filter
Ø Blocklisting – Block a connection based on a filter
• The filters are applied on channels and are applied to all incoming connections for that channel
Ø The filter can be either very specific or generic. (Exact channel name or wildcard)
Integration Technical Conference 2019 20
Security features in Queue Managers
ChannelAuthenticationRecords
• There are four types of filters:
Ø TLS Distinguished name (Issuer and Subject)
Ø Client User ID name
Ø Remote Queue Manager name
Ø IP/Hostname
• For IP/Hostname the connection can be allowed/blocked at the listener or channel
• For Client user ID, the userid blocked can be the userid connected with or the final adopted userid
Integration Technical Conference 2019 21
Security features in Queue Managers
ChannelAuthenticationRecords
QMGR
SET CHLAUTH(*) TYPE(USERMAP)
CLNTUSER(*)
USERSRC(NOACCESS)
ACTION(ADD)
SET CHLAUTH(*) TYPE(USERMAP)
CLNTUSER(‘UserA’)
USERSRC(CHANNEL)
ACTION(ADD)
MQRC_NOT_AUTHORIZED (2035)
MQRC_NONE (0)
Remote
Client
App
Remote
Client
App
Integration Technical Conference 2019 22
Security features in Queue Managers
SecurityExits
• Security exits are bespoke, customer created exits that are ran during the security checking.
• MQ comes with an API that can interact with MQ to provide extra control over a connection.
Ø They allow customers to expand MQ's security to suit their needs.
Ø For example a customer could write a security exit to only allow connection to a channel during 08:00 to 17:00.
• Before MQ v8 they could be used to provide connection authentication functionality.
• When executed the security exit will have access to the channel definition, information about the incoming connection
and information
Ø It will also have a piece of data passed to it that is set on the channel - SCYDATA
Integration Technical Conference 2019 23
What user will be authorized?
SecurityExits
QMGR
Local
Client App
DEFINE CHANNEL(IN) CHLTYPE(SVRCONN) SCYEXIT(‘Exit’)Exit:
If time range is not 09:00 – 17:00. Block
MQRC_NOT_AUTHORIZED (2035)
Integration Technical Conference 2019 24
Security features in Queue Managers
Interactions between security features
• Every security feature of MQ interacts with each other (except AMS and TLS)
• Channel authentication rules, Connection authentication & Security exits can change the userid used for authorization
checks
• Connection authentication can change the userid which is tested during channel authentication rules.
• To effectively design your security you must consider all security features.
EarlyAdopt
What user is
used for
Authorization?
25Integration Technical Conference 2019
Security options for
REST/MQ Console
26Integration Technical Conference 2019
REST/MQ Console Security
• Role based access control. Need to be a member of
at least one role
Ø MQWebAdmin
Ø MQWebAdminRO
Ø MQWebUser
Ø MFTWebAdmin
Ø MFTWebAdminRO
• User and groups defined in a registry
Ø Basic
Ø LDAP
Ø SAF (on z/OS)
Ø OS (on distributed)
• REST is locked down by default, need to do some
configuring
Ø Samples provided to make
this simpler
Integration Technical Conference 2019 27
Security options for REST/MQ Console
• Token based
Ø User logs in once with user id and password and then gets a cookie which is used for subsequent requests
curl -k -X POST -H "Content-Type: application/json"
-d "{"username":"mqadmin","password":"mqadmin"}"
https://localhost:9443/ibmmq/rest/v1/login -c c:tempcookiejar.txt
Ø DELETE to the login URL logs out
• Or HTTP basic authentication
Ø User id and password provided as an encoded header, must be set for each request
User id and password
provided as JSON
payload
Cookie stored for use
on next request
Integration Technical Conference 2019 28
• Or use a client certificate
Ø Must be provided with each call to the REST API
Ø Distinguished name from certificate is mapped to user in configured user registry
Security options for REST/MQ Console
29Integration Technical Conference 2019
More information?
IBM Messaging developerWorks
developer.ibm.com/messaging
IBM Messaging Youtube
https:// ibm.biz/MQplaylist
LinkedIn
https://ibm.biz/ibmmessaging
30Integration Technical Conference 2019
Questions?
Integration Technical Conference 2019 31
Don’t forget to fill out the survey!
Selectyoursession,selectsurvey,ratethesessionandsubmit!
Thank You
Integration Technical Conference 2019 33
Notices and disclaimers
Copyright © 2017 by International Business Machines Corporation (IBM). No part of this document may be reproduced or
transmitted in any form without written permission from IBM.
U.S. Government Users Restricted Rights — use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM.
Information in these presentations (including information relating to products that have not yet been announced by IBM) has been
reviewed for accuracy as of the date of initial publication and could include unintentional technical or typographical errors. IBM shall
have no responsibility to update this information. This document is distributed “as is” without any warranty, either express or implied.
In no event shall IBM be liable for any damage arising from the use of this information, including but not limited to, loss of data,
business interruption, loss of profit or loss of opportunity. IBM products and services are warranted according to the terms and
conditions of the agreements under which they are provided.
IBM products are manufactured from new parts or new and used parts.
In some cases, a product may not be new and may have been previously installed. Regardless, our warranty terms apply.”
Any statements regarding IBM's future direction, intent or product plans are subject to change or withdrawal without notice.
Performance data contained herein was generally obtained in a controlled, isolated environments. Customer examples are presented
as illustrations of how those customers have used IBM products and
the results they may have achieved. Actual performance, cost, savings or other results in other operating environments may vary.
References in this document to IBM products, programs, or services does not imply that IBM intends to make such products,
programs or services available in all countries in which IBM operates or does business.
Integration Technical Conference 2019 34
Notices and disclaimers
Workshops, sessions and associated materials may have been prepared by independent session speakers, and do not necessarily
reflect the
views of IBM. All materials and discussions are provided for informational purposes only, and are neither intended to, nor shall
constitute legal or other guidance or advice to any individual participant or their specific situation.
It is the customer’s responsibility to insure its own compliance with legal requirements and to obtain advice of competent legal
counsel as to the identification and interpretation of any relevant laws and regulatory requirements that may affect the customer’s
business and any actions
the customer may need to take to comply with such laws. IBM does not provide legal advice or represent or warrant that its services
or products will ensure that the customer is in compliance with any law.
Information concerning non-IBM products was obtained from the suppliers of those products, their published announcements or
other publicly available sources. IBM has not tested those products in connection with this publication and cannot confirm the
accuracy of performance, compatibility or any other claims related to non-IBM products. Questions on the capabilities of non-IBM
products should be addressed to the suppliers of those products. IBM does not warrant the quality of any third-party products, or the
ability of any such third-party products to interoperate with IBM’s products. IBM expressly disclaims all warranties, expressed or
implied, including but not limited to, the implied warranties of merchantability and fitness for a particular, purpose.
The provision of the information contained herein is not intended to, and does not, grant any right or license under any IBM patents,
copyrights, trademarks or other intellectual property right.
Integration Technical Conference 2019 35
Notices and disclaimers
IBM, the IBM logo, ibm.com, Aspera®, Bluemix, Blueworks Live, CICS, Clearcase, Cognos®, DOORS®, Emptoris®, Enterprise Document
Management System™, FASP®, FileNet®, Global Business Services®,
Global Technology Services®, IBM ExperienceOne™, IBM SmartCloud®, IBM Social Business®, Information on Demand, ILOG, Maximo®,
MQIntegrator®, MQSeries®, Netcool®, OMEGAMON, OpenPower, PureAnalytics™, PureApplication®, pureCluster™, PureCoverage®,
PureData®, PureExperience®, PureFlex®, pureQuery®, pureScale®, PureSystems®, QRadar®, Rational®, Rhapsody®, Smarter Commerce®,
SoDA, SPSS, Sterling Commerce®, StoredIQ, Tealeaf®, Tivoli® Trusteer®, Unica®, urban{code}®, Watson, WebSphere®, Worklight®, X-
Force® and System z® Z/OS, are trademarks of International Business Machines Corporation, registered in many jurisdictions
worldwide. Other product and service names might be trademarks of IBM or other companies. A current list of IBM trademarks is
available on the Web at "Copyright and trademark information" at: www.ibm.com/legal/copytrade.shtml.

Contenu connexe

Tendances

Tendances (20)

M10: How to implement mq in a containerized architecture ITC 2019
M10: How to implement mq in a containerized architecture ITC 2019M10: How to implement mq in a containerized architecture ITC 2019
M10: How to implement mq in a containerized architecture ITC 2019
 
What's new in IBM MQ
What's new in IBM MQWhat's new in IBM MQ
What's new in IBM MQ
 
M14: MQ security deep dive ITC 2019
M14: MQ security deep dive ITC 2019M14: MQ security deep dive ITC 2019
M14: MQ security deep dive ITC 2019
 
IBM MQ Light @ Capitalware's MQTC 2.0.1.4 conference
IBM MQ Light @ Capitalware's MQTC 2.0.1.4 conferenceIBM MQ Light @ Capitalware's MQTC 2.0.1.4 conference
IBM MQ Light @ Capitalware's MQTC 2.0.1.4 conference
 
IBM MQ in containers MQTC 2017
IBM MQ in containers MQTC 2017IBM MQ in containers MQTC 2017
IBM MQ in containers MQTC 2017
 
IBM Think 2018: IBM MQ High Availability
IBM Think 2018: IBM MQ High AvailabilityIBM Think 2018: IBM MQ High Availability
IBM Think 2018: IBM MQ High Availability
 
MQTC 2016: IBM MQ Security deep dive including AMS
MQTC 2016: IBM MQ Security deep dive including AMSMQTC 2016: IBM MQ Security deep dive including AMS
MQTC 2016: IBM MQ Security deep dive including AMS
 
IBM MQ in Containers - Think 2018
IBM MQ in Containers - Think 2018IBM MQ in Containers - Think 2018
IBM MQ in Containers - Think 2018
 
Running IBM MQ in Containers
Running IBM MQ in ContainersRunning IBM MQ in Containers
Running IBM MQ in Containers
 
Multi-cloud deployment with IBM MQ
Multi-cloud deployment with IBM MQMulti-cloud deployment with IBM MQ
Multi-cloud deployment with IBM MQ
 
Business Agility through Self-Service Messaging - InterConnect 2016
Business Agility through Self-Service Messaging - InterConnect 2016Business Agility through Self-Service Messaging - InterConnect 2016
Business Agility through Self-Service Messaging - InterConnect 2016
 
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
 
IBM MQ Advanced - IBM InterConnect 2016
IBM MQ Advanced - IBM InterConnect 2016IBM MQ Advanced - IBM InterConnect 2016
IBM MQ Advanced - IBM InterConnect 2016
 
IBM Think 2018: IBM MQ Appliance
IBM Think 2018: IBM MQ ApplianceIBM Think 2018: IBM MQ Appliance
IBM Think 2018: IBM MQ Appliance
 
Interconnect 2017: 6885 Deploying IBM MQ in the cloud
Interconnect 2017: 6885 Deploying IBM MQ in the cloudInterconnect 2017: 6885 Deploying IBM MQ in the cloud
Interconnect 2017: 6885 Deploying IBM MQ in the cloud
 
What's new in IBM MQ, March 2018
What's new in IBM MQ, March 2018What's new in IBM MQ, March 2018
What's new in IBM MQ, March 2018
 
IBM MQ Update, including 9.1.2 CD
IBM MQ Update, including 9.1.2 CDIBM MQ Update, including 9.1.2 CD
IBM MQ Update, including 9.1.2 CD
 
Expanding your options with the IBM MQ Appliance - IBM InterConnect 2016
Expanding your options with the IBM MQ Appliance - IBM InterConnect 2016Expanding your options with the IBM MQ Appliance - IBM InterConnect 2016
Expanding your options with the IBM MQ Appliance - IBM InterConnect 2016
 
JLove conference 2020 - Reacting to an Event-Driven World
JLove conference 2020 - Reacting to an Event-Driven WorldJLove conference 2020 - Reacting to an Event-Driven World
JLove conference 2020 - Reacting to an Event-Driven World
 
IBM MQ cloud architecture blueprint
IBM MQ cloud architecture blueprintIBM MQ cloud architecture blueprint
IBM MQ cloud architecture blueprint
 

Similaire à M11 - Securing your MQ environment. Integration technical conference 2019

sasikumarj_resume
sasikumarj_resumesasikumarj_resume
sasikumarj_resume
Sasi Kumar
 

Similaire à M11 - Securing your MQ environment. Integration technical conference 2019 (20)

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
 
Interconnect 2017: 6893 Keep out the bad guys by securing your MQ messaging e...
Interconnect 2017: 6893 Keep out the bad guys by securing your MQ messaging e...Interconnect 2017: 6893 Keep out the bad guys by securing your MQ messaging e...
Interconnect 2017: 6893 Keep out the bad guys by securing your MQ messaging e...
 
Simplifying IBM MQ Security in your MQ estate
Simplifying IBM MQ Security in your MQ estateSimplifying IBM MQ Security in your MQ estate
Simplifying IBM MQ Security in your MQ estate
 
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...
 
MQTC 2016 - IBM MQ Security: Overview & recap
MQTC 2016 - IBM MQ Security: Overview & recapMQTC 2016 - IBM MQ Security: Overview & recap
MQTC 2016 - IBM MQ Security: Overview & recap
 
Bluemix Local – Relay Options and Challenges
Bluemix Local – Relay Options and Challenges Bluemix Local – Relay Options and Challenges
Bluemix Local – Relay Options and Challenges
 
Security Best Practices for Your Ignition System
Security Best Practices for Your Ignition SystemSecurity Best Practices for Your Ignition System
Security Best Practices for Your Ignition System
 
MQ Security Overview
MQ Security OverviewMQ Security Overview
MQ Security Overview
 
Extend Your Market Reach with IBM Security QRadar for MSPs
Extend Your Market Reach with IBM Security QRadar for MSPsExtend Your Market Reach with IBM Security QRadar for MSPs
Extend Your Market Reach with IBM Security QRadar for MSPs
 
MQ Appliance - Intro and 8.0.0.5 updates
MQ Appliance - Intro and 8.0.0.5 updatesMQ Appliance - Intro and 8.0.0.5 updates
MQ Appliance - Intro and 8.0.0.5 updates
 
IBM Qradar
IBM QradarIBM Qradar
IBM Qradar
 
The Future of PKI. Using automation tools and protocols to bootstrap trust in...
The Future of PKI. Using automation tools and protocols to bootstrap trust in...The Future of PKI. Using automation tools and protocols to bootstrap trust in...
The Future of PKI. Using automation tools and protocols to bootstrap trust in...
 
Securing MQTT - BuildingIoT 2016 slides
Securing MQTT - BuildingIoT 2016 slidesSecuring MQTT - BuildingIoT 2016 slides
Securing MQTT - BuildingIoT 2016 slides
 
batch-4.pptx
batch-4.pptxbatch-4.pptx
batch-4.pptx
 
Nt2580 Final Project Essay Examples
Nt2580 Final Project Essay ExamplesNt2580 Final Project Essay Examples
Nt2580 Final Project Essay Examples
 
Is your MQTT broker IoT ready?
Is your MQTT broker IoT ready?Is your MQTT broker IoT ready?
Is your MQTT broker IoT ready?
 
sasikumarj_resume
sasikumarj_resumesasikumarj_resume
sasikumarj_resume
 
Istio Triangle Kubernetes Meetup Aug 2019
Istio Triangle Kubernetes Meetup Aug 2019Istio Triangle Kubernetes Meetup Aug 2019
Istio Triangle Kubernetes Meetup Aug 2019
 
Testing MQTT 5.0 implementations
Testing MQTT 5.0 implementationsTesting MQTT 5.0 implementations
Testing MQTT 5.0 implementations
 
Azure Security Overview
Azure Security OverviewAzure Security Overview
Azure Security Overview
 

Plus de Robert Parker

Plus de Robert Parker (9)

IBM MQ Token Authentication.pdf
IBM MQ Token Authentication.pdfIBM MQ Token Authentication.pdf
IBM MQ Token Authentication.pdf
 
IBM MQ Whats new - up to 9.3.4.pdf
IBM MQ Whats new - up to 9.3.4.pdfIBM MQ Whats new - up to 9.3.4.pdf
IBM MQ Whats new - up to 9.3.4.pdf
 
IBM MQ Whats new - including 9.3 and 9.3.1
IBM MQ Whats new - including 9.3 and 9.3.1IBM MQ Whats new - including 9.3 and 9.3.1
IBM MQ Whats new - including 9.3 and 9.3.1
 
M08 protecting your message data in IBM MQ with encryption
M08 protecting your message data in IBM MQ with encryptionM08 protecting your message data in IBM MQ with encryption
M08 protecting your message data in IBM MQ with encryption
 
Planning for MQ in the cloud MQTC 2017
Planning for MQ in the cloud MQTC 2017Planning for MQ in the cloud MQTC 2017
Planning for MQ in the cloud MQTC 2017
 
Deploying and managing IBM MQ in the Cloud
Deploying and managing IBM MQ in the CloudDeploying and managing IBM MQ in the Cloud
Deploying and managing IBM MQ in the Cloud
 
CTU 2017 - I168 IBM MQ in the cloud
CTU 2017 - I168 IBM MQ in the cloudCTU 2017 - I168 IBM MQ in the cloud
CTU 2017 - I168 IBM MQ in the cloud
 
MQTC 2016: Monitoring and Tracking MQ and Applications
MQTC 2016: Monitoring and Tracking MQ and ApplicationsMQTC 2016: Monitoring and Tracking MQ and Applications
MQTC 2016: Monitoring and Tracking MQ and Applications
 
3433 IBM messaging security why securing your environment is important-feb2...
3433   IBM messaging security why securing your environment is important-feb2...3433   IBM messaging security why securing your environment is important-feb2...
3433 IBM messaging security why securing your environment is important-feb2...
 

Dernier

The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
shinachiaurasa2
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
masabamasaba
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
masabamasaba
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
VictorSzoltysek
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
mohitmore19
 

Dernier (20)

AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 
%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg
%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg
%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdf
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 

M11 - Securing your MQ environment. Integration technical conference 2019

  • 1. Integration Technical Conference 2019 M11 – Securing your MQ environment. RobParker SoftwareEngineer,SecurityFocal. IBMMQDevelopment. parrobe@uk.ibm.com
  • 2. Integration Technical Conference 2019 2 Please note: IBM’s statements regarding its plans, directions, and intent are subject to change or withdrawal without notice at IBM’s sole discretion. Information regarding potential future products is intended to outline our general product direction and it should not be relied on in making a purchasing decision. The information mentioned regarding potential future products is not a commitment, promise, or legal obligation to deliver any material, code or functionality. Information about potential future products may not be incorporated into any contract. The development, release, and timing of any future features or functionality described for our products remains at our sole discretion. Performance is based on measurements and projections using standard IBM benchmarks in a controlled environment. The actual throughput or performance that any user will experience will vary depending upon many factors, including considerations such as the amount of multiprogramming in the user’s job stream, the I/O configuration, the storage configuration, and the workload processed. Therefore, no assurance can be given that an individual user will achieve results similar to those stated here.
  • 3. 3Integration Technical Conference 2019 Agenda • Security features in MQ Queue Managers ØCommon features ØConnection authentication ØAuthorization ØTLS ØAdvanced Message Security ØChannel Authentication records ØSecurity Exits ØInteractions between security features • Security options for REST/MQ Console More in depth session: M14 – MQ Security Deep Dive. Wednesday 16:10
  • 4. 4Integration Technical Conference 2019 Security features in Queue Managers
  • 5. Integration Technical Conference 2019 5 Security features in Queue Managers CommonFeatures • Security features are configured on the queue manager Ø Clients need to be configured to match the qm configuration Ø Most features can be enabled/disabled through configuration • Security checks are performed in the same order on clients that connect Ø Both network clients and local binding clients Ø Local bindings have a subset of checks performed. • When a client fails a security check it will receive a 2035 return code Ø It will not receive any details on what check it failed or why. Ø Administrators can check the queue manager error logs for more details.
  • 6. Integration Technical Conference 2019 6 Security features in Queue Managers CommonFeatures CHLAUTH Mapping Security Exit CHLAUTH Block User Authorisation Remote Client App CHLAUTH BlockAddr TLS RC=OK Connection Authentication Local Client App
  • 7. Integration Technical Conference 2019 7 Security features in Queue Managers ConnectionAuthentication • Connection authentication feature available in MQ v8 and above. Ø Allows authentication using user credentials supplied by client applications. • User ID can be validated against a number of user repositories Ø OS, LDAP, PAM modules • IBM MQ clients send two different userids in the connection data. Ø The userid that is running the application. Ø The userid and password that the application wants to authenticate with. • Allows granular controls over whether an application has to provide valid credentials EarlyAdopt
  • 8. Integration Technical Conference 2019 8 Security features in Queue Managers ConnectionAuthentication CHCK… NONE OPTIONAL REQUIRED REQDADM QMGR N etw ork C om m unications Inter process Communications DEFINE AUTHINFO(USE.PW) AUTHTYPE(xxxxxx) CHCKLOCL(OPTIONAL) CHCKCLNT(REQUIRED) ALTER QMGR CONNAUTH(USE.PW) REFRESH SECURITY TYPE(CONNAUTH) MQRC_NOT_AUTHORIZED (2035) MQRC_NONE (0) User Repository Remote Client App Local Client App
  • 9. Integration Technical Conference 2019 9 Security features in Queue Managers ConnectionAuthentication CHCK… NONE OPTIONAL REQUIRED REQDADM QMGR N etw ork C om m unications Inter process Communications DEFINE AUTHINFO(USE.PW) AUTHTYPE(xxxxxx) CHCKLOCL(OPTIONAL) CHCKCLNT(REQUIRED) ALTER QMGR CONNAUTH(USE.PW) REFRESH SECURITY TYPE(CONNAUTH) MQRC_NOT_AUTHORIZED (2035) MQRC_NONE (0) User Repository Remote Client App Local Client App
  • 10. Integration Technical Conference 2019 10 Security features in Queue Managers Authorization • This is performed by creating authority records Ø We create authority records for a specific user or group. • Authority is given on MQ objects and dictate what actions they can performed (PUT, GET, OPEN, etc) • If a user or group does not have authority to do what they are trying to do, they get blocked. Ø Authority is built up from all authority record sources Ø Users who are members of the mqm group have full administrator access. • A channel or channel authentication rule can change the userid used for authority checks What user is used for Authorization?
  • 11. Integration Technical Conference 2019 11 Security features in Queue Managers Authorization QMGR SET AUTHREC OBJTYPE(QMGR) + GROUP(‘Group1’) + AUTHADD(CONNECT) MQRC_NOT_AUTHORIZED (2035) MQRC_NONE (0) Authority Records Group 1 – Group 2 - Remote Client App Local Client App
  • 12. Integration Technical Conference 2019 12 Security features in Queue Managers TLS ¡IBM MQ’s integration of TLS provides the following features: „Encryption of transmissions between client/queue manager to queue manager. „Integrity of transmissions between client/queue manager to queue manager. „[optional] Authentication with a queue manager. ¡Requires Certificates in order to function „Supports both RSA and ECDSA certificates „Stored in a keystore. ¡MQ supports a number of TLS providers „GSKit „JSSE „.NET
  • 13. Integration Technical Conference 2019 13 Security features in Queue Managers TLS • Certificates are created, stored and managed using tools supplied with IBM MQ Ø runmqakm Ø runmqckm Ø iKeyman (strmqikm) • IBM MQ Channels can only have a single CipherSpec set on them Ø A CipherSpec is a string which details the hashing and encryption algorithm to use. Ø CipherSpec given by client must match the Channel’s CipherSpec o ANY_TLS12 was added to allow you to specify multiple valid Ciphers (v9.1.1)
  • 14. Integration Technical Conference 2019 14 Security features in Queue Managers TLS • IBM MQ allows clients to either connect anonymously or with mutual authentication Ø If a client connects with a certificate then it must be known and trusted by the queue manager. • CipherSpec lists are updated when new vulnerabilities arise Ø In later versions of IBM MQ you may notice the list size changing. Ø We do not delete CipherSpecs, we disable them by default. • MQv8 added in multiple certificates feature Ø Allows you to specify a different certificate to use at the channel level Ø Allows you to specify a certificate to use on the queue manager Ø Before you would be forced to name your certificate ibmwebspheremq<QM name>
  • 15. Integration Technical Conference 2019 15 Keystore Security features in Queue Managers TLS QMGR DEFINE CHANNEL(ENTRY) CHLTYPE(SVRCONN) SSLCIPH(‘ECDHE_RSA_AES_256_GCM_SHA384’) Remote Client App Keystore MQSCO: KeyRepository=location of key repository MQCD: SSLCipherSpec= ECDHE_RSA_AES_256_GCM_SHA384
  • 16. Integration Technical Conference 2019 16 Security features in Queue Managers AdvancedMessageSecurity • AMS: Ø It is message level security Ø It is an MQ Advanced feature • AMS is an end-to-end security model, messages stay signed/encrypted through the whole lifetime of a message Ø In transit and At rest • With AMS you can create policies for a queue that describe how messages should be protected when applications put or get messages using that queue name. Ø Signed Ø Encrypted Advanced Message Security
  • 17. Integration Technical Conference 2019 17 Security features in Queue Managers AdvancedMessageSecurity • AMS does not perform any access control: Ø Only privacy and integrity protection • Encryption level protection prevents unauthorised users reading message data. Ø Including MQ administrators. • Signing protection prevents messages from being altered. • AMS use certificates – Same as TLS. Ø But has extra requirements • No application code changes required to use AMS.
  • 18. Integration Technical Conference 2019 18 Keystore Security features in Queue Managers AdvancedMessageSecurity QMGR SET POLICY(Q1) SIGNALG(SHA512) SIGNER(‘CN=UserA,O=IBM,C=UK’) ACTION(ADD) Client App Q1 Keystore Client App
  • 19. Integration Technical Conference 2019 19 Security features in Queue Managers ChannelAuthenticationRecords • Channel authentication rules are filters that can be applied for incoming connections Ø Allowlisting – Allow connections based on a filter Ø Blocklisting – Block a connection based on a filter • The filters are applied on channels and are applied to all incoming connections for that channel Ø The filter can be either very specific or generic. (Exact channel name or wildcard)
  • 20. Integration Technical Conference 2019 20 Security features in Queue Managers ChannelAuthenticationRecords • There are four types of filters: Ø TLS Distinguished name (Issuer and Subject) Ø Client User ID name Ø Remote Queue Manager name Ø IP/Hostname • For IP/Hostname the connection can be allowed/blocked at the listener or channel • For Client user ID, the userid blocked can be the userid connected with or the final adopted userid
  • 21. Integration Technical Conference 2019 21 Security features in Queue Managers ChannelAuthenticationRecords QMGR SET CHLAUTH(*) TYPE(USERMAP) CLNTUSER(*) USERSRC(NOACCESS) ACTION(ADD) SET CHLAUTH(*) TYPE(USERMAP) CLNTUSER(‘UserA’) USERSRC(CHANNEL) ACTION(ADD) MQRC_NOT_AUTHORIZED (2035) MQRC_NONE (0) Remote Client App Remote Client App
  • 22. Integration Technical Conference 2019 22 Security features in Queue Managers SecurityExits • Security exits are bespoke, customer created exits that are ran during the security checking. • MQ comes with an API that can interact with MQ to provide extra control over a connection. Ø They allow customers to expand MQ's security to suit their needs. Ø For example a customer could write a security exit to only allow connection to a channel during 08:00 to 17:00. • Before MQ v8 they could be used to provide connection authentication functionality. • When executed the security exit will have access to the channel definition, information about the incoming connection and information Ø It will also have a piece of data passed to it that is set on the channel - SCYDATA
  • 23. Integration Technical Conference 2019 23 What user will be authorized? SecurityExits QMGR Local Client App DEFINE CHANNEL(IN) CHLTYPE(SVRCONN) SCYEXIT(‘Exit’)Exit: If time range is not 09:00 – 17:00. Block MQRC_NOT_AUTHORIZED (2035)
  • 24. Integration Technical Conference 2019 24 Security features in Queue Managers Interactions between security features • Every security feature of MQ interacts with each other (except AMS and TLS) • Channel authentication rules, Connection authentication & Security exits can change the userid used for authorization checks • Connection authentication can change the userid which is tested during channel authentication rules. • To effectively design your security you must consider all security features. EarlyAdopt What user is used for Authorization?
  • 25. 25Integration Technical Conference 2019 Security options for REST/MQ Console
  • 26. 26Integration Technical Conference 2019 REST/MQ Console Security • Role based access control. Need to be a member of at least one role Ø MQWebAdmin Ø MQWebAdminRO Ø MQWebUser Ø MFTWebAdmin Ø MFTWebAdminRO • User and groups defined in a registry Ø Basic Ø LDAP Ø SAF (on z/OS) Ø OS (on distributed) • REST is locked down by default, need to do some configuring Ø Samples provided to make this simpler
  • 27. Integration Technical Conference 2019 27 Security options for REST/MQ Console • Token based Ø User logs in once with user id and password and then gets a cookie which is used for subsequent requests curl -k -X POST -H "Content-Type: application/json" -d "{"username":"mqadmin","password":"mqadmin"}" https://localhost:9443/ibmmq/rest/v1/login -c c:tempcookiejar.txt Ø DELETE to the login URL logs out • Or HTTP basic authentication Ø User id and password provided as an encoded header, must be set for each request User id and password provided as JSON payload Cookie stored for use on next request
  • 28. Integration Technical Conference 2019 28 • Or use a client certificate Ø Must be provided with each call to the REST API Ø Distinguished name from certificate is mapped to user in configured user registry Security options for REST/MQ Console
  • 29. 29Integration Technical Conference 2019 More information? IBM Messaging developerWorks developer.ibm.com/messaging IBM Messaging Youtube https:// ibm.biz/MQplaylist LinkedIn https://ibm.biz/ibmmessaging
  • 31. Integration Technical Conference 2019 31 Don’t forget to fill out the survey! Selectyoursession,selectsurvey,ratethesessionandsubmit!
  • 33. Integration Technical Conference 2019 33 Notices and disclaimers Copyright © 2017 by International Business Machines Corporation (IBM). No part of this document may be reproduced or transmitted in any form without written permission from IBM. U.S. Government Users Restricted Rights — use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM. Information in these presentations (including information relating to products that have not yet been announced by IBM) has been reviewed for accuracy as of the date of initial publication and could include unintentional technical or typographical errors. IBM shall have no responsibility to update this information. This document is distributed “as is” without any warranty, either express or implied. In no event shall IBM be liable for any damage arising from the use of this information, including but not limited to, loss of data, business interruption, loss of profit or loss of opportunity. IBM products and services are warranted according to the terms and conditions of the agreements under which they are provided. IBM products are manufactured from new parts or new and used parts. In some cases, a product may not be new and may have been previously installed. Regardless, our warranty terms apply.” Any statements regarding IBM's future direction, intent or product plans are subject to change or withdrawal without notice. Performance data contained herein was generally obtained in a controlled, isolated environments. Customer examples are presented as illustrations of how those customers have used IBM products and the results they may have achieved. Actual performance, cost, savings or other results in other operating environments may vary. References in this document to IBM products, programs, or services does not imply that IBM intends to make such products, programs or services available in all countries in which IBM operates or does business.
  • 34. Integration Technical Conference 2019 34 Notices and disclaimers Workshops, sessions and associated materials may have been prepared by independent session speakers, and do not necessarily reflect the views of IBM. All materials and discussions are provided for informational purposes only, and are neither intended to, nor shall constitute legal or other guidance or advice to any individual participant or their specific situation. It is the customer’s responsibility to insure its own compliance with legal requirements and to obtain advice of competent legal counsel as to the identification and interpretation of any relevant laws and regulatory requirements that may affect the customer’s business and any actions the customer may need to take to comply with such laws. IBM does not provide legal advice or represent or warrant that its services or products will ensure that the customer is in compliance with any law. Information concerning non-IBM products was obtained from the suppliers of those products, their published announcements or other publicly available sources. IBM has not tested those products in connection with this publication and cannot confirm the accuracy of performance, compatibility or any other claims related to non-IBM products. Questions on the capabilities of non-IBM products should be addressed to the suppliers of those products. IBM does not warrant the quality of any third-party products, or the ability of any such third-party products to interoperate with IBM’s products. IBM expressly disclaims all warranties, expressed or implied, including but not limited to, the implied warranties of merchantability and fitness for a particular, purpose. The provision of the information contained herein is not intended to, and does not, grant any right or license under any IBM patents, copyrights, trademarks or other intellectual property right.
  • 35. Integration Technical Conference 2019 35 Notices and disclaimers IBM, the IBM logo, ibm.com, Aspera®, Bluemix, Blueworks Live, CICS, Clearcase, Cognos®, DOORS®, Emptoris®, Enterprise Document Management System™, FASP®, FileNet®, Global Business Services®, Global Technology Services®, IBM ExperienceOne™, IBM SmartCloud®, IBM Social Business®, Information on Demand, ILOG, Maximo®, MQIntegrator®, MQSeries®, Netcool®, OMEGAMON, OpenPower, PureAnalytics™, PureApplication®, pureCluster™, PureCoverage®, PureData®, PureExperience®, PureFlex®, pureQuery®, pureScale®, PureSystems®, QRadar®, Rational®, Rhapsody®, Smarter Commerce®, SoDA, SPSS, Sterling Commerce®, StoredIQ, Tealeaf®, Tivoli® Trusteer®, Unica®, urban{code}®, Watson, WebSphere®, Worklight®, X- Force® and System z® Z/OS, are trademarks of International Business Machines Corporation, registered in many jurisdictions worldwide. Other product and service names might be trademarks of IBM or other companies. A current list of IBM trademarks is available on the Web at "Copyright and trademark information" at: www.ibm.com/legal/copytrade.shtml.