Mejoras de seguridad de servicios web

WebSphere Application Server incluye varias mejoras para proteger los servicios web. Por ejemplo, se da soporte a los conjuntos de políticas del paquete de características para servicios web de WebSphere Application Server Versión 6.1 y posterior, para simplificar la configuración de seguridad de los servicios web.

Creación de aplicaciones

El tiempo de ejecución de la seguridad de servicios web que utiliza WebSphere Application Server Versión 8 se basa en el modelo de programación JAX-WS (Java™ API for XML Web Services). El tiempo de ejecución JAX-WS se basa en Apache Open Source Axis2 y el modelo de datos es AXIOM. En lugar del descriptor de despliegue y los enlaces, se utiliza un conjunto de políticas para la configuración. Puede utilizar la consola administrativa de WebSphere Application Server para editar los archivos de enlaces de aplicaciones asociados a los conjuntos de políticas. Se da soporte al tiempo de ejecución de JAX-WS del paquete de características para servicios web de WebSphere Application Server V6.1 y posterior.

Todavía se da soporte al modelo de programación JAX-RPC, que utiliza descriptores de despliegue y enlaces. Consulte el tema Protección de servicios web JAX-RPC utilizado la seguridad a nivel de mensajes para obtener más información.

Utilización de conjuntos de políticas

Utilice conjuntos de políticas para simplificar la configuración QOS (Quality of Service) de los servicios web.

Nota: Los conjuntos de políticas sólo se pueden utilizar con aplicaciones JAX-WS, en el paquete de características para servicios web de WebSphere Application Server V6.1 y posterior. Los conjuntos de políticas no se pueden utilizar para las aplicaciones JAX-RPC.

Los conjuntos de políticas combinan los valores de configuración, incluidos los de la configuración de nivel de transporte y mensajes, como Web Services Addressing (WS-Addressing), Web Services Reliable Messaging (WS-ReliableMessaging), y Web Services Security (WS-Security), que incluye Secure Conversation (WS-SecureConversation).

Gestión de políticas de confianza

Web Services Security Trust (WS-Trust) ofrece la posibilidad de que un punto final emita una señal de contexto de seguridad para Web Services Secure Conversation (WS-SecureConversation). La señal que emite el soporte está limitado a la señal de contexto de seguridad. La gestión de políticas de confianza define una política para cada una de las operaciones del servicio de confianza como, por ejemplo, emitir, cancelar, validar y renovar una señal. Las políticas de rutina de carga de un cliente deben corresponderse con las políticas del servicio de confianza de WebSphere Application Server.

Protección de mensajes basados en sesiones

Web Services Secure Conversation proporciona una sesión segura para intercambiar mensajes de larga ejecución y aprovechar el algoritmo criptográfico simétrico. WS-SecureConversation proporciona la seguridad básica para proteger los patrones de intercambio de mensajes basados en sesiones como, por ejemplo, Web Services Security Reliable Messaging (WS-ReliableMessaging).

Actualización de la seguridad a nivel de mensajes

Web Services Security (WS-Security) Versión 1.1 da soporte a las funciones siguientes que actualizan la seguridad a nivel de mensajes.
  • Confirmación de firma
  • Cabeceras cifradas

La confirmación de firma amplía la protección de la seguridad de firma digital XML. El elemento <SignatureConfirmation> indica que el encargado de la respuesta ha procesado la firma en la petición y la confirmación de firma comprueba que la firma se ha procesado en el destinatario indicado. Para procesar la confirmación de firma correctamente, el iniciador debe conservar las firmas durante el proceso de generación de solicitudes y posteriormente debe recuperar las firmas para las comprobaciones de confirmación, incluso con la naturaleza sin estado del servicio web y los distintos patrones de intercambio de mensajes. La confirmación de firma se habilita configurando la política.

