Security Guide

     Previous  Next    Open TOC in new window    View as PDF - New Window  Get Adobe Reader - New Window
Content starts here

Configuring Transport-Level Security

Transport-level security applies security checks as part of establishing a connection between service consumers, proxy services, and business services. The type of security checks that AquaLogic Service Bus can apply depends on the protocol that the proxy service or business service uses to communicate. Some protocols can also encrypt the communication between client and endpoint to prevent snooping from third parties.

Inbound transport-level secures the communication between clients and AquaLogic Service Bus proxy services. Outbound transport security secures all three techniques of sending outbound requests from AquaLogic Service Bus proxy services: route actions, publish actions, and callout actions.

The following sections describe configuring transport-level security:

Note: Transport-level security secures only the connection itself. Even if you use the HTTPS or JMS protocols to encrypt the communication, if there is an intermediary between a Web services client and an AquaLogic Service Bus proxy service, such as a router, message queue or another proxy service, the intermediary gets the SOAP message in plain text. When the intermediary sends the message to the second receiver, the second receiver does not know who the original sender was. To prevent unintended intermediaries from viewing or modifying SOAP or JMS messages, configure message-level security in addition to transport-level security. See Configuring Message-Level Security for Web Services.

 


Configuring Transport-Level Security for HTTPS

The HTTPS protocol uses SSL to secure communication. SSL can be used to encrypt communication, ensure message integrity, and to require strong server and client authentication. Before you can use HTTPS, you must configure SSL in WebLogic Server, see Configuring the WebLogic Security Framework: Main Steps.

The following sections describe configuring transport-level security for the HTTPS protocol:

HTTPS Authentication Levels

For each proxy service or business service that communicates over the HTTPS protocol, you can configure the service to require one of the following levels of authentication:

Configuring Inbound HTTPS Security: Main Steps

To configure inbound transport-level security for a proxy service:

  1. Make sure that you have configured the WebLogic security framework to support SSL, an authentication provider, and an identity assertion provider, depending on the HTTPS authentication level that you want to use:
    • To use one-way SSL with no authentication, configure AquaLogic Service Bus for SSL.
    • To use one-way SSL with BASIC authentication, configure AquaLogic Service Bus for SSL and add to the Security Configuration module of the AquaLogic Service Bus Console the user names and passwords of the clients that you want to allow access. See "Adding a User" under Security Configuration in Using the AquaLogic Service Bus Console.
    • To use two-way SSL with CLIENT CERT authentication, configure AquaLogic Service Bus for SSL, WebLogic Identity Assertion provider, and the WebLogic CertPath Provider, and add to the Security Configuration module of the AquaLogic Service Bus Console the user names and passwords of the clients that you want to allow access.
    • See Configuring the WebLogic Security Framework: Main Steps.

  2. When you create a proxy service in the AquaLogic Service Bus Console, on the Transport Configuration page select HTTPS. Follow the prompts to choose an authentication level. See "Adding a Proxy Service" under Proxy Services in Using the AquaLogic Service Bus Console.
  3. If you do not want AquaLogic Service Bus to authenticate clients, select an authentication level of one-way SSL, no authentication. For information about configuring a service producer (an external system to which a business service sends requests) to authenticate clients instead of AquaLogic Service Bus, see step 2 in Configuring Outbound HTTPS Security: Main Steps.

  4. Modify the proxy service's default transport-level access control policy, which specifies conditions under which users, groups, or roles can access a proxy service. See "Editing Transport-Level Access Policies" under Security Configuration in Using the AquaLogic Service Bus Console.

Configuring Outbound HTTPS Security: Main Steps

In outbound transport-level security, a proxy service is the client that opens a connection with a business service.

To configure outbound transport-level security:

  1. If you are configuring transport-level security for a production environment (as opposed to a development or testing environment), make sure that Host Name Verification is enabled. See "Using Host Name Verification" in Configuring SSL in Securing WebLogic Server.
  2. When you create a business service in the AquaLogic Service Bus Console, on the Transport Configuration page select HTTPS. See "Adding a Business Service" under Business Services in Using the AquaLogic Service Bus Console. Follow the prompts to choose an authentication level.
  3. If you configured the proxy service so that AquaLogic Service Bus does not authenticate clients, configure the enterprise system to authenticate clients by selecting an authentication level of one-way SSL, BASIC authentication.

  4. If the business service uses HTTPS with BASIC authentication, do the following:
    1. Create a service account to provide the user name and password that the business service requires.
    2. You can add a user name and password directly to the service account, or configure the service account to pass through the credentials that it received from its client's request, or you can map a client user name to an AquaLogic Service Bus user. If you configured the proxy service so that AquaLogic Service Bus does not authenticate clients, create a service account that passes through the credentials. See Service Accounts in Using the AquaLogic Service Bus Console.

    3. Create a proxy service or edit an existing proxy service so that it specifies the service account.
    4. When the proxy service establishes a connection with the business service, it uses the business service's service account to provide a user name and password for BASIC authentication. (See Example: Authentication with a User Name Token.)

  5. If the business service uses HTTPS with CLIENT CERT authentication, do the following:
    1. Create a proxy service provider to provide the key-pair that proxy services use for SSL client authentication with the business service. See Proxy Service Providers in Using the AquaLogic Service Bus Console.
    2. Proxy services will always use this key-pair to authenticate with the business service regardless of the key-pair that was used in inbound communication.

    3. Create a proxy service or edit an existing proxy service so that it specifies the proxy service provider. See "Viewing and Changing Proxy Services" under Proxy Services in Using the AquaLogic Service Bus Console.

 


Configuring Transport-Level Security for HTTP

The HTTP protocol does not encrypt communication between clients and proxy services or business services, but it does support BASIC authentication in which clients send user names and passwords in requests.

Caution: Unless you have configured strong network security, BEA recommends that you do not use BASIC authentication with HTTP in production environments because the password is sent in clear text. Instead, use BASIC authentication with HTTPS.

The following sections describe configuring transport-level security for the HTTP protocol:

Configuring Inbound HTTP Security: Main Steps

To configure inbound transport-level security for a proxy service:

  1. When you create a proxy service in the AquaLogic Service Bus Console, on the Transport Configuration page select HTTP. When prompted, do one of the following:
    • If you want AquaLogic Service Bus to authenticate clients, select Basic Authentication Required.
    • If you do not want AquaLogic Service Bus to authenticate clients, do not select Basic Authentication Required. For information about configuring an enterprise system to authenticate clients, see step 1 in Configuring Inbound HTTP Security: Main Steps.
    • See "Adding a Proxy Service" under Proxy Services in Using the AquaLogic Service Bus Console.

  2. Modify the proxy service's default transport-level access control policy, which specifies conditions under which users, groups, or roles can access a proxy service. See "Editing Transport-Level Access Policies" under Security Configuration in Using the AquaLogic Service Bus Console.

Configuring Outbound HTTP Security: Main Steps

In outbound transport-level security, a proxy service is the client that opens a connection with a business service.

To configure outbound transport-level security:

  1. When you create a business service in the AquaLogic Service Bus Console, on the Transport Configuration page select HTTP. When prompted, select Basic Authentication Required.
  2. See "Adding a Business Service" under Business Services in Using the AquaLogic Service Bus Console.

  3. Create a service account to provide the user name and password that the business service requires. See Service Accounts in Using the AquaLogic Service Bus Console.
  4. You can add a user name and password directly to the service account, or configure the service account to pass through the credentials that it received from its client's request, or you can map a client user name to an AquaLogic Service Bus user. If you configured the proxy service so that AquaLogic Service Bus does not authenticate clients, create a service account that passes through the credentials. See Service Accounts in Using the AquaLogic Service Bus Console.

  5. Create a proxy service or edit an existing proxy service so that it specifies the service account.

 


Configuring Transport-Level Security for JMS

While transport-level security for JMS does not provide end-to-end security for JMS messaging, it does provide the following:

The following sections describe configuring JMS transport-level security:

Configuring Inbound JMS Transport-Level Security: Main Steps

To configure inbound JMS transport-level security:

  1. When you create or edit a JMS proxy service in the AquaLogic Service Bus Console, on the Transport Configuration page, under Advanced Settings, select the Use SSL check box. See Proxy Services in the Using the AquaLogic Service Bus Console.
  2. AquaLogic Service Bus configures the JMS proxy service to use the T3S protocol.

  3. If the JMS administrator created access control policies that restrict access to a JMS connection pool, configure the proxy service to authenticate when it connects to the JMS server:
    1. Create a service account to provide the user name and password that the JMS server requires. See Service Accounts in Using the AquaLogic Service Bus Console.
    2. You must add a user name and password directly in the service account. JMS cannot use a service account that passes through the credentials that it received from its client's request or that maps a client user name to an AquaLogic Service Bus user. See Service Accounts in Using the AquaLogic Service Bus Console.

    3. When you create or edit the proxy service in the AquaLogic Service Bus Console, on the Transport Configuration page, under Advanced Settings, click the Browse button next to JMS Service Account. Select the service account that you created in the previous step.

Configuring Outbound JMS Transport-Level Security: Main Steps

To configure inbound JMS transport-level security:

  1. When you create or edit a JMS business service in the AquaLogic Service Bus Console, on the Transport Configuration page, under Advanced Settings, select the Use SSL check box. See "Adding a Business Service" under Business Services in Using the AquaLogic Service Bus Console.
  2. AquaLogic Service Bus configures the JMS proxy service to use the T3S protocol.

  3. If the JMS administrator created access control policies that restrict access to a JMS connection pool, configure the business service to authenticate when it connects to the JMS server:
    1. Create a service account to provide the user name and password that the JMS server requires. See Service Accounts in Using the AquaLogic Service Bus Console.
    2. You must add a user name and password directly in the service account. JMS cannot use a service account that passes through the credentials that it received from its client's request or that maps a client user name to an AquaLogic Service Bus user. See Service Accounts in Using the AquaLogic Service Bus Console.

    3. When you create or edit the business service in the AquaLogic Service Bus Console, on the Transport Configuration page, under Advanced Settings, click the Browse button next to JMS Service Account. Select the business account that you created in the previous step.
  4. If the JMS administrator has restricted access to JMS destinations in the JNDI tree, configure the business service to authenticate when it looks up entries in the JNDI tree:
    1. (You can skip this step if the JNDI tree and JMS server require the same user name and password.) Create a service account to provide the user name and password that the JNDI tree requires. See Service Accounts in Using the AquaLogic Service Bus Console.
    2. When you create or edit the business service in the AquaLogic Service Bus Console, on the Transport Configuration page, under Advanced Settings, click the Browse button next to JNDI Service Account. Select the service account that provides the credentials that the JNDI tree requires.
    3. You can use the same service account for both the JMS server and the JNDI tree if both objects require the same credentials.

 


Email, FTP, and File Transport-Level Security

The following sections describe the security measures that are available for communication over the email, FTP, and file protocols:

Email and FTP Transport-Level Security

Email and FTP are not secure protocols. They support weak authentication, typically over insecure channels. The supported security method for email or FTP transport is the username and password needed to connect to the email or FTP server.

To secure email, you must designate a service account as an alias for the username and password in the AquaLogic Service Bus Console. The service will use the username and password to authenticate to the SMTP server.

To secure FTP, in the AquaLogic Service Bus Console, select external_user and designate a service account as an alias for the username and password. The service will use the username and password to authenticate to the FTP server.

For information about how to add security to email and FTP transport, see "Adding a Business Service" in Business Services in the Using the AquaLogic Service Bus Console.

File Transport Security

The supported security method for file transport is the user login to the computer on which the files are located.

 


Transport-Level Security Elements in the Message Context

If you configure a proxy service to authenticate clients, then you can access the client's identity and the security groups to which the client belongs from the proxy service's pipeline. The identity and group information is located in the message context at $inbound/ctx:security/ctx:transportClient/ctx:username
and
$inbound/ctx:security/ctx:transportClient/ctx:principals/ctx:group
(the message context contains one ctx:group element for each group the user belongs to)

If a proxy service does not authenticate clients, then the value of $inbound/ctx:security/ctx:transportClient/ctx:username is <anonymous> and there will not be any ctx:group elements.

For more information, see "Inbound and Outbound Variables" in Message Context and "Message Flow" in Proxy Services in the Using the AquaLogic Service Bus Console.


  Back to Top       Previous  Next