WebSphere Application Server Network Deployment, Version 6.0.x     Operating Systems: AIX, HP-UX, Linux, Solaris, Windows

Integrating IBM WebSphere Application Server security with existing security systems

Why and when to perform this task

WebSphere Application Server plays an integral part of the multiple-tier enterprise computing framework. WebSphere Application Server adopts the open architecture paradigm and provides many plug-in points to integrate with enterprise software components to provide end-to-end security. WebSphere Application Server plug-in points are based on standard Java 2 Platform, Enterprise Edition (J2EE) specifications wherever applicable. The WebSphere Application Server development team is actively involved in various standard bodies to externalize and to standardize plug-in interfaces.

In the following example, several typical multiple-tier enterprise network configurations are discussed. In each case, various WebSphere Application Server plug-in points are used to integrate with other business components. The discussion starts with a basic multiple-tier enterprise network configuration:

Terminology

A list of terms used in this discussion follows:
Protocol firewall
A firewall that prevents unauthorized access from the Internet to the demilitarized zone. The role of this node is to provide the Internet traffic access only on certain ports and to block other IP ports.

Firewalls can be used to create demilitarized zones, which serve as machines that are isolated from both the public Internet and other machines in the configuration. This isolation improves portal security, especially for sensitive back-end resources such as databases.

WebSphere Application Server plug-in
A plug-in that redirects all the requests for servlets and JavaServer Pages (JSP) files. Also referred to in WebSphere Application Server literature as the Web server redirector, it was introduced to separate the Web server from the application server. The advantage of using Web server redirector is that you can move an application server and all the application business logic behind the domain firewall.
Domain firewall
A firewall that prevents unauthorized access from the demilitarized zone to an internal network. The role of this firewall is to allow the flow of the network traffic that is originating from the demilitarized zone and not from the Internet.
Directory
A node that provides information about the users and their rights in the application. The information can contain user IDs, passwords, certificates, access groups, and so forth. This node supplies the information to the security services like authentication and authorization service.
Enterprise information system
A system that represents existing enterprise applications and business data in back-end databases.

The Web server plug-in

WebSphere Application Server provides the infrastructure to run application logic and to communicate with the internal back-end systems and database that Web applications and enterprise beans can access. WebSphere Application Server has a built in HyperText Transport Protocol SSL (HTTPS) server that can accept client requests. A typical configuration, however, places WebSphere Application Server behind the domain firewall for better protection. A WebSphere Application Server plug-in to the Web server configuration can redirect Web requests to WebSphere Application Server. WebSphere Application Server provides plug-ins for many popular Web servers.

You can configure WebSphere Application Server and the Web server plug-in to communicate through Secure Sockets Layer (SSL) channels. You can configure a WebSphere Application Server HTTP server to open communication channels with a restricted set of Web server plug-ins only.

You can configure the HTTP server to require client certificate authentication with self-signed certificates and to trust only the signer certificate.

For instructions on how to generate self-signed certificates and how to set up secure communications channels between an HTTP server and the WebSphere Application Server plug-in, refer to Configuring the Web server plug-in for Secure Sockets Layer and Configuring IBM HTTP Server for Secure Sockets Layer mutual authentication.

The WebSphere Application Server plug-in routes HTTP requests according to the virtual host and port configuration and URL pattern matching. Client authentication and finer-grained access control are handled by WebSphere Application Server behind the firewall.

Tivoli WebSEAL

In cases where the Web server can contain sensitive data and direct access is not required, the following configuration uses Tivoli WebSEAL to shield a Web server from unauthorized requests. WebSEAL is a reverse proxy security server (RPSS) that uses Tivoli Access Manager to perform coarse-grained access control to filter out unauthorized requests before they reach the domain firewall. WebSEAL uses Tivoli Access Manager to perform access control.

User registry implementations

WebSphere Application Server supports various user registry implementations through the pluggable user registry interface.

WebSphere Application Server ships a Local OS user registry implementation for Windows, AIX, AS/400, and Lightweight Directory Access Protocol (LDAP).

WebSphere Application Server also supports users in developing their own custom registry and plug-in through the pluggable user registry interface. When integrated with a third-party security provider, WebSphere Application Server can share the user registry with the third-party security provider. In the particular example of integrating with WebSEAL, you can configure WebSphere Application Server to use the Lightweight Directory Access Protocol (LDAP) user registry, which can be shared with WebSEAL and Tivoli Access Manager. Moreover, you can configure WebSphere Application Server to use the Lightweight Third Party Authentication (LTPA) mechanism, which supports the trust association interceptor plug-in point.