El elemento de cabecera cifrada proporciona una forma estándar de cifrar cabeceras SOAP que aumenta la interoperatividad. Como se define en la especificación de seguridad de mensajes SOAP, el elemento <EncryptedHeader> indica que debe protegerse una cabecera SOAP concreta (o un conjunto de cabeceras). El cifrado de partes y cabeceras SOAP permite proporcionar una mayor seguridad a nivel de mensajes. El elemento EncryptedHeader garantiza la conformidad con las directrices de proceso mustUnderstand de SOAP e impide la divulgación de información contenida en los atributos de un bloque de cabecera SOAP.

Utilización de la aserción de identidad

En un entorno protegido como, por ejemplo, una intranet, resulta útil una conexión SSL (Secure Sockets Layer) o VPN (Virtual Private Network), para enviar la identidad del solicitante únicamente y sin credenciales, por ejemplo, una contraseña y otras credenciales de confianza como, por ejemplo, la identidad del servidor. WebSphere Application Server da soporte a los siguientes tipos de aserciones de identidad:
  • Una señal Username sin una contraseña
  • Una señal X.509 para un certificado X.509

Para obtener más información sobre la aserción de identidades, lea el tema Evaluador de ID de confianza.

Firma o cifrado de datos con una señal personalizada

Para el modelo de programación de JAX-RPC, el localizador de claves, o la interfaz com.ibm.wsspi.wssecurity.keyinfo.KeyLocator Java se ha ampliado para dar soporte a la flexibilidad de la especificación. El localizador de claves es el responsable de localizar la clave. El sujeto JAAS local se pasa en el método KeyLocator.getKey() del contexto. La implementación del localizador de claves se puede derivar de la clave de la señal, que ha creado el generador de señales o el consumidor de señales, para firmar un mensaje, para verificar la firma de un mensaje, para cifrar un mensaje o para descifrar un mensaje. La interfaz com.ibm.wsspi.wssecurity.keyinfo.KeyLocator Java es distinta a la versión de WebSphere Application Server Versión 5.x. La interfaz com.ibm.wsspi.wssecurity.config.KeyLocator de la versión 5.x se ha dejado de utilizar. No se efectúa una migración automática del localizador de claves de la versión 5.x a las versiones 6 y posterior. Debe migrar el código fuente para la implementación del localizador de claves de la versión 5.x a la implementación del modelo de programación del localizador de claves de la versión 6 y posteriores.

Para el modelo de programación JAX-WS, la infraestructura de la señal conectable reutiliza la misma infraestructura de la API de WSS. Se puede utilizar la misma implementación para crear y validar una señal de seguridad en el tiempo de ejecución de Web Services Security y la aplicación de la API de WSS. Esto simplifica el modelo de programación de la SPI y facilita la adición de tipos de señales de seguridad nuevos o personalizados. La SPI rediseñada consta de las interfaces siguientes:
  • El manejador de retorno de llamada JAAS y el módulo de inicio de sesión de JAAS crean señales de seguridad en el generador y validan, o autentican, las señales de seguridad del consumidor.
  • La interfaz de señales de seguridad, com.ibm.websphere.wssecurity.wssapi.token.SecurityToken, representa la señal de seguridad que dispone de métodos para obtener la identidad, el formato XML y las claves criptográficas.
Si se utiliza JAX-WS, dejan de necesitarse las interfaces siguientes:
  • Generador de señales (com.ibm.wsspi.wssecurity.token.TokenGeneratorComponent)
  • Consumidor de señales (com.ibm.wsspi.wssecurity.token.TokenConsumerComponent)
  • Localizador de claves (com.ibm.wsspi.wssecurity.keyinfo.KeyLocator)
Puede obtener más información sobre las señales de seguridad personalizadas leyendo los siguientes artículos del sitio web de IBM® developerWorks:

Firmado o cifrado de cualquier elemento XML

Se utiliza una expresión XPath para seleccionar el elemento XML que se va a firmar o cifrar. No obstante, se utiliza una firma de sobre cuando se firma el sobre SOAP, la cabecera SOAP o la cabecera de la seguridad de servicios web. En los servicios web de JAX-RPC, se especifica la expresión XPath en el descriptor de despliegue de la aplicación. En los servicios web de JAX-WS, se especifica la expresión XPath en la política WS-Security del conjunto de políticas.

El modelo de programación de JAX-WS utiliza conjuntos de políticas para indicar las partes del mensaje donde se debe aplicar la seguridad. Por ejemplo, se utiliza la aserción <Body> para indicar que el cuerpo del mensaje SOAP está firmado o cifrado. Otro ejemplo es la aserción <Header>, donde se especifica el QName de la cabecera SOAP que se debe firmar o cifrar.

Firmado o cifrado de cabeceras SOAP

El soporte de OASIS Web Services Security (WS-Security) Versión 1.1 ofrece una forma estándar de cifrar y firmar cabeceras SOAP. Para firmar o cifrar mensajes SOAP, especifique el QName para seleccionar elementos de cabecera en la cabecera SOAP del mensaje SOAP.

Puede configurar conjuntos de políticas para la firma o el cifrado utilizando la consola administrativa o las API de Web Services Security (API de WSS). Para obtener más detalles, consulte el apartado Protección de partes de mensaje utilizando la consola administrativa.

Para la firma, especifique lo siguiente:
Name
Este atributo opcional indica el nombre local de la cabecera SOAP de la que se va a proteger la integridad. Si no se especifica este atributo, se protegerán todas las cabeceras SOAP cuyo espacio de nombres coincida con el atributo Espacio de nombres.
Espacio de nombres
Este atributo necesario indica el espacio de nombres de las cabeceras SOAP de las que se va a proteger la integridad.
Para el cifrado, especifique lo siguiente:
Name
Este atributo opcional indica el nombre local de la cabecera SOAP de la que se va a proteger la confidencialidad. Si no se especifica este atributo, se protegerán todas las cabeceras SOAP cuyo espacio de nombres coincida con el atributo Espacio de nombres.
Espacio de nombres
Este atributo necesario indica el espacio de nombres de las cabeceras SOAP de las que se va a proteger la confidencialidad.
Esto da como resultado un elemento <EncryptedHeader> que contiene el elemento <EncryptedData>.

Para el comportamiento de Web Services Security Versión 1.0, especifique la propiedad com.ibm.wsspi.wssecurity.encryptedHeader.generate.WSS1.0 con un valor true en la EncryptionInfo de los enlaces. La especificación de esta propiedad da como resultado un elemento <EncryptedData>.

Para un comportamiento de Web Services Security Versión 1.1 equivalente a las versiones de WebSphere Application Server anteriores a la versión 7.0, especifique la propiedad com.ibm.wsspi.wssecurity.encryptedHeader.generate.WSS1.1.pre.V7 con el valor true en el elemento <encryptionInfo> del enlace. Cuando se especifica esta propiedad, el elemento <EncryptedHeader> incluye un parámetro wsu:Id y el elemento <EncryptedData> omite el parámetro ID. Esta propiedad sólo se debe utilizar si no es necesaria la conformidad con Basic Security Profile 1.1 y si es necesario enviar elementos <EncryptedHeader> a un cliente o un servidor que utilice el paquete de características para servicios Web de WebSphere Application Server Versión 5.1.

Soporte de LTPA

En la seguridad de servicios web se da soporte a LTPA (Lightweight Third Party Authentication) como una señal de seguridad binaria. Web Services Security da soporte a las señales LTPA (versión 1) y LTPA versión 2. A la señal LTPA versión 2, que es más segura que la versión 1, se le da soporte en WebSphere Application Server versión 7.0 y posterior.

Ampliación del soporte de las indicaciones de la hora

Puede insertar una indicación de la hora en otros elementos durante el proceso de firma además de la cabecera de la seguridad de servicios web. Esta indicación de la hora proporciona un mecanismo para añadir un límite de tiempo a un elemento. Este soporte es una ampliación de WebSphere Application Server. Es posible que las implementaciones de otros proveedores no puedan consumir un mensaje generado con una indicación de la hora adicional insertada en el mensaje.

Ampliación del soporte para nonce

Puede insertar un nonce, que es un valor generador aleatoriamente, en otros elementos además de la señal Username. Nonce se utiliza para reducir la posibilidad de un ataque de reproducción. Este soporte es una ampliación de WebSphere Application Server. Es posible que las implementaciones de otros proveedores no puedan consumir mensajes con un nonce insertado en otros elementos que no sea una señal Username.

Soporte para distribuir memoria caché de nonce

La característica para distribuir memoria caché de nonce es una de las nuevas características de WebSphere Application Server Versión 6 y posteriores para servicios web que le permite duplicar los datos de nonce entre los servidores de un clúster. Por ejemplo, puede tener un servidor de aplicaciones A y un servidor de aplicaciones B en el clúster C. Si el servidor de aplicaciones A acepta un nonce con un valor de X, entonces el servidor de aplicaciones B genera una excepción SoapSecurityException si recibe el nonce con el mismo valor en un período de tiempo especificado.

Importante: La característica para distribuir antememoria de nonce utiliza el servicio DRS (Data Replication Service) de WebSphere Application Server. Los datos de la memoria caché local se pasan a la memoria caché de otros servidores del mismo dominio de duplicación. La duplicación es una llamada fuera de proceso y, en algunos casos, es una llamada remota. Por lo tanto, es posible que la duplicación sufra un retardo mientras se actualiza el contenido de la memoria caché de cada servidor de aplicaciones del clúster. El retardo puede ser debido al tráfico de red, la carga de trabajo de la red, la carga de trabajo de la máquina, etc. Para una protección de seguridad adecuada, debe habilitar la seguridad adecuada para la memoria caché DRS. Consulte el tema Dominios de duplicación de multi-broker para obtener más información.

Colocación en memoria caché del certificado X.509

De forma predeterminada, WebSphere Application Server colocan en memoria caché los certificados X.509 que recibe, para evitar la validación de vías de acceso de certificados y mejorar su rendimiento. No obstante, este cambio puede significar un riesgo de seguridad. Puede inhabilitar la colocación en memoria caché de certificados utilizando los pasos siguientes:

A nivel de célula:
  • Pulse Seguridad > Servicios Web.
  • En Propiedades adicionales, pulse Propiedades > Nueva.
  • En el campo de nombre de propiedad, escriba com.ibm.ws.wssecurity.config.token.certificate.useCache.
  • En el campo Valor de propiedad, escriba false.
A nivel de servidor:
  • Pulse Servidores > Servidores de aplicaciones > nombre_servidor.
  • En Seguridad, pulse Servicios Web: enlaces por omisión para Web Services Security.
  • En Propiedades adicionales, pulse Propiedades > Nueva.
  • En el campo de nombre de propiedad, escriba com.ibm.ws.wssecurity.config.token.certificate.useCache.
  • En el campo Valor de propiedad, escriba false.

Soporte para una lista de revocación de certificados

La lista de revocación de certificados (CRL) en WebSphere Application Server se utiliza para mejorar la validación de vías de acceso de certificados. Puede especificar una CRL en el almacén de certificados de colecciones para su validación. También puede codificar una CRL en una señal X.509 utilizando la codificación PKCS#7. No obstante, WebSphere Application Server Versión 6 y posteriores no dan soporte a la codificación CRL X509PKIPathv1 de un símbolo X.509.
Importante: La codificación PKCS#7 se ha comprobado solamente con el proveedor IBM CertPath (vía de acceso de certificados IBM). La codificación no está soportada para otros proveedores de vía de acceso de certificados.

Icon that indicates the type of topic Concept topic



Timestamp icon Last updated: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=cwbs_wssv6enhance
File name: cwbs_wssv6enhance.html