Integración con la seguridad de WebSphere Application Server mediante un interceptor personalizado

En esta sección se describe cómo crear un interceptor de SSO para la integración con la seguridad de WebSphere Application Server.

Antes de empezar

Debe configurarse en WebSphere Application Server con credenciales de usuario LDAP.
Nota: Debe convertir el dominio LDAP de Build Forge que contiene los usuarios de WebSphere Application Server en el servidor LDAP "predeterminado". Para ello, vaya a este dominio LDAP de Build Forge, y seleccione Convertir en predeterminado.

Acerca de esta tarea

El interceptor de SSO de formulario proporcionado autentica a los usuarios con una página de inicio de sesión basada en formulario. A continuación se muestra un ejemplo de cómo crear un interceptor de SSO personalizado. El interceptor personalizado utiliza una clase de interceptor personalizado.

La clase de interceptor accede a WebSphere Application Server para obtener las credenciales de usuario autenticadas. Después de haber obtenido estas credenciales, se almacenan en memoria caché. Los inicios de sesión posteriores utilizan las credenciales almacenadas en memoria caché.

Protección del servicio de autorización (AuthServlet)

Build Forge ejecuta normalmente sus servicios como aplicación en el servidor de aplicaciones de Apache Tomcat proporcionado.

Acerca de esta tarea

A continuación, se proporcionan instrucciones para configurar Build Forge y utilizar WebSphere Application Server en lugar de Tomcat. Siga las instrucciones de la sección Uso de WebSphere Application Server en lugar de Apache Tomcat, con una excepción: el archivo jas.war contiene un archivo denominado web.xml que se necesita extraer y modificar para añadir una restricción de seguridad. Antes de instalar esta aplicación bajo WebSphere Application Server, el archivo war deberá regenerarse después de ser modificado para que utilice la versión protegida de este archivo.

Para volver a generar el archivo war, siga los pasos siguientes:

Procedimiento

  1. Vaya al directorio que contiene el archivo jas.war (el directorio webapps en el root del servidor Tomcat). Copie este archivo en una ubicación temporal, por ejemplo, C:\jas.
  2. Expanda el archivo WAR. En la línea de mandatos, ejecute el mandato: %IBM_JAVA_HOME%\jar –xvf jas.war para expandir el contenido del archivo war.
    Nota: Java debe estar disponible y la variable de entorno IBM_JAVA_HOME debe haberse creado.
  3. Guarde el archivo jas.war para recuperarlo posteriormente:
    1. Windows: copy jas.war jas.war.bak
    2. UNIX o Linux: cp jas.war jas.war.bak
  4. Busque el archivo web.xml en el directorio WEB-INF (a partir de los archivos expandidos del archivo war). Edite este archivo para añadir un contexto de seguridad. Por ejemplo, añada las siguientes líneas al final del archivo justo antes de la etiqueta </web-app>:
    <security-constraint id="SecurityConstraint_1">
             <web-resource-collection id="WebResourceCollection_1">
                <web-resource-name>/*</web-resource-name>
                <url-pattern>/AuthServlet/*</url-pattern>
                <http-method>GET</http-method>
                <http-method>POST</http-method>
                <http-method>PUT</http-method>
                <http-method>DELETE</http-method>
             </web-resource-collection>
             <auth-constraint id="AuthConstraint_1">
                <description>myconstraint:+:</description>
                <role-name>User</role-name>
             </auth-constraint>
             <user-data-constraint id="UserDataConstraint_1">
                <transport-guarantee>NONE</transport-guarantee>
             </user-data-constraint>
          </security-constraint>
          <login-config id="LoginConfig_1">
             <auth-method>BASIC</auth-method>
             <realm-name>full-qualified-domain</realm-name>
          </login-config>
          <security-role id="SecurityRole_1">
             <role-name>User</role-name>
          </security-role>
    Nota: El <auth-method> puede ser cualquier método de autenticación J2EE soportado por WebSphere Application Server. El método de autenticación más común es FORM, que requiere parámetros de configuración adicionales. Consulte la documentación de WebSphere Application Server para obtener instrucciones sobre cómo configurar FORM en la aplicación.
  5. En la línea de mandatos, vuelva a generar el archivo war (invocado desde el mismo directorio en el que se extrajo) ejecutando el siguiente mandato:
    %IBM_JAVA_HOME%\jar –cvf  jas.war

    Ahora debería tener una nueva versión de jas que se haya modificado para proteger AuthServlet con restricciones J2EE. Complete las instrucciones de instalación para ejecutar con WebSphere Application Server e instalar esta versión de jas.war a través de Aplicaciones->Instalar nueva aplicación. Asegúrese de que Build Forge no esté en ejecución mientras configura WebSphere Application Server.

    Después de la instalación, vaya a Aplicaciones > Aplicaciones de empresa. Pulse en el nombre de aplicación para configurarlo. En Detallar propiedades, pulse el enlace Correlación de roles de seguridad con usuarios o grupos. Seleccione el recuadro de selección Todos autenticados para el usuario. Después de realizar este cambio, guarde el cambio en la configuración maestra.

    También es necesario habilitar la seguridad de la aplicación en WebSphere Application Server. Para ello, vaya a Seguridad > Proteger la administración, las aplicaciones y la infraestructura. Asegúrese de que está activada la opción Habilitar seguridad de aplicación.

    En este punto, reinicie WebSphere Application Server y, a continuación, reinicie el servidor de Build Forge.
    Nota: Ahora jas se inicia como parte del proceso de arranque de WebSphere Application Server, por lo tanto, inicie WebSphere Application Server antes de iniciar Build Forge.

Creación de una nueva configuración SSO

Cree una nueva configuración SSO que utilizar con el interceptor.

Procedimiento

  1. En la consola de Build Forge, vaya a Administración > Seguridad > SSO.
  2. Pulse Añadir configuración SSO.
  3. Establezca las propiedades para la configuración.
    • Nombre: especifique un nombre para esta configuración.
    • Clase Java: especifique com.buildforge.services.server.sso.was.WebSphereSSOInterceptor
    • Activa: seleccione .
  4. Pulse Guardar.
  5. Mueva esta configuración para que aparezca primero en la lista. En el menú situado a la izquierda del nombre de configuración, seleccione Mover hasta superior.

Correlación de los usuarios LDAP o de un grupo LDAP a usuarios locales

Correlacione usuarios LDAP o un grupo LDAP a usuarios locales, como por ejemplo el usuario root local.

Acerca de esta tarea

Una vez creado un interceptor SSO de WebSphere Application Server, podrá configurar el interceptor para:
  • Correlacionar usuarios LDAP a usuarios locales, incluido el root
  • Correlacionar un grupo LDAP a un usuario local, como por ejemplo root

Para configurar una correlación, defina un entorno y, a continuación, haga referencia a dicho entorno en el interceptor.

Definición de un entorno

Procedimiento

  1. En la consola de Build Forge, pulse Entornos.
  2. Especifique un nombre para el entorno y pulse Guardar entorno.
  3. Para correlacionar usuarios LDAP a usuarios locales, establezca y guarde las variables siguientes:
    1. Establezca ldap_user_list_mapping en LDAP_user1|local_user1;LDAP_user2|local_user2;LDAP_user3|local_user3
    2. Establezca ldap_realm_name en LDAP_domain_name
    Por ejemplo, suponga que el entorno siguiente está establecido:
    		ldap_user_list_mapping = user1|root;user2|root;user3|root
    		ldap_realm_name = bluepages.ibm.com:389

    En este caso, LDAP user1, user2 y user3 están correlacionados al usuario root local.

  4. Para correlacionar miembros de un grupo LDAP específico a un usuario local, establezca y guarde las variables siguientes:
    1. Establezca ldap_group_name_mapping en LDAP_group|local_user
    2. Establezca ldap_realm_name en LDAP_domain_name
    Nota: Si utiliza los dos tipos de correlaciones, la correlación de usuario tendrá precedencia sobre la correlación de grupo.
    Para un ejemplo de una correlación de grupo, suponga que el entorno siguiente está establecido:
    		ldap_group_name_mapping = cn=bf_admin,ou=memberlist,ou=ibmgroups,o=ibm.com|root
    		ldap_realm_name = bluepages.ibm.com:389

    En este caso, los usuarios que son miembros del grupo LDAP cn=bf_admin,ou=memberlist,ou=ibmgroups,o=ibm.com estarán correlacionados al usuario root local.

Cómo hacer referencia al entorno

Procedimiento

  1. En la consola de Build Forge, pulse Administración > Seguridad > SSO.
  2. Pulse el nombre del interceptor SSO de WebSphere Application Server.
  3. Establezca la propiedad Entorno para la configuración al entorno que acaba de definir.
  4. Pulse Guardar.
  5. Mueva esta configuración para que aparezca primero en la lista. En el menú situado a la izquierda del nombre de configuración, seleccione Mover hasta superior.

Ejecución del interceptor personalizado de SSO

Ahora puede iniciar sesión utilizando las nuevas configuraciones.

Acerca de esta tarea

Este interceptor de SSO personalizado permite ahora que las técnicas de seguridad de WebSphere Application Server autentiquen al usuario mediante una solicitud de AuthServlet que debe pasar a Build Forge como usuario.

Procedimiento

  1. Abra el navegador web, y escriba la dirección http://localhost. En lugar del formulario de inicio de sesión de Build Forge, verá ahora una página de autenticación.
  2. Especifique sus credenciales de usuario y pulse Intro.
    Nota: Después de la autenticación, el inicio de sesión se produce automáticamente.

    Después de cerrar la sesión, aparecerá la página jsp predeterminada en lugar del formulario de inicio de sesión. Los inicios de sesión posteriores será automáticos si continúa autenticado.

Cómo volver al SSO basado en formulario

Puede volver a utilizar el formulario de inicio de sesión de SSO.

Acerca de esta tarea

Para volver a configurar los sistemas para que utilicen el inicio de sesión de formulario, deberá instalar jas en WebSphere Application Server y volver a instalar el archivo jas.war original. En Build Forge, asegúrese de que el interceptor SSO basado en formulario está habilitado y aparece como el elemento superior. Inhabilite el interceptor de WebSphere Application Server personalizado. Para habilitar los cambios, debe reiniciar WebSphere Application Server y Build Forge.

Procedimiento

  1. Desinstale jas y vuelva a instalar el archivo jas.war original.
  2. En Build Forge, asegúrese de que el interceptor SSO de formulario está habilitado y de que aparece como primer elemento (consulte "Configuraciones de seguridad de SSO de Build Forge SSO", más arriba).
  3. Inhabilite el interceptor de WebSphere Application Server personalizado.
  4. Reinicie WebSphere Application Server.
  5. Reinicie Build Forge.

Comentarios