Protección de recursos en WebSphere Application Server

Los siguientes recursos de HCL Commerce se protegen mediante el control de acceso de WebSphere Application Server:

Beans de entidad
Estos beans modelan objetos de una aplicación de comercio electrónico. Son objetos distribuidos a los que pueden acceder clientes remotos.
Plantillas JSP
HCL Commerce utiliza plantillas JSP para las páginas de visualización. Cada plantilla JSP puede contener uno o más beans de datos que recuperan datos de beans de entidad. Los clientes pueden solicitar páginas JSP creando una petición de URL.
Mandatos de controlador y de vistas
Los clientes pueden solicitar mandatos de controlador y de vistas creando peticiones de URL. Además, una página de visualización puede contener un enlace a otra utilizando el nombre de archivo JSP o el nombre de vista, tal como está registrado en Configurar una aplicación web.

Normalmente, Transaction server se configura para utilizar las siguientes vías de acceso web:

/webapp/wcs/stores/servlet/*
Se utiliza para peticiones al servlet de peticiones.
/webapp/wcs/stores/*.jsp
Se utiliza para peticiones al servlet de JSP.

En el siguiente diagrama se muestra la ruta que pueden seguir dichas peticiones para acceder a los recursos de HCL Commerce, para la configuración de vía de acceso a la Web indicada anteriormente.

En el siguiente diagrama se muestra la ruta que pueden seguir dichas peticiones para acceder a los recursos de HCL Commerce. La vía de acceso 1 muestra una petición desde el motor de servlets a la plantilla JSP y la vía de acceso 2 muestra una petición desde un cliente Corba a un bean de entidad.

Todas las peticiones legítimas deben dirigirse al servlet de peticiones, que después las dirigirá al controlador web. El controlador web implementa el control de acceso para mandatos de controlador y vistas. Sin embargo, las vías de acceso web mostradas anteriormente permiten que los usuarios malintencionados accedan directamente a las plantillas JSP (vía 1) y los beans de entidad (vía 2). Para impedir que estos ataques obtengan un resultado satisfactorio, deben rechazarse durante la ejecución.

El acceso directo a las plantillas JSP y beans de entidad puede impedirse utilizando uno de los siguientes enfoques:

Seguridad de WebSphere Application Server
WebSphere Application Server proporciona un número de características de seguridad. HCL Commerce utiliza una de estas características para asegurar que todos los métodos de bean enterprise y las plantillas JSP se configuren para que solo los invoque una entidad seleccionada. Para acceder a estos recursos de HCL Commerce, se debe direccionar una petición de URL al servlet de peticiones. El servlet de peticiones establece la identidad elegida en la hebra actual antes de pasarla al controlador web. El controlador web se asegura entonces de que el llamante tenga la autorización necesaria antes de pasar la petición al correspondiente mandato de controlador o vista. El componente de seguridad de WebSphere Application Server rechazará todos los intentos de acceder directamente a plantillas JSP y beans de entidad (es decir, sin utilizar el controlador Web).

Para obtener información sobre seguridad dentro de WebSphere Application Server, consulte el tema sobre Administración del sistema en la documentación de WebSphere Application Server.

Protección mediante cortafuegos
Se recomienda ejecutar Transaction server detrás de un cortafuegos. Cuando HCL Commerce Server se ejecuta detrás del cortafuegos, los clientes de Internet no pueden acceder directamente a los beans de entidad. Si se utiliza este método, la protección de las plantillas JSP la proporciona el bean de datos que se incluye en la página. Al bean de datos lo activa el gestor de beans de datos. El gestor de beans de datos detecta si la plantilla JSP ha sido reenviada por un mandato de vista. Si no ha sido reenviada por un mandato de vista, se genera una excepción y la petición para la plantilla JSP se rechaza.
Nota: Si coloca un cortafuegos entre el servidor de aplicaciones de HCL Commerce y el servidor web, el plug-in de servidor web puede no reconocer cuando el servidor de aplicaciones está apagado, lo que impide un comportamiento de migración tras error correcto. En este caso se recomienda habilitar el atributo ExtendedHandshake en el archivo de configuración de plugin de servidor web, plugin-cfg.xml. Por ejemplo:

<Server CloneID="1234abcd" ConnectTimeout="0" ExtendedHandshake="true" LoadBalanceWeight="2" MaxConnections="-1" 
Name="WC_demo" ServerIOTimeout="0" WaitForContinue="false">