WebSphere Message Broker

Similar documents
IBM Exam IBM WebSphere Message Broker V8.0 System Administration Version: 6.0 [ Total Questions: 55 ]

PASS4TEST. IT Certification Guaranteed, The Easy Way! We offer free update service for one year

Datapower is both a security appliance & can provide a firewall mechanism to get into Systems of Record

IBM Security Access Manager Version January Federation Administration topics IBM

IBM IBM WebSphere Message Broker V6.1. System Administration. Download Full Version :

WebSphere Message Broker. Admin & Topologies. David Coles WebSphere Message Broker Level 3 Service,

Enterprise SOA Experience Workshop. Module 8: Operating an enterprise SOA Landscape

How to Configure Authentication and Access Control (AAA)

Policy Manager for IBM WebSphere DataPower 7.2: Configuration Guide

TIBCO ActiveMatrix Policy Director Administration

IBM Security Access Manager Version 9.0 October Federation Administration topics IBM

Installing and Configuring VMware Identity Manager Connector (Windows) OCT 2018 VMware Identity Manager VMware Identity Manager 3.

Host Access Management and Security Server Administrative Console Users Guide. August 2016

Configuring SAML-based Single Sign-on for Informatica Web Applications

C exam. IBM C IBM WebSphere Application Server Developer Tools V8.5 with Liberty Profile. Version: 1.

What s New in WebSphere Message Broker Version

BEAAquaLogic. Service Bus. Upgrade Guide

Novell Access Manager 3.1

[GSoC Proposal] Securing Airavata API

WEBSPHERE APPLICATION SERVER

PASS4TEST. IT Certification Guaranteed, The Easy Way! We offer free update service for one year

Testpassport.

GLOBUS TOOLKIT SECURITY

Bare Timestamp Signatures with WS-Security

IBM InfoSphere Information Server Single Sign-On (SSO) by using SAML 2.0 and Tivoli Federated Identity Manager (TFIM)

ITdumpsFree. Get free valid exam dumps and pass your exam test with confidence

As you learned in Chapter 1, the architectural variations you can construct using

In this lab, you will build and execute a simple message flow. A message flow is like a program but is developed using a visual paradigm.

Message Broker Systems Monitoring & Auditing

Identity Provider for SAP Single Sign-On and SAP Identity Management

Tivoli Federated Identity Manager. Sven-Erik Vestergaard Certified IT Specialist Security architect SWG Nordic

SOA Software Policy Manager Agent v6.1 for WebSphere Application Server Installation Guide

IBM Integration Bus v9.0 System Administration: Course Content By Yuvaraj C Panneerselvam

Testpassport.

Network Security Essentials

Interoperability Solutions Guide for Oracle Web Services Manager 12c (12.2.1)

ArcGIS Server and Portal for ArcGIS An Introduction to Security

DP Interview Q&A. 1. What are the different services that have you used in Datapower? WebService Proxy, Multiprotocol gateway and XML Firewall

ITDUMPS QUESTION & ANSWER. Accurate study guides, High passing rate! IT dumps provides update free of charge in one year!

BEAAquaLogic. Service Bus. Interoperability With EJB Transport

Warm Up to Identity Protocol Soup

Inside Symantec O 3. Sergi Isasi. Senior Manager, Product Management. SR B30 - Inside Symantec O3 1

Authentication. Katarina

Exam Name: IBM WebSphere Datapower SOA. Appliances Firmware V3.8.1, Solution Implementation

Enabling SAML Authentication in an Informatica 10.2.x Domain

Oracle Fusion Middleware

WebSphere Message Broker Patterns: Generate applications in an instant

IBM Exam C IBM WebSphere Message Broker V8.0 System Administration Version: 6.0 [ Total Questions: 55 ]

SAML-Based SSO Solution

Framework 8.5. External Authentication. Reference Manual

Integration Guide. PingFederate SAML Integration Guide (SP-Initiated Workflow)

Entrust Identification Server 7.0. Entrust Entitlements Server 7.0. Administration Guide. Document issue: 1.0. Date: June 2003