Basically, the RPSS performs authentication and adds proper authentication data into the request header and then redirects the request to Web server. A trust relationship is formed between an RPSS and WebSphere Application Server, and the RPSS can assert client identity to WebSphere Application Server to achieve single signon (SSO) between RPSS and WebSphere Application Server. When the request is forwarded, WebSphere Application Server uses the TAI plug-in for the particular RPSS server to evaluate the trust relationship and to extract the authenticated client identity. WebSphere Application Server maps the client identity to a WebSphere Application Server security credential. For instructions on setting up a trust association interceptor, refer to Trust associations, Configuring trust association interceptors.

When configured to use the LDAP user registry, WebSphere Application Server uses LDAP to perform authentication. The client ID and password are passed from WebSphere Application Server to the LDAP server. You can configure WebSphere Application Server to set up an SSL connection to LDAP so that passwords are visible. To set up an SSL connection from WebSphere Application Server to the LDAP server, refer to Configuring Secure Sockets Layer for the Lightweight Directory Access Protocol client.

J2EE Connector Architecture (J2CA)

WebSphere Application Server supports the J2EE Connector Architecture. J2CA or JCA can be used to abbreviate J2EE Connector Architecture, but this documentation uses J2CA. The connector architecture defines a standard interface for WebSphere Application Server to connect to heterogeneous enterprise information systems (EIS). Examples of EIS include database systems, transaction processing, such as CICS, and messaging such as Message Queue (MQ).

The EIS implementation of environments, servers and monitors can perform authentication and access control to protect resources and business data. Resource adapters authenticate EIS. The authentication data can be provided either by application code or by WebSphere Application Server. WebSphere Application Server provides a principal mapping plug-in point. A principal mapping module plug-in maps the authenticated client principal to a password credential, that is, user ID and password, for the EIS security domain. WebSphere Application Server ships a default principal mapping module, which maps any authenticated client principal to a configured pair of user IDs and passwords.

You can configure each connector to use a different set of IDs and passwords. For a description on how to configure J2CA principal mapping user IDs and passwords, refer to Managing J2EE Connector Architecture authentication data entries.

Mapping modules

A principal mapping module is a special purpose Java Authentication and Authorization Service (JAAS) login module. You can develop your own principal mapping module to fit your particular business application environment. For detailed steps on developing and configuring a custom principal mapping module, refer to the articles, Developing your own J2C principal mapping module, and Configuring application logins for Java Authentication and Authorization Service.

WebSphere MQseries

It is important to note that security logging information on UNIX systems is not protected because of the world-writeable files in the /var file system of MQseries. MQseries ships the following files with its product:
  • -rw-rw-rw- /var/mqm/errors/AMQERR01.LOG
  • -rw-rw-rw- /var/mqm/errors/AMQERR02.LOG
  • -rw-rw-rw- /var/mqm/errors/AMQERR03.LOG
The previously mentioned files are world-writeable and enable any users on the system to fill up the /var file system where all the security logging information is stored. This leaves the security information unprotected because anyone can access the logging information without being tracked.

To work around this problem, create a file system for the embedded messaging component working data on UNIX. Before you install the embedded messaging component of WebSphere Application Server on UNIX platforms, consider creating and mounting a file system called /var/mqm. Use a partition strategy with a separate volume for the WebSphere MQ data. This means that other system activity is not affected if a large amount of WebSphere MQ work builds up.

To determine the size of the /var/mqm file system for a server installation, consider the following:
  • Maximum number of messages in the system at one time
  • Contingency for message buildups, if there is a system problem
  • Average size of the message data, plus 500 bytes for the message header
  • Number of queues
  • Size of log files and error messages

Allow 50MB as a minimum for a WebSphere MQ server. You need less space in the /var/mqm file system for a WebSphere MQ client (typically 15MB).

Resource Access Control Facility (RACF)




Sub-topics
Network communication using Secure Sockets Layer and the Transport Channel Service
Interoperability issues for security
Interoperating with a C++ common object request broker architecture client
Interoperating with previous product versions
Security: Resources for learning

Related concepts
Trust associations

Related tasks
Configuring IBM HTTP Server for Secure Sockets Layer mutual authentication
Configuring the Web server plug-in for Secure Sockets Layer
Configuring Secure Sockets Layer
Configuring trust association interceptors
Configuring Lightweight Third Party Authentication
Configuring single signon
Configuring user registries
Configuring Lightweight Directory Access Protocol user registries
Configuring Lightweight Directory Access Protocol search filters
Developing custom user registries
Configuring custom user registries
Migrating custom user registries
Developing your own J2C principal mapping module
Configuring application logins for Java Authentication and Authorization Service

Related reference
Supported directory services
Custom user registries

Task topic    

Terms of Use | Feedback

Last updated: Mar 17, 2005 4:28:29 AM CST
http://publib.boulder.ibm.com/infocenter/ws60help/index.jsp?topic=/com.ibm.websphere.nd.doc/info/ae/ae/tsec_inteover.html

© Copyright IBM Corporation 2002, 2005. All Rights Reserved.
This information center is powered by Eclipse technology. (http://www.eclipse.org)