Seguridad de Web Services Atomic Transaction

Web Services Atomic Transaction (WS-AT) define sus propios servicios web internos que se utilizan como parte del protocolo. Estos servicios web internos se llaman durante la iniciación de transacción y durante el proceso de confirmación o retrotracción. Mientras tanto WS-AT requiere una comunicación bidireccional. WS-AT necesita un proxy DMZ para servidores Liberty para operar en un entorno de cortafuegos típico y también puntos finales HTTPS para obtener la autorización. El contenido siguiente describe cómo configurar el proxy y la capa de sockets seguros (SSL) para WS-AT en Liberty.

Proxy de cortafuegos

Cuando los servidores de Liberty están en un entorno de cortafuegos típico, los servidores no pueden comunicarse entre sí a través de cortafuegos. En esta situación, los servidores necesitan un proxy de zona desmilitarizada para operar con normalidad. Puede definir puntos finales de proxy configurando el archivo server.xml.

Por ejemplo, establezca IBM HTTP Server (IHS) como proxy de zona desmilitarizada. En Figura 1, para comunicarse entre dos servidores Liberty mediante IHS, realice los pasos siguientes:
  1. Configure el plug-in de IHS para reenviar solicitudes a los servidores de Liberty. Para obtener información, consulte Configuración de un plug-in de servidor web para Liberty.
    • Para IHS 1, configure el plug-in IHS 1 para reenviar las solicitudes a Liberty A y añada <Uri Name="/ibm/wsatservice/*" /> en el elemento <UriGroup>.
    • Para IHS 2, configure el plug-in IHS 2 para reenviar solicitudes a Liberty B y añada <Uri Name="/ibm/wsatservice/*" /> en el elemento <UriGroup>.
  2. Añada el parámetro externalURLPrefix al archivo server.xml en Liberty:
    • En Liberty A, establezca el valor externalURLPrefix como http://proxyserver1:80 para IHS 1 como se indica a continuación:
      <wsAtomicTransaction externalURLPrefix="http://proxyserver1:80"/> 
    • En Liberty B, establezca el valor externalURLPrefix como http://proxyserver2:81 para IHS 2 como se indica a continuación:
      <wsAtomicTransaction externalURLPrefix="http://proxyserver2:81"/> 
Figura 1. Comunicación entre dos servidores de Liberty a través de IHS
Cuando existe un cortafuegos entre Liberty A y Liberty B, Liberty A puede enviar EPRb1 a Liberty B a través de IHS 1, pero Liberty B recibe EPRb en lugar de EPRb1 y viceversa.

Capa de sockets de seguridad

De forma predeterminada, los servidores de Liberty se comunican sin SSL. Si necesita seguridad WS-AT y la información de seguridad se redirige a un puerto seguro, debe añadir la característica appSecurity-2.0 de Liberty al archivo server.xml. También puede habilitar SSL en Liberty de acuerdo con Protección de Liberty y sus aplicaciones.

Puede configurar SSL para la seguridad WS-AT de acuerdo con los siguientes elementos:
<wsAtomicTransaction SSLEnabled="false" SSLRef="defaultSSLConfig" clientAuth="false"/>
Donde:
SSLEnabled
Especifica si SSL está habilitado para WS-AT. Los valores válidos son true y false. El valor predeterminado es false. Establézcalo en true para habilitar SSL.
SSLRef
Define la configuración SSL en el archivo server.xml. WS-AT necesita esta configuración SSL para comunicarse.
clientAuth
Especifica si clientAuthentication está habilitado para WS-AT. Los valores válidos son true y false. El valor predeterminado es false. Asegúrese de establecer el valor clientAuthenticationSupported en true en la configuración de SSL antes de establecer el valor clientAuth en true para habilitar clientAuthentication.
Importante: La configuración SSL sólo se aplica al nivel de servidor de Liberty.
Consejo: En el siguiente fragmento de código, el valor SSLEnabled predeterminado es false. Si desea habilitar SSL y proxy, establezca el valor SSLEnabled en true y establezca el valor externalURLPrefix como una dirección de proxy que empiece por https://.
<wsAtomicTransaction SSLEnabled="false" SSLRef="defaultSSLConfig" externalURLPrefix="" clientAuth="false"/> 

Icono que indica el tipo de tema Tema de referencia

Nombre de archivo: rwlp_dep_wsat_sec_lib.html