Exam Name: IBM Certified System Administrator - WebSphere Application Server Network Deployment V7.0

Qualys SAML & Microsoft Active Directory Federation Services Integration

PASS4TEST. IT Certification Guaranteed, The Easy Way! We offer free update service for one year

Managing External Identity Sources

CICS TS V4.2 - Connectivity

DEPLOYMENT GUIDE Version 1.1. Deploying the BIG-IP Access Policy Manager with IBM, Oracle, and Microsoft

Single Sign-On for PCF. User's Guide

Federated Identity Manager Business Gateway Version Configuration Guide GC

ISAM Federation STANDARDS AND MAPPINGS. Gabriel Bell IBM Security L2 Support Jack Yarborough IBM Security L2 Support.

Entrust GetAccess 7.0 Technical Integration Brief for IBM WebSphere Portal 5.0

Smarter Business Agility with WebSphere DataPower Appliances Introduction

SOA Software Policy Manager Agent v6.1 for tc Server Application Server Installation Guide

HPE Enterprise Integration Module for SAP Solution Manager 7.1

IBM Integration Bus v9.0 Introduction and What s new?

IBM IBM IBM Tivoli Federated Identity Manager V6.1. Practice Test. Version

Lesson 13 Securing Web Services (WS-Security, SAML)

Oracle Fusion Middleware

IBM SECURITY PRIVILEGED IDENTITY MANAGER

IBM EXAM - C IBM Tivoli Federated Identity Manager V6.2.2 Implementation. Buy Full Product.

Exam : Title : IBM WebSphere Data Power SOA Applicances V3.8.1 Solution IMP. Version : Demo

SAML-Based SSO Solution

BlackBerry Enterprise Server for IBM Lotus Domino Version: 5.0. Administration Guide

Configuring SSL. SSL Overview CHAPTER

BEAAquaLogic. Service Bus. JPD Transport User Guide

TIBCO Spotfire Automation Services

CLEO VLTrader Made Simple Guide

Integration Guide. SafeNet Authentication Manager. Using SAM as an Identity Provider for PingFederate

IBM Exam C IBM Tivoli Federated Identity Manager V6.2.2 Implementation Version: 6.0 [ Total Questions: 134 ]

Lisa Banks Distributed Systems Subcommittee

IBM Single Sign On for Bluemix Version December Identity Bridge Configuration topics

Open XML Gateway User Guide. CORISECIO GmbH - Uhlandstr Darmstadt - Germany -

BIG-IP Access Policy Manager : Secure Web Gateway. Version 13.0

Artix Security Guide C++

CA SiteMinder Federation

Webthority can provide single sign-on to web applications using one of the following authentication methods:

Cloud Access Manager Overview

API Security Management SENTINET

SafeNet Authentication Manager

Setting Up Resources in VMware Identity Manager

Introduction... 5 Configuring Single Sign-On... 7 Prerequisites for Configuring Single Sign-On... 7 Installing Oracle HTTP Server...

Web Services Security Management Guide

Using the VMware vcenter Orchestrator Client. vrealize Orchestrator 5.5.1

Grid Authentication and Authorisation Issues. Ákos Frohner at CERN

Error Message Reference

Privileged Identity App Launcher and Session Recording

StreamServe Persuasion SP4 StreamStudio

Public Key Enabling Oracle Weblogic Server

Using the VMware vrealize Orchestrator Client

Transcription:

Securing your WebSphere Message Broker David Coles WebSphere Message Broker Level 3 Service, IBM Hursley dcoles@uk.ibm.com Wednesday 4th August 2010

Welcome to this Technical Introduction to securing your WebSphere Message Broker. Some slides in this presentation have at least one corresponding notes slide like this one, which contains further information on the topic being discussed, and/or links to web pages. Only this notes slide will be shown during the presentation. To view all other notes slides, please download and view a copy of this presentation. The WebSphere Message Broker homepage can be found at http://www.ibm.com/software/integration/wbimessagebroker/

Agenda Introduction Administration security Message Broker V7 recap Security exits Channel security Runtime security Transport security Database security Message flow security Security Manager WS-Security Demo / Sample Summary 3

Notes: Agenda This presentation is divided into several sections. We ll begin by describing what security is and why it is important. We ll then relate this to the different areas of Message Broker. Message Broker exposes three important concepts relating to security. We'll introduce administration security, runtime security and message flow security, looking into each concept explaining how it applies to Message Broker, giving an overview of the functionality and an introduction its configuration. Finally we ll highlight a technology sample that is supplied with Message Broker that really showcases the exciting new functionality available for message flow security.

Introduction - Security Overview Security is about preventing unauthorised access The need to know Covers multiple aspects of Message Broker configuration and usage Computer security generally refers to the 3A s Authentication Is the user who they say they are Authorization Is the user allowed to perform the given action Accounting Keeping track of who is accessing a resource and when 5

Introduction - Security Overview Message Broker Explorer Message Broker Toolkit Broker EG

Notes: Introduction - Security Overview Three main areas to Message Broker security Administration security Who is authorized to perform administrative actions on a Broker Runtime security Who is authorized to submit messages to a Broker Message Flow Security End-to-end processing of the message on the behalf of the identity in the message 7

Administration Security (V6.X Recap) Message Broker Toolkit Command line Third Party Tools Configuration Manager Proxy Configuration Manager Broker

Administration Security (V7) Message Broker Toolkit / MBX Command line Third Party Tools CMP API Configuration Manager Broker

Notes: Administration Security Restriction of user access Who is authorized to deploy resources to Brokers Who is authorized to run Broker administrative commands Access controlled by WMQ access control model Preventing unauthorized access to deployment messages Security exits Channel security 10

Configuration Manager Removal - Benefits The Broker environment will be a lot easier to manage One view of the world More information returned to tools Much improved connect and deploy times Long-standing niggles have been eliminated. V7 has: One-step broker creation (i.e. no CM association step) No Deployment already in progress messages No CM/Broker Synchronization problems Cancel Deployment Performance As well as: No service user ID requirement on non-windows platforms No default execution groups (i.e. to host pub/sub)

Configuration Manager Responsibilities In V7 Interaction with Tools (CMP apps) Broker handles admin connections Deployment Broker handles BAR file deployment Owner of a domain of brokers Domains concept has been removed Managing administrative security Security managed using MQ Enforcing administrative security Broker is Policy Enforcement Point Manages the pub/sub topology Pub/Sub managed using MQ v7 tools Managing subscriptions Pub/Sub managed using MQ v7 tools Manages the topics hierarchy Pub/Sub managed using MQ v7 tools

Administrative Security Simplified administrative security in V7 allows 3 levels of authorisation for administrative actions: Reading Writing Executing (i.e. starting and stopping) On two object types: Broker Execution Group Administrative security is not enabled by default Access controlled using MQ queues on the Broker s queue manager Guidance provided for migration from CM ACLs Though there is not a one-to-one mapping

Security Queues SYSTEM.BROKER.AUTH SYSTEM.BROKER.AUTH.<egname> +inq = Read +put = Write +set = Execute

Security Exits / Channel security Message Broker Explorer Message Broker Toolkit 15

Notes: Security Exits Used to verify that the partner at the other end is genuine Use MQ security exits to secure access to the Broker from the WebSphere Message Broker Toolkit, WebSphere Message Broker Explorer or client programs You can enable a security exit at each end of the connection between your client session and the Broker: Set up a security exit on the channel at the Broker end. This security exit has no special requirements; you can provide a standard security exit. Set up a security exit in the WebSphere Message Broker Toolkit or WebSphere Message Broker Explorer. Identify the security exit properties when you connect to the broker. The security exit is a standard WebSphere MQ security exit, written in Java. See http://publib.boulder.ibm.com/infocenter/wmbhelp/v7r0m0/topic/com.ibm.etools.mft.doc/ap125 00_.htm and http://publib.boulder.ibm.com/infocenter/wmbhelp/v7r0m0/topic/com.ibm.etools.mft.doc/ap125 10_.htm for more details 16

Notes: Channel security Secure the server conn channel used to connect the WebSphere Message Broker Toolkit, WebSphere Message Broker Explorer or client programs to the Message Broker Keystores and truststores specified when you configure the connection Passwords prompted for when you initiate the connection Same design as used with MQExplorer to connect to Queue Managers See http://publib.boulder.ibm.com/infocenter/wmbhelp/v7r0m0/topic/com.ibm.etools.mft.doc/ap12232_.htm for more details. 17

Runtime Security Who is authorized to submit a message to a message flow Delegated to the transport Can be offloaded to DataPower appliance What resources can be accessed by that message flow Transport Security SSL Database Security 18

SSL (Secure Sockets Layer) Transport layer protocol for data encryption Protocol based on SSL Certificate enables encryption of sensitive information during online transactions Each SSL Certificate contains unique, authenticated information about the certificate owner A Certificate Authority verifies the identity of the certificate owner when it is issued Each certificate consists of a public key and a private key Public key is used to encrypt information Private key is used to decipher it A certificate owner keeps its private key and the public key is distributed An SSL handshake authenticates the server and the client An encryption method is established with a unique session key and secure transmission can begin 19

SSL (Secure Sockets Layer) Inbuilt SSL Support in multiple Broker nodes HTTP/SOAP Nodes (HTTPS connections) CICSRequest IMSRequest Also JMS Nodes with compliant provider Hierarchical configuration for keystores and truststores Java JKS keystore format supported Support for Server auth and Client auth Server auth The client trusts the server Server s public cert is in the client s truststore Client auth Builds on server auth and the server also trusts the client Client s public cert is in the server s truststore 20

Notes: SSL (Secure Sockets Layer) Example SSL configuration for the HTTP listener Create a key store to hold the brokers certificates using keytool Configure the broker to use SSL on a particular port Turn on SSL support in message broker, by setting a value for enablesslconnector mqsichangeproperties broker name -b httplistener -o HTTPListener -n enablesslconnector -v true Choose the keystore file to be used, by setting a value for keystorefile mqsichangeproperties broker name -b httplistener -o HTTPSConnector -n keystorefile -v fully qualified file path to keystore file Specify the password for the keystore file, by setting a value for keystorepass mqsichangeproperties broker name -b httplistener -o HTTPSConnector -n keystorepass -v password for keystore Specify the port on which WebSphere Message Broker should listen for HTTPS requests mqsichangeproperties broker name -b httplistener -o HTTPSConnector -n port -v Port to listen on for https Configure the message flow to process HTTPS requests Specify PathSuffix for HTTPInput node Select UseHTTPS box on the HTTPInput node More details on implementing SSL authentication can be found here: http://publib.boulder.ibm.com/infocenter/wmbhelp/v7r0m0/topic/com.ibm.etools.mft.doc/ap12 230_.htm 21

Database Security - Broker database removal At WMB v7 the Broker no longer uses a system database Configuration is now stored exclusively on the filesystem WMB does not ship with a database product User database access unaffected Additionally, the Windows registry is no longer used to hold configuration information New mqsibackupbroker and mqsirestorebroker commands to backup and restore (for DR) Migration will copy any system database and registry configuration to the filesystem

Database security - UserIds Database UserID and Password No longer used on mqsicreatebroker flags ignored Use mqsisetdbparms to control default ODBC and JDBC access control Any v6.x defaults are migrated Service UserID and Password No longer used on non-windows platforms Still required on Windows, but can now specify LocalSystem The userid that starts the broker no longer requires mqm authority

Message Flow Security Default security means transport defaults are in effect Broker service identity will be used as proxy id for all messages Security manager enables end-to-end security processing Uses identity in the message security on a per message basis at runtime Identity authentication Identity mapping Identity authorization (policy enforcement) Identity propagation Data format and transport independent Configurable by administrator Using security profiles Able to exploit centralized security provider LDAP for authentication and authorization IBM Tivoli Federated Identity Manager (TFIM) for authentication, authorization and mapping WS-Trust v1.3 compliant security token server (STS) 24

Security Manager Overview Security Profile Policy Enforcement Point Security Context Properties tree - Source - Mapped Security Profile Input Msg MQ HTTP(S) SOAP SCA Input Msg Security Profile Username/pwd X.509 Kerberos LTPA SAML Universal WSSE Security Manager WS-Trust v1.3 STS LDAP TFIM v6.1 Security Cache Message Broker Policy Decision/ Definition Point PDP Authentication Mapping Authorization Output Msg MQ HTTP(S) SOAP SCA Output Msg

Notes: Security Manager overview #1 The first step in configuring the security manager is to create a security profile. This is done using either Message Broker Explorer mqsicreateconfigurableservice command This enables the administrator to define any of three possible security operations and provide the required configuration to define the external security policy decision point that will be invoked The next step is to associate the security profile with a node to enforce the security, Policy Enforcement Point, either a input node or a SecurityPEP node. This is done using the BAR file Editor. The flow developer may need to specify the type and location of the security tokens in the message on the Input or Security PEP node using XPaths or ESQL expressions or for SOAP nodes a Policy Set and Binding will define the token types At runtime the security manager extracts the identity information from the input message and sets it in a group of Source Identity elements in the Properties folder. If authentication was specified in the security profile, the security manager calls the provider to authenticate the identity. A failure results in a SecurityException being thrown. 26

Notes: Security Manager overview #2 If identity mapping was specified in the security profile, the security manager calls the provider to map. A failure results in a SecurityException being thrown. Otherwise the mapped identity is set in Mapped Identity elements in the Properties folder. If authorization was specified in the security profile, the security manager calls the provider to authorize that the identity has access to this message flow. A failure results in a SecurityException being thrown. Note if the Security provider is a Security Token Server then all operations are performed in a single invocation The message, including the Properties folder and its source and mapped identity information, is propagated down the flow. When the message reaches an output node, a security profile can be used to indicate the identity is to be propagated in the message. The mapped identity is used, or if that is not set, the source identity is used. If no identity is set a SecurityException is thrown. To improve performance, authentication, authorization and mapping information from the providers is cached for re-use. The operation of the cache is automatic, but it can be tuned if needed using the mqsichangeproperties and mqsireloadsecurity commands. More details on message flow security can be found here: http://publib.boulder.ibm.com/infocenter/wmbhelp/v7r0m0/topic/com.ibm.etools.mft.doc/ap04090_. htm 27

Creating security profiles using the editor Security profiles are configured in MBX Right clicking on your broker and selecting Properties will open the Broker properties pane. From there select Security Profiles in the Security tab to open the Security Profiles editor. You can also load the Policy Sets editor from here. 28

Creating security profiles using the editor Configuration strings built automatically from properties Create and delete profiles External PDP configuration properties Clicking Finish sends the updates to the broker 29

Security profiles A security profile contains the following settings authentication = {NONE, LDAP, WS-Trust v1.3 STS, } authenticationconfig = mapping = {NONE, WS-Trust v1.3 STS, } mappingconfig = authorization = {NONE, LDAP, WS-Trust v1.3 STS, } authorizationconfig = passwordvalue = {PLAIN, MASK, OBFUSCATE} propagation = {TRUE, FALSE} Policy enforcement on behalf of Configured Policy Decision Point In properties tree Propagation -Input node, just extract the tokens - Output/Request nodes, forward the token 30

Notes: Security profiles A security profile consists of two kinds of information: Policy enforcement (PEP) information. Whether to authenticate, authorize or map an identity along with the provider to use and associated configuration string Propagation information. Whether to propagate the identity with an output message. Security profiles may be created, deleted, viewed and edited using a security profile editor, part of the broker toolkit administration perspective. This assists with the building of the sometimes complex configuration strings needed by the providers. Clicking on the Finish button of the editor sends the updates direct to the broker. Security profiles are not deployed in the.bar file. Alternatively security profiles may be created, deleted, viewed and deleted using the broker mqsicreateconfigurableservice, mqsideleteconfigurableservice, mqsichangeproperties and mqsireportproperties commands, or their CMP API equivalent. Further details and information on security profiles and their configuration can be found here: http://publib.boulder.ibm.com/infocenter/wmbhelp/v7r0m0/topic/com.ibm.etools.mft.doc/a p04070_.htm 31

Creating security profiles using commands To create a new security profile mqsicreateconfigurableservice <broker> -c SecurityProfiles o <profile-name> -n <property-name-list> -v <property-value-list> To delete a security profile mqsideleteconfigurableservice <broker> -c SecurityProfiles o <profile-name> To change the values in a security profile mqsichangeproperties <broker> -c SecurityProfiles o <profile-name> -n <property-name-list> -v <property-value-list> To report the values in a security profile mqsireportproperties <broker> -c SecurityProfiles o <profile-name> -r mqsireportproperties <broker> -c SecurityProfiles o allreportableentitynames -r 32

Associating security profiles with flows

PEP Enabled Input node operation summary Input Msg Policy Enforcement Point Security Context Properties - Source - Mapped With a Security Profile associated MQ, HTTP, SCA Input nodes extract tokens, Transport Default, MQ UserID, HTTP BasicAuth Configured Xpath/ESQL locations for username, usernameandpassword, X.509, SAML Security Profile A1 --- Map --- A2 --- Cache Security Manager SOAP nodes with a Security Profile associated extract the WS-Security token according to the Username, SAML or LTPA Policy Set and Bindings set. (Can use Transport Default if no policy) Security Manager enforces security operations defined in Security Profile Invoke external PDP or retrieve cached decision Security Manager returns decision to input node Success, propagate with Security context Message Broker Policy Decision/ Definition Point PDP Authentication Mapping Authorization Failure Transport defined rejection of input message Optional Treat Security Exceptions as normal

Notes: MQ, HTTP, SOAP nodes The security manager means that an input node can act as a Policy Enforcement point (PEP). The default locations from where to obtain the token, password and issuedby information are transport dependent and are shown on the slides. To override the default locations, use the node location properties to specify an ESQL path or XPath to the actual location in the message header or body The behaviour when handling a SecurityException is transport dependent and is shown on the slides Note that the use of an HTTPInput node with username and password from the HTTP Authentication header and a suitable profile is equivalent to HTTP Basic Auth functionality The SOAP nodes behave in two different ways depending on whether the WS-Security protocol is being used by the message. 35

PEP Enabled MQ / SCA / HTTP Input node operation Security Properties Page allows for configuration of Token type Transport Default (HTTP Basic-Auth, MQ User) Username, Username + Password, SAML Assertion, X.509 Certificate Xpath/ESQL Token location of supported token type, use to set a literal value Treat security exceptions as normal, causes negative security decision to propagate to failure terminal rather than inbuilt transport rejection

Notes: Node properties Security properties are carried on two kinds of node, input nodes and output/request nodes. For input nodes, whether runtime security is configured for the node is determined by the Security profile property. If no security profile is specified then security is not configured. Otherwise it is the security profile that says which combination of authentication, authorization and mapping is to be performed with the identity in the message. The Identity token type property specifies how the identity appears in the message. It can be one of Username, Username + Password, SAML Assertion, or X.509 Certificate then security is configured. The default location in the message of the token, password and issuer is transport dependent. However the location may be overridden using the Identity token location, Identity password location and Identity issuedby location properties. If a SecurityException is thrown as a result of an authentication, authorization or mapping failures, the default behaviour is that it can not be caught by exception handlers, such as wired Catch terminals. Instead the exception is always returned to the input node, where the behaviour is transport dependent. This can be overridden by the Treat Security exceptions as normal exceptions property, which if checked allows security failures to be handled using the usual exception handlers. Note that the Identity fields in the Properties folder are only set if a security profile is present for the input node. For output/request nodes, whether the identity is propagated with the outbound message is determined by the security profile given by the Security profile property. A pre-configured profile for use by output/request nodes is shipped with the broker which specifies propagation. Note that the Security profile property is hidden but configurable meaning that it can only be set in the broker archive (bar) file at deploy time by an administrator. It is not visible on the node itself. There is also a Security profile property on the message flow itself, which acts as a default for all nodes in the message flow that do not specify a security profile explicitly. When the flow-level property is set a node can still be configured to not have a profile (i.e. not use the flow-default value) by choosing No Security on it. 37

New Security PEP node operation summary Policy Enforcement Point Security Context Properties - Source - Mapped With a Security Profile associated Security PEP node can be configured to use Current tokens in Security Context Extract from Xpath/ESQL location, for username, usernameandpassword, X.509, SAML, kerberosticket, LTPA, universalwsse Security Profile A1 --- Map --- A2 --- Security Manager Security Manager enforces security operations defined in Security Profile Invoke external PDP or retrieve cached decision Security Manager returns decision to SecurityPEP node Cache Success, propagate to out terminal with Security context updated Message Broker Policy Decision/ Definition Point PDP Authentication Mapping Authorization Failure, propagate to failure terminal with wrapped security exception

MB 7.0.0.1 New Security PEP Node Basic Properties Use Current tokens or extract token using design time Xpath/ESQL locations Advanced Properties Allow override for WS-Trust AppliesTo which a Security Token Server uses in policy decisions Use at any point in any flow to enforce security policy

Properties folder & Identities Source identity Mapped identity Type contains none, username, usernameandpassword, X.509, SAML, kerberosticket, LTPA, universalwsse Token contains String: username Base 64 string: X.509, kerberosticket, LTPA String serialization: SAML, universalwsse Password contains String: password or RACF passticket, which might be plain, masked or obfuscated IssuedBy contains String: where the token was created Mapped used in preference to Source 40

Notes: Properties folder & Identities An identity is a piece of information which can uniquely identify an individual or object. Within the Broker identity is held in the Properties folder of the broker message tree. There are eight fields in the Properties folder, between them defining two identities; source and mapped. For each of these identities, Type, Token, Password and IssuedBy fields are held. The Type field defines the format of the Token The Token field holds the actual token data In the case of a Username + Password token the Password field will additionally contain the associated password. This could equally be a RACF Pass Ticket The value might be masked or obfuscated The IssuedBy field defines where the Token was created. The values in the Properties are writeable, for example from ESQL 41

LDAP support Requires either IBM Tivoli Directory Server OpenLDAP Microsoft Active Directory If anonymous login not permitted mqsisetdbparms n ldap::ldap u <username> p <password> mqsisetdbparms n ldap::<servername> u <username> p <password> Supported token types Username Username + Password Use of security profile editor recommended 42

Notes: LDAP support Requires either IBM Tivoli Directory Server or OpenLDAP or Microsoft Active Directory. If your LDAP server does not permit anonymous login, you need to use the mqsisetdbparms command to set up the username (fully qualified) and password to be used. LDAP support is for token types of Username and Username + Password. Building LDAP configuration strings is quite complicated. If you are using commands, there are three cases. The syntax is shown for each along with real examples from IBM Blue Pages. Authentication only Syntax: ldap[s]://server[:port]/basedn[? [ uid_attr ] [? [ base sub ] ] ] Example: ldaps://bluepages.ibm.com:999/ou=bluepages.ibm.com?emailaddress Authentication & Authorization Syntax authn: As above Syntax authz: ldap[s]://server[:port]/groupdn [? member_attr ] Example authz: ldaps://bluepages.ibm.com:999/cn=hurlab MQESB-JHRPT,ou=memberlist, ou=ibmgroups,o=ibm.com?uniquemember Authorization only Syntax: ldap[s]://server[:port]/groupdn [? [ member_attr ] [? [ base sub] [? [xuserbasedn=basedn,x-uid_attr=uid_attr ] ] ] ] Example: ldaps://bluepages.ibm.com:999/cn=hurlab MQESB-JHRPT,ou=memberlist, ou=ibmgroups,o=ibm.com???x-userbasedn=ou=bluepages%2co=ibm.com, x-uid_attr=emailaddress Note that any commas within basedn and uid attribute need to be replaced with "%2c". 43

TFIM support TFIM 6.1 required Create TFIM custom Trust Service module chains Authenticate, authorize, map as necessary Chain selected by IssuedBy value and message flow name Supported token types Username Username + Password X.509 Certificate Supported identity mappings Username to Username X.509 Certificate to Username 44

Notes: TFIM support TFIM 6.1 is required. It is the responsibility of the user to customize TFIM to perform the required action against the identity. This is performed using Trust Service module chains to authenticate or authorize or map the identity. The chain to use is determined by a combination of the source identity issuedby value and the name of the message flow, expressed as <broker-name>.<exec-grpname>.<msg-flow-name>. TFIM support is for token types of Username, Username + Password and X.509 Certificate. As far as identity mapping is concerned, it is possible to map a username to another username, and an X.509 certificate to a username. But it is not possible to map a username to an X.509 certificate (TFIM does not issue X.509 certificates). When mapping from an X.509 certificate, TFIM can validate the certificate, but can not be used to verify the identity of the original sender. This would have to be done elsewhere, for example, using WS-Security support for digital signatures using a SOAPInput node. 45

WS-Trust v1.3 Security Token Server Requires any WS-Trust v1.3 compliant provider TFIM 6.2 supported and tested Supported operations Identity Authentication or token Validation Identity Mapping or token Issuance/Exchange Authorization Supported token types - all Username + Password, SAML, Kerberos, LTPA, RACF PassTicket, X509 Universal WSSE.. Any token that can be put in a WSSE header sub tree Securing the STS connection SSL and/or Basic-Auth 46

WS-Security Message based security Fine granularity Parts of the message may be encrypted in different ways with different keys Parts of a message may be (multiply) encrypted and signed On a need to know basis WS-Security can be used in insecure transports SOAP nodes support WS-Security Configured using policy sets and bindings 47

WS-Security Key areas covered for WS-Security Authentication (Tokens) Message Part Protection XML Signature (Signed) To ensure data integrity Message can be read but not changed without detection XML Encryption (Encrypted) To ensure confidentiality Message can not be read or changed 48

SOAP Input node operation summary SOAP Msg Policy Set SOAP Msg Policy Set and Bindings and Bindings -Kerberos - X.509 - Username -LTPA pass through JVM Security Profile A1 --- Map --- A2 --- Cache - SAML pass through Security Manager Keystore Truststore Kerberos krb5.ini krb5.keytab Message Broker Policy Decision/ Definition Point PDP A1/Map/A2 Policy Set and Bindings configures the token profile which specifies what security tokens must be present in the SOAP headers Security Profile only used when the token is processed by the Security Manager

Notes: PEP Enabled SOAP Input node operation Policy set and Bindings define the WS-Security profile token binding Security processing is either External Security Policy Decision Point Username and password LDAP or WS-Trust v1.3 STS SAML / LTPA pass through WS-Trust v1.3 STS Security profile defines the policy decision for any or all of authentication, mapping and/or authorization which are delegated to specified provider via security manager Kerberos.. Direct to Key Distribution Centre via JVM Can propagate the service principal, but not the ticket X.509 To Broker Key and Trust stores If no Policy set and Bindings, default pick up HTTP Basic-Auth header Security rejection always handled through SOAP Fault response to client

Demo / Sample 51

Summary Multiple aspects to Message Broker Security Administration security Security Exits Channel Security Runtime security Transport security - SSL Database Security Message flow security Security Manager Identity propagation WS-Security New PEP node in v7 FP1 significantly enhances Message Flow security options 52

Copyright and Trademarks IBM Corporation 2010. All rights reserved. IBM, the IBM logo, ibm.com and the globe design are trademarks of International Business Machines Corporation, registered in many jurisdictions worldwide. A current list of IBM trademarks is available on the Web at "Copyright and trademark information" at www.ibm.com/legal/copytrade.shtml. Other company, product, or service names may be trademarks or service marks of others.