Habilitación de seguridad seguida de errores

Utilice esta información si tiene problemas después de habilitar la seguridad.

Nota: En este tema se hace referencia a uno o más de los archivos de registro del servidor de aplicaciones. Como alternativa recomendada, puede configurar el servidor para utilizar la infraestructura de registro y rastreo HPEL en lugar de utilizar los archivos SystemOut.log , SystemErr.log, trace.log y activity.log en sistemas distribuidos y de IBM® i. Puede también utilizar HPEL junto con sus recursos de registro nativos de z/OS. Si utiliza HPEL, puede acceder a toda la información de registro y rastreo utilizando la herramienta de línea de mandatos LogViewer desde el directorio bin de perfil de servidor. Consulte la información sobre la utilización de HPEL para resolver problemas de aplicaciones para obtener más información sobre la utilización de HPEL.
¿Qué clase de error está viendo?

[AIX Solaris HP-UX Linux Windows][IBM i]Para obtener información general sobre cómo diagnosticar y resolver los problemas relacionados con la seguridad, consulte el tema Resolución de problemas del componente de seguridad.

El soporte de IBM tiene documentos y herramientas que le pueden ahorrar tiempo en la recopilación de la información necesaria para resolver los problemas. Antes de abrir un informe de problema, consulte la página del servicio de soporte:

Error de autenticación al acceder a una página Web

Las causas posibles de los errores de autenticación son:
  • El nombre de usuario o las contraseñas no son correctos. Compruebe el nombre de usuario y la contraseña y asegúrese de que sean correctos.
  • Error de configuración de seguridad: el tipo de registro de usuarios no se ha establecido correctamente. Compruebe la propiedad del registro de usuarios en los valores seguridad administrativa de la consola administrativa. Compruebe que la propiedad del registro de usuarios sea el registro de usuarios deseado.
  • Error interno de programa. Si la aplicación de cliente es un programa Java™ autónomo, es posible que este programa no reúna o envíe la información de credenciales correctamente.

[AIX Solaris HP-UX Linux Windows][IBM i]Si la configuración de registro de usuarios, el ID de usuario y la contraseña son los correctos, utilice el rastreo de WebSphere Application Server para determinar la causa del problema. Para habilitar el rastreo de seguridad, utilice la especificación de rastreo com.ibm.ws.security.*=all=enabled.

Error de autorización al acceder a una página Web

Si un usuario que debe tener acceso a un recurso no puede acceder, probablemente falte un paso de configuración. Revise Autorización del acceso a roles administrativos.

Específicamente:
  • Compruebe los roles necesarios para los recursos web a los que se ha accedido.
  • Compruebe la tabla de autorizaciones y asegúrese de que el usuario o los grupos a los que pertenece el usuario están asignados a uno de los roles necesarios.
  • Visualice los roles necesarios para el recurso web en el descriptor de despliegue del recurso web.
  • Visualice la tabla de autorizaciones de la aplicación que contiene el recurso web, utilizando la consola administrativa.
  • Haga la prueba con un usuario que tenga los roles necesarios, para ver si el usuario puede acceder a los recursos que dan problemas.
  • Si es necesario que el usuario tenga uno o varios de los roles necesarios, utilice la consola administrativa para asignar a dicho usuario los roles necesarios, detener y reiniciar la aplicación.

[AIX Solaris HP-UX Linux Windows][IBM i]Si se otorgan al usuario los roles necesarios pero sigue sin poder acceder a los recursos protegidos, habilite el rastreo de seguridad utilizando com.ibm.ws.security.*=all=enabled como la especificación de rastreo. Recopile la información de rastreo para continuar resolviendo el problema.

La autenticación falla cuando las páginas de códigos difieren entre el cliente y el servidor

Cuando un cliente utiliza una página de códigos diferente del servidor y se utilizan caracteres que no son caracteres ASCII de EE.UU. para el ID de usuario y la contraseña durante la autenticación básica, el inicio de sesión falla. La cabecera HTTP no incluye la información del método de codificación necesaria para convertir los datos codificados, por lo tanto, el servidor no sabe cómo decodificar correctamente la información.
Utilice un formulario de inicio de sesión que se base en los parámetros POST que están en el texto del cuerpo HTML. La codificación del texto la envía el navegador y, por lo tanto, se puede decodificar correctamente.
Nota: Los clientes de servicios Web no pueden utilizar el inicio de sesión de formulario para resolver este problema. Los usuarios deben asegurarse de que haya una coherencia en las páginas de códigos entre el cliente y el servidor.

Mensaje de error: CWSCJ0314E: La política de seguridad Java 2 actual ha informado acerca de una violación potencial de los permisos de seguridad en el servidor

Si encuentra errores en el servidor similares a:
Mensaje de error: CWSCJ0314E: La política
de seguridad actual  de Java 2 ha informado acerca de una violación
potencial de
los permisos de seguridad de Java 2. Consulte la guía de determinación de problemas para
obtener más información.
{0}Permiso/:{1}Código/:{2}{3}Pila de rastreo/:{4}Ubicación del código base/:{5}
El método checkPermission del gestor de seguridad Java ha generado una excepción SecurityException.

La excepción generada puede ser muy grave para el sistema seguro. Active el rastreo de seguridad para determinar el código potencial que puede haber violado la política de seguridad. Cuando se haya determinado de qué código se trata, compruebe si la operación que ha intentado está permitida con respecto a la seguridad de Java 2, analizando todos los archivos de política de seguridad de Java 2 aplicables y el código de la aplicación.

Este informe se habilita configurando el rastreo RAS ((Reliability Availability and Serviceability) en modalidad de depuración o especificando una propiedad Java.
  • [AIX Solaris HP-UX Linux Windows][IBM i]Consulte el artículo sobre configuración del rastreo y el registro para obtener instrucciones sobre cómo configurar el rastreo RAS (Reliability Availability Serviceability) en modalidad de depuración; o bien
  • Especifique la propiedad siguiente en el panel Servidores > Tipos de servidor > Servidores de aplicaciones WebSphere > nombre_servidor > Java y gestión de procesos > Definición de proceso > Máquina Virtual Java de la consola administrativa en el panel Argumentos genéricos de JVM:
    • Añada el distintivo de tiempo de ejecución java.security.debug.
    • Los valores válidos son:
      access
      Imprimir toda la información de depuración, incluidos el permiso necesario, el código, la pila y la ubicación del código base.
      pila
      Imprima la información de depuración, incluidos el permiso necesario, el código y la pila.
      failure
      Imprima la información de depuración, incluidos el permiso necesario y el código.

Para obtener información acerca de las políticas de seguridad de Java, consulte la documentación de seguridad de Java 2 en http://www.ibm.com/developerworks/java/jdk/security/

Sugerencia: si la aplicación se está ejecutando con una interfaz de programación de aplicaciones de correo de Java, es posible que este mensaje sea benigno. Puede actualizar el archivo directorio_raíz_aplicación_empresa_instalada/META-INF/was.policy para conceder los permisos siguientes a la aplicación.
  • permission java.io.FilePermission "${user.home}${/}.mailcap", "read";
  • permission java.io.FilePermission "${user.home}${/}.mime.types", "read";
  • permission java.io.FilePermission "${java.home}${/}lib${/}mailcap", "read";
  • permission java.io.FilePermission "${java.home}${/}lib${/}mime.types", "read";

Mensaje de error: Aparece el error CWMSG0508E: El servicio de seguridad de JMS Server no ha podido autenticar el ID de usuario:" en SystemOut.log cuando se inicia un servidor de aplicaciones

Este error se puede producir si se instala el ejemplo de la API de mensajería JMS (Java Message Service) y se habilita la seguridad. Siga las instrucciones de la página Configurar y ejecutar de la documentación del ejemplo de JMS correspondiente para configurar el ejemplo para que funcione con la seguridad de WebSphere Application Server.

Puede verificar la instalación del ejemplo de bean controlado por mensajes, iniciando el programa de instalación, seleccionando Personalizada y examinando los componentes que ya están instalado en el panel Seleccione las características que desee instalar. El ejemplo de JMS se muestra como ejemplo de bean controlado por mensajes en Mensajería incorporada.

También puede verificar esta instalación utilizando la consola administrativa para abrir las propiedades del servidor de aplicaciones que contiene los ejemplos. Seleccione MDBSamples y pulse uninstall.

Mensaje de error: CWSCJ0237E: Uno o más atributos vitales de LTPAServerObject son nulos o no están disponibles después de habilitar la seguridad e iniciar el servidor de aplicaciones.

Este mensaje de error se puede producir si se selecciona LTPA como mecanismo de autenticación, pero no se generan las claves LTPA (Lightweight Third Party Authentication). Las claves LTPA cifran el símbolo LTPA.

Para solucionar este problema:
  1. Pulse Seguridad > Seguridad global > Autenticación > Mecanismos de autenticación y caducidad > LTPA.
  2. Escriba una contraseña, que puede ser cualquier valor.
  3. Escriba la misma contraseña en Confirmar contraseña.
  4. Pulse Aplicar.
  5. Pulse Generar claves.
  6. Pulse Guardar.

Aparece la excepción AccessControlException en SystemOut.log

El problema está relacionado con la característica de seguridad de Java 2 de WebSphere Application Server, la infraestructura de seguridad de nivel de la API que se implementa en WebSphere Application Server Versión 5. Aparece una excepción parecida al siguiente ejemplo. El mensaje de error y el número pueden variar.
[AIX Solaris HP-UX Linux Windows]
CWSRV0020E: [Servlet Error]-[validator]: No se ha podido cargar el servlet:
java.security.AccessControlException: acceso denegado
(java.io.FilePermission 
raíz_servidor_aplicaciones/systemApps/isclite.ear/isclite.war/WEB-INF/validation.xml read) 
[z/OS]
CWSRV0020E: [Servlet Error]-[validator]: Failed to load servlet: 
java.security.AccessControlException: access denied  
(java.io.FilePermission 
/WebSphere/V6R1M0/AppServer/systemApps/isclite.ear/isclite.war/WEB-INF/validation.xml read)
[IBM i]
CWSRV0020E: [Servlet Error]-[validator]: No se ha podido cargar el servlet:
java.security.AccessControlException: acceso denegado
(java.io.FilePermission 
raíz_servidor_aplicaciones/systemApps/isclite.ear/isclite.war/WEB-INF/validation.xml read)

[AIX Solaris HP-UX Linux Windows][IBM i]Para obtener una descripción de la seguridad de Java 2, sobre cómo y por qué se ha de habilitar o inhabilitar, cómo se relaciona con los archivos de política y cómo editar los archivos de política, consulte el tema Seguridad Java 2 en la navegación del Information Center. El tema describe que la seguridad de Java 2 no sólo la utiliza este producto sino que los desarrolladores también pueden implementarla para sus aplicaciones de empresa. Es posible que los administradores requieran la intervención de los desarrolladores si esta excepción se crea cuando un cliente intenta acceder a un recurso que alberga WebSphere Application Server.

Las causas posibles de estos errores son:
  • Errores de sintaxis en un archivo de políticas.
  • Errores de sintaxis en las especificaciones de permisos del archivo ra.xml empaquetado en un archivo .rar. Estas minúsculas se aplican a los adaptadores de recursos que dan soporte al acceso de conector con CICS u otros recursos.
  • A una aplicación le falta el permiso especificado en un archivo de políticas o en las especificaciones de permisos de un archivo ra.xml empaquetado en un archivo .rar.
  • La classpath no se ha establecido correctamente, por lo que no se pueden crear correctamente los permisos para el archivo resource.xml.
  • A una biblioteca a la que ha llamado una aplicación, o a la aplicación, le falta un bloque doPrivileged para dar soporte al acceso a un recurso.
  • El permiso se ha especificado en el archivo de políticas erróneo.
Para solucionar estos problemas:
  • Compruebe todos los archivos de políticas relacionados para comprobar que el permiso figura en la excepción, por ejemplo, que se ha especificado java.io.FilePermission.
  • Busque una excepción ParserException relacionada en SystemOut.log que contenga información detallada acerca del error de sintaxis.
    [AIX Solaris HP-UX Linux Windows]Por ejemplo:
    CWSCJ0189E: Se ha obtenido una excepción
    ParserException al crear una plantilla para la política de
    aplicaciones
    
    raíz_perfil/config/cells/nombre_célula/nodes/nombre_nodo/app.policy
    [z/OS]
    CWSCJ0189E: Se ha obtenido una excepción
    ParserException al crear una plantilla para la política de
    aplicaciones
    
    /WebSphere/V6R1M0/AppServer1/profiles/nombre_perfil/config/cells/nombre_célula/nodes/nombre_nodo/app.policy.
    [IBM i]
    CWSCJ0189E: Se ha obtenido una excepción
    ParserException al crear una plantilla para la política de
    aplicaciones
    
    raíz_perfil/config/cells/nombre_célula/nodes/nombre_nodo/app.policy
    Donde:
    • [z/OS]V6R1M0 es la versión de WebSphere Application Server que está utilizando.
    • nombre_célula es el nombre de la célula.
    • nombre_perfil representa el nombre del perfil.
    • nombre_nodo representa el nombre del nodo.
    La excepción es com.ibm.ws.security.util.ParserException: line 18: expected ';', found 'grant'
  • Busque un mensaje similar a: CWSCJ0325W: No se ha resuelto el permiso permiso especificado en el archivo de políticas.
  • Compruebe la pila de llamadas para determinar qué método no tiene el permiso. Identifique la classpath de este método. Si resulta difícil identificar el método, habilite el informe de seguridad de Java 2.
    • [AIX Solaris HP-UX Linux Windows][IBM i]Configure el rastreo de RAS especificando com.ibm.ws.security.core.*=all=enabled o especificando una propiedad Java property.java.security.debug. Los valores válidos de la propiedad java.security.debug son:
      access
      Imprimir toda la información de depuración: el permiso necesario, el código, la pila y la ubicación del código base.
      pila
      Imprimir la información de depuración: el permiso necesario, el código y la pila.
      failure
      Imprimir la información de depuración: el permiso necesario y el código.
    • El informe muestra:
      Permission
      Falta un permiso.
      Code
      El método donde reside el problema.
      Stack Trace
      El lugar donde se ha producido la violación de acceso.
      CodeBaseLocation
      La información detallada de cada trama de la pila.
      [AIX Solaris HP-UX Linux Windows]Generalmente, el permiso y el código son suficientes para identificar el problema. En el ejemplo siguiente se muestra un informe:
      Permission: 
      raíz_servidor_aplicaciones/logs/server1/SystemOut_02.08.20_11.19.53.log : 
      access denied (java.io.FilePermission 
      raíz_servidor_aplicaciones/logs/server1/SystemOut_02.08.20_11.19.53.log delete) 
      
      Code: 
       com.ibm.ejs.ras.RasTestHelper$7  in  
      {file:raíz_servidor_aplicaciones/installedApps/app1/JrasFVTApp.ear/RasLib.jar
      } 
      
      Stack Trace: 
      
      java.security.AccessControlException: access denied (java.io.FilePermission 
      raíz_servidor_aplicaciones/logs/server1/SystemOut_02.08.20_11.19.53.log delete
      ) 
              at java.security.AccessControlContext.checkPermission
                                    (AccessControlContext.java(Compiled Code)) 
              at java.security.AccessController.checkPermission
                                    (AccessController.java(Compiled Code))
              at java.lang.SecurityManager.checkPermission
                                    (SecurityManager.java(Compiled Code)) 
                                     . 
      Code Base Location: 
      
      com.ibm.ws.security.core.SecurityManager : 
      file:/raíz_servidor_aplicaciones/plugins/com.ibm.ws.runtime_6.1.0.jar
      
        ClassLoader: com.ibm.ws.bootstrap.ExtClassLoader 
        Permissions granted to CodeSource 
      (file:/raíz_servidor_aplicaciones/plugins/com.ibm.ws.runtime_6.1.0.jar <no certificates>
      
        { 
          (java.util.PropertyPermission java.vendor read); 
          (java.util.PropertyPermission java.specification.version read); 
          (java.util.PropertyPermission line.separator read); 
          (java.util.PropertyPermission java.class.version read); 
          (java.util.PropertyPermission java.specification.name read); 
          (java.util.PropertyPermission java.vendor.url read); 
          (java.util.PropertyPermission java.vm.version read); 
          (java.util.PropertyPermission os.name read); 
          (java.util.PropertyPermission os.arch read); 
         } 
         ( Esta lista continúa.)
      [z/OS]
      Permission: 
      /WebSphere/AppServer/logs/server1/SystemOut_02.08.20_11.19.53.log : 
      access denied (java.io.FilePermission 
      WebSphere/AppServer/logs/server1/SystemOut_02.08.20_11.19.53.log delete) 
      
      Code: 
       com.ibm.ejs.ras.RasTestHelper$7  in  
      {file:/WebSphere/AppServer/installedApps/app1/JrasFVTApp.ear/RasLib.jar} 
      
      Stack Trace: 
      
      java.security.AccessControlException: access denied (java.io.FilePermission 
      
      /WebSphere/AppServer/logs/server1/SystemOut_02.08.20_11.19.53.log delete) 
              at java.security.AccessControlContext.checkPermission
                                    (AccessControlContext.java(Compiled Code)) 
              at java.security.AccessController.checkPermission
                                    (AccessController.java(Compiled Code))
              at java.lang.SecurityManager.checkPermission
                                    (SecurityManager.java(Compiled Code)) 
                                     . 
      Code Base Location: 
      
      com.ibm.ws.security.core.SecurityManager : 
      
      file:/WebSphere/AppServer/lib/securityimpl.jar
        ClassLoader: com.ibm.ws.bootstrap.ExtClassLoader 
        Permissions granted to CodeSource 
      (file:/WebSphere/AppServer/lib/securityimpl.jar <no certificates>
        { 
          (java.util.PropertyPermission java.vendor read); 
          (java.util.PropertyPermission java.specification.version read); 
          (java.util.PropertyPermission line.separator read); 
          (java.util.PropertyPermission java.class.version read); 
          (java.util.PropertyPermission java.specification.name read); 
          (java.util.PropertyPermission java.vendor.url read); 
          (java.util.PropertyPermission java.vm.version read); 
          (java.util.PropertyPermission os.name read); 
          (java.util.PropertyPermission os.arch read); 
         } 
         ( Esta lista continúa.)
      [IBM i]
      Permission: 
      raíz_perfil/logs/server1/SystemOut_02.08.20_11.19.53.log : 
      access denied (java.io.FilePermission 
      raíz_perfil/logs/server1/SystemOut_02.08.20_11.19.53.log delete) 
      
      Code: 
       com.ibm.ejs.ras.RasTestHelper$7  in  
      {file:raíz_perfil/installedApps/app1/JrasFVTApp.ear/RasLib.jar
      } 
      
      Stack Trace: 
      
      java.security.AccessControlException: access denied (java.io.FilePermission 
      raíz_perfil/logs/server1/SystemOut_02.08.20_11.19.53.log delete
      ) 
              at java.security.AccessControlContext.checkPermission
                                    (AccessControlContext.java(Compiled Code)) 
              at java.security.AccessController.checkPermission
                                    (AccessController.java(Compiled Code))
              at java.lang.SecurityManager.checkPermission
                                    (SecurityManager.java(Compiled Code)) 
                                     . 
      Code Base Location: 
      
      com.ibm.ws.security.core.SecurityManager : 
      file:raíz_servidor_aplicaciones/plugins/com.ibm.ws.runtime_6.1.0.jar
      
        ClassLoader: com.ibm.ws.bootstrap.ExtClassLoader 
        Permissions granted to CodeSource 
      (file:raíz_servidor_aplicaciones/plugins/com.ibm.ws.runtime_6.1.0.jar <no certificates>
        { 
          (java.util.PropertyPermission java.vendor read); 
          (java.util.PropertyPermission java.specification.version read); 
          (java.util.PropertyPermission line.separator read); 
          (java.util.PropertyPermission java.class.version read); 
          (java.util.PropertyPermission java.specification.name read); 
          (java.util.PropertyPermission java.vendor.url read); 
          (java.util.PropertyPermission java.vm.version read); 
          (java.util.PropertyPermission os.name read); 
          (java.util.PropertyPermission os.arch read); 
         } 
         ( Esta lista continúa.)
      Permission: 
      raíz_perfil/logs/server1/SystemOut_02.08.20_11.19.53.log : 
      access denied (java.io.FilePermission 
      raíz_perfil/logs/server1/SystemOut_02.08.20_11.19.53.log delete) 
      
      Code: 
       com.ibm.ejs.ras.RasTestHelper$7  in  
      {file:raíz_perfil/installedApps/app1/JrasFVTApp.ear/RasLib.jar} 
      
      Stack Trace: 
      
      java.security.AccessControlException: access denied (java.io.FilePermission 
      
      raíz_perfil/logs/server1/SystemOut_02.08.20_11.19.53.log delete) 
              at java.security.AccessControlContext.checkPermission
                                    (AccessControlContext.java(Compiled Code)) 
              at java.security.AccessController.checkPermission
                                    (AccessController.java(Compiled Code))
              at java.lang.SecurityManager.checkPermission
                                    (SecurityManager.java(Compiled Code)) 
                                     . 
      Code Base Location: 
      
      com.ibm.ws.security.core.SecurityManager : 
      
      file:raíz_servidor_aplicaciones/plugins/com.ibm.ws.runtime_6.1.0.jar
        ClassLoader: com.ibm.ws.bootstrap.ExtClassLoader 
        Permissions granted to CodeSource 
      (file:raíz_servidor_aplicaciones/plugins/com.ibm.ws.runtime_6.1.0.jar <no certificates>
        { 
          (java.util.PropertyPermission java.vendor read); 
          (java.util.PropertyPermission java.specification.version read); 
          (java.util.PropertyPermission line.separator read); 
          (java.util.PropertyPermission java.class.version read); 
          (java.util.PropertyPermission java.specification.name read); 
          (java.util.PropertyPermission java.vendor.url read); 
          (java.util.PropertyPermission java.vm.version read); 
          (java.util.PropertyPermission os.name read); 
          (java.util.PropertyPermission os.arch read); 
         } 
         ( Esta lista continúa.)
      Permission: 
      raíz_perfil
      /logs/server1/SystemOut_02.08.20_11.19.53.log : 
      access denied (java.io.FilePermission 
      raíz_perfil
      /logs/server1/SystemOut_02.08.20_11.19.53.log delete) 
      
      Code: 
       com.ibm.ejs.ras.RasTestHelper$7  in  
      {file:raíz_perfil
      /installedApps/app1/JrasFVTApp.ear/RasLib.jar} 
      
      Stack Trace: 
      
      java.security.AccessControlException: access denied (java.io.FilePermission 
      
      raíz_perfil
      /logs/server1/SystemOut_02.08.20_11.19.53.log delete) 
              at java.security.AccessControlContext.checkPermission
                                    (AccessControlContext.java(Compiled Code)) 
              at java.security.AccessController.checkPermission
                                    (AccessController.java(Compiled Code))
              at java.lang.SecurityManager.checkPermission
                                    (SecurityManager.java(Compiled Code)) 
                                     . 
      Code Base Location: 
      
      com.ibm.ws.security.core.SecurityManager : 
      
      file:raíz_servidor_aplicaciones/plugins/com.ibm.ws.runtime_6.1.0.jar
        ClassLoader: com.ibm.ws.bootstrap.ExtClassLoader 
        Permissions granted to CodeSource 
      (file:raíz_servidor_aplicaciones/plugins/com.ibm.ws.runtime_6.1.0.jar <no certificates>
        { 
          (java.util.PropertyPermission java.vendor read); 
          (java.util.PropertyPermission java.specification.version read); 
          (java.util.PropertyPermission line.separator read); 
          (java.util.PropertyPermission java.class.version read); 
          (java.util.PropertyPermission java.specification.name read); 
          (java.util.PropertyPermission java.vendor.url read); 
          (java.util.PropertyPermission java.vm.version read); 
          (java.util.PropertyPermission os.name read); 
          (java.util.PropertyPermission os.arch read); 
         } 
         ( Esta lista continúa.)
      Donde:
      • app1 representa el nombre de la aplicación.
      • raíz_servidor_aplicaciones representa el directorio raíz de instalación de WebSphere Application ServerWebSphere Application Server, Network Deployment.
      • raíz_perfil representa la ubicación y el nombre de un perfil determinado del sistema.
      • profile1 o nombre_perfil representa el nombre del perfil.
      • server1 o nombre_servidor representa el nombre del servidor de aplicaciones.
  • Si el método es SPI, compruebe el archivo resources.xml para asegurarse de que la classpath sea correcta.
  • Para confirmar que todos los archivos de políticas se han cargado correctamente o los permisos que se han concedido a cada classpath, habilite el rastreo con com.ibm.ws.security.policy.*=all=enabled. Todos los permisos cargados se enumeran en el archivo trace.log. Busque los archivos app.policy, was.policy y ra.xml. Para comprobar la lista de permisos para una vía de acceso de clase, busque Effective Policy for classpath.
  • Si hay errores de sintaxis en el archivo de políticas o en el archivo ra.xml, corríjalos con policytool. No edite manualmente la política, porque se pueden producir errores de sintaxis.

  • Si un permiso se lista como no resuelto (Unresolved) no entrará en vigor. Compruebe que el nombre del permiso especificado sea correcto.
  • Si la classpath especificada en el archivo resource.xml no es correcta, corríjala.
  • Si un permiso necesario no existe en los archivos de políticas o en el archivo ra.xml, examine el código de aplicación para ver si necesita añadir este permiso. Si es así, añádalo al archivo de políticas correcto o al archivo ra.xml.
  • Si el permiso no se debe conceder fuera del método específico que accede a este recurso, modifique el código para que utilice un bloque doPrivileged.
  • [AIX Solaris HP-UX Linux Windows][IBM i]Si este permiso existe en un archivo de políticas o en el archivo ra.xml y se había cargado correctamente, pero la classpath todavía no tiene el permiso en su lista, es posible que la ubicación del permiso no sea correcta. Lea detenidamente el tema Seguridad Java 2 del Information Center para determinar en qué archivo de políticas o archivo ra.xml se ha de especificar dicho permiso.
Sugerencia: si la aplicación se ejecuta con la API de correo de Java, puede actualizar el archivo directorio_raíz_aplicación_empresa_instalada/META-INF/was.policy para conceder los permisos siguientes a la aplicación.
  • permission java.io.FilePermission "${user.home}${/}.mailcap", "read";
  • permission java.io.FilePermission "${user.home}${/}.mime.types", "read";
  • permission java.io.FilePermission "${java.home}${/}lib${/}mailcap", "read";
  • permission java.io.FilePermission "${java.home}${/}lib${/}mime.types", "read";

Mensaje de error: CWSCJ0336E: Se ha producido un error de autenticación del usuario {0} debido a la excepción siguiente {1}

Este mensaje de error se genera si el ID de usuario indicado no se ha encontrado en el registro de usuario LDAP (Lightweight Directory Access Protocol). Para solucionar este problema:
  1. Compruebe que el ID de usuario y la contraseña sean los correctos.
  2. Compruebe que el ID de usuario exista en el registro.
  3. Compruebe que el nombre distinguido (DN) base sea el correcto.
  4. Compruebe que el filtro de usuario sea el correcto.
  5. Compruebe que el DN de enlace y su contraseña sean los correctos. Si no se han especificado el DN de enlace y la contraseña, añada la información que falta y vuelva a intentarlo.
  6. Compruebe que el nombre de host y el tipo LDAP sean los correctos.
Consulte al administrador del registro de usuarios sin el problema persiste.

Mensaje de error: Se ha producido una excepción inesperada al inicializar el collaborator.java.lang.securityexception de seguridad: error AuthConfigFactory: java.lang.classnotfoundexception: org.apache.geronimo.components.jaspi.authconfigfactoryimpl

Este mensaje de error se produce cuando al archivo java.security le falta una entrada para el proveedor JASPI. La ubicación predeterminada para el archivo java.security es dir_instalación/properties. Edite el archivo java.security y añádale las siguientes líneas:
#
# Nombre de clase completo de la clase de implementación
factory JASPI predeterminada.
#
authconfigprovider.factory=com.ibm.ws.security.jaspi.ProviderRegistry
Nota: Este error solo aparece si establece explícitamente la configuración para utilizar esta clase. De lo contrario, es posible que vea el siguiente mensaje de error SECJ8032W.

Mensaje de error: SECJ8032W: AuthConfigFactory está sin definir, se utiliza la clase de implementación factory JASPI

Este mensaje de error se produce si la implementación de la fábrica JASPI no está definida. La implementación de la fábrica JASPI predeterminada se ha establecido en el tiempo de ejecución del servidor. Sin embargo, JASPI podría no funcionar para un cliente.

Para resolverlo, establezca el nombre de clase completo de la clase de implementación factory JASPI predeterminada como el valor de la propiedad authconfigprovider.factory del archivo java.security, como se muestra en el siguiente ejemplo:
#
# Nombre de clase completo de la clase de implementación
factory JASPI predeterminada.
#
authconfigprovider.factory=com.ibm.ws.security.jaspi.ProviderRegistry

Mensaje de error: SECJ0352E: No se han podido obtener los usuarios que coinciden con el patrón {0} debido a la excepción siguiente {1}

Este mensaje de error de autenticación muestra cuándo un depósito de cuenta de usuario externa está dañado o no está disponible y cuándo WebSphere Application Server no puede autenticar el nombre de usuario en el depósito. Generalmente, los mensajes de error de autenticación van seguidos de información adicional que indica la naturaleza o la causa raíz del problema como, por ejemplo:

Asegúrese de que en el registro haya usuarios que coincidan con el patrón. Póngase en contacto con el representante de servicio, si el problema persiste.

Es posible que esta información adicional no proporcione una acción de usuario clara si el depósito de la cuenta de usuario está dañado o si el usuario pierde la conexión entre WebSphere Application Server y un depósito de cuenta de usuario externo. El repositorio de la cuenta de usuario externa, al que se hace referencia como un repositorio en este documento, puede ser un producto LDAP (Lightweight Directory Access Protocol).
Para resolver este problema, es posible que tenga que volver a instalar el repositorio y comprobar que se instala correctamente realizando una conexión de prueba.
PRECAUCIÓN:
Continúe con los pasos siguientes únicamente si está seguro de que todos los valores de configuración relacionados con WebSphere Application Server son precisos.
Efectúe los pasos siguientes para resolver el problema:
  1. Reinicie el depósito y WebSphere Application Server.
  2. Pruebe la conexión con el repositorio. Si el intento de conexión falla, es posible que sea necesario volver a instalar el repositorio.
  3. Si se proporcionan diagnósticos con el repositorio, ejecútelos para no tener que volver a instalar el repositorio.
    Atención: Si los pasos anteriores no solucionan el problema, es posible que tenga que volver a instalar el repositorio. Antes de continuar, genere una lista completa de todos los usuarios y grupos configurados. Después de volver a instalar tendrá que volver a rellenar estos campos.
  4. Si es necesario, vuelva a instalar el repositorio dañado.
  5. Rellene los usuarios y grupos de la lista en el repositorio recién instalado.
  6. Reinicie el depósito y WebSphere Application Server.
  7. En la consola administrativa, seleccione Seguridad > Seguridad global y seleccione el depósito de cuentas de usuario adecuado. Por ejemplo, seleccione Registro LDAP autónomo si está utilizando un depósito LDAP (Lightweight Directory Access Protocol) autónomo.
  8. Pulse Conexión de prueba para asegurarse de que WebSphere Application Server puede conectarse con el depósito.

La validación de la señal LTPA ha fallado debido a que las claves o el tipo de señal no son válidos

Si la deserialización del contexto de seguridad de una señal LTPA falla con un WSSecurityException que contiene este mensaje: La validación de la señal LTPA ha fallado debido a que las claves o el tipo de señal no son válidos, establezca la propiedad com.ibm.websphere.security.recoverContextWithNewKeys en true.

Se generan errores de claves cuando se utiliza la herramienta de gestión de perfiles para crear un perfil nuevo

Cuando cree un perfil nuevo utilizando la herramienta de gestión de perfiles o el programa de utilidad de línea de mandatos manageprofiles, se muestra un mensaje de error que indica que la operación ha sido anómala o parcialmente correcta. El mensaje de error, que está situado en el archivo dir_instalación/logs/manageprofiles/nombre_perfil_create.log, puede apuntar a un error en lugar de a la tarea generateKeysforSingleProfile o a la tarea generateKeysForCellProfile.

La herramienta de creación de perfiles y el programa de utilidad manageprofiles invocan varias tareas. La tarea generateKeysForSingleProfile se invoca cuando se crea un servidor de aplicaciones autónomo o un perfil del gestor de despliegue. La tarea generateKeysForCellProfile se invoca cuando se crea un perfil de célula. Ambas tareas son las primeras tareas que invocan los mandatos wsadmin. Aunque el archivo de registro cronológico indica un error en una de estas tareas, es posible que el error dé como resultado un error del mandato wsadmin y no un error de las tareas de seguridad.

Para determinar la causa real del problema, revise la información que se proporciona en los siguientes archivos de registro cronológico:

  • El archivo dir_instalación/logs/manageprofiles/nombre_perfil_create.log indica el código de error del error
  • Archivo dir_instalación/logs/manageprofiles/nombre_perfil/keyGeneration.log
  • Archivo dir_instalación/logs/manageprofiles/nombre_perfil/wsadminListener.log

Algunas reglas de seguridad no están disponibles de inmediato para una aplicación con seguridad en la que LDAP tiene Tivoli Access Manager habilitado

En algunas instancias, es posible que algunos roles de seguridad no estén disponibles de forma inmediata cuando se despliega una aplicación protegida en la que LDAP tiene Tivoli Access Manager habilitado.

Puede ver un error como el siguiente:
"Exception: java.lang.OutOfMemoryError"
Es posible que pueda solucionar este problema de este modo:
  1. Asigne más memoria al tamaño de pila java mínimo y máximo.
    1. En la consola administrativa, pulse Servidores > Tipos de servidor > Servidores de aplicaciones WebSphere > server1.
    2. Seleccione Infraestructura de servidor > Java y gestión de procesos > Definición de procesos.
    3. Seleccione Java Virtual Machine.
    4. Establezca el tamaño de pila inicial en 512 MB y el tamaño de pila máximo en 1024 MB.
    5. Seleccione Aceptar y luego Guardar.
    6. Reinicie WebSphere Application Server.
  2. Mientras WebSphere Application Sever esté detenido, añada algunas propiedades de ajuste del rendimiento para el producto Tivoli Access Manager incrustado.
    1. En el directorio config/cells/CELLNAME, edite el archivo amwas.amjacc.template.properties y añada las siguientes propiedades al mismo:
      com.tivoli.pd.as.jacc.DBRefresh=0
      com.tivoli.pd.as.jacc.AuthTableRemoteMode=yes
      com.tivoli.pd.as.rbpf.NoUncheckedRoles=true

      Esto será de ayuda cuando se el producto Tivoli Access Manager incrustado se configure de nuevo.

    2. Dado que el producto Tivoli Access Manager incrustado ya está configurado, puede actualizar los archivos de configuración generados con las propiedades que se acaban de proporcionar. Para cada instancia de WebSphere Application Server en ND (dmgr, NAs y servidores), vaya al directorio profiles/NAME/etc/tam y haga lo siguiente.
      Para cada archivo que finalice en amjacc.properties, añada las tres propiedades proporcionadas:
      com.tivoli.pd.as.jacc.DBRefresh=0
      com.tivoli.pd.as.jacc.AuthTableRemoteMode=yes
      com.tivoli.pd.as.rbpf.NoUncheckedRoles=true

      Para cada archivo que finalice en pdperm.properties, actualice la propiedad appsvr-dbrefresh para que sea: appsvr-dbrefresh=0

      Para cada archivo que finalice en authztable.pdperm.properties, actualice la propiedad appsvr-mode para que sea: appsvr-mode=remote

  3. Reinicie la célula.

Después configurar el reino del dominio como no fiable, no se podrán utilizar los valores de seguridad global.

Si añade un reino de dominio de confianza y posteriormente decide establecerlo como "no fiable", desde la consola administrativa, es posible que se genere una entrada inboundTrustedAuthenticationRealm en blanco en el archivo domain-security.xml. Esta definición en blanco de reino fiable de entrada o de salida en el archivo domain-security.xml bloquea el uso de los valores de seguridad global por parte de este dominio.

Para resolver este problema, haga lo siguiente:
  1. Elimine el dominio actual.
  2. Cree un dominio nuevo.
  3. No añada el reino incorrecto como "fiable".

Los nombres de reino de seguridad global actualizados están duplicados

Cuando se actualizan los nombres de reinos de seguridad global, los nombres de reino del dominio de seguridad de la aplicación también se actualizan con los mismos nombres de reino.

En WebSphere Application Server Versión 8.0, puede configurar una única instancia de un repositorio federado en el nivel de dominio en un entorno de dominio de seguridad múltiple, además de tener una instancia en el nivel global. No obstante, si el registro de usuarios de repositorios federados se ha configurado en el nivel global, o si los nombres de reino se cambian en el nivel global después de configurar los dominios de seguridad, los nombres de reino de todos los dominios de seguridad que utilizan repositorios federados también se actualizan. Esto hace que todos los dominios que utilizan el repositorio federado para utilizar el repositorio federado definido en el nivel global.

Para resolver este problema, actualice los dominios de seguridad que utilicen el repositorio federado con el nombre de reino original después de crear repositorios federados o cambiar los nombres reales en el nivel global. El problema se puede evitar si se configura un repositorio federado en el nivel global antes de configurar un repositorio federado en un dominio de seguridad.

Nota: Cuando se actualizan los nombres de reinos de seguridad global, los nombres de reino del dominio de seguridad de la aplicación no se actualizan con los mismos nombres de reino en el fixpack.

Pueden producirse errores cuando la característica de seguridad de la sesión está activada

Cuando la característica de seguridad de la sesión está activada (lo cual es el estado predeterminado en WebSphere Application Server Versión 8.0), y hay varias sesiones utilizando el mismo ID de usuario, cuando un usuario cierra una sesión, es posible que otra sesión reciba el error siguiente cuando cierre la sesión otro usuario que haya iniciado sesión con el mismo ID de usuario:
SESN0008E: un usuario autenticado como anónimo ha intentado acceder a una sesión propiedad del usuario:{<user>}

Para resolver este problema, asegúrese de que el usuario anterior haya cerrado la sesión antes de que otro usuario inicie sesión utilizando el mismo ID de usuario.

Avoid trouble Avoid trouble: Este problema puede producirse también en algunas instancias cuando la característica de seguridad de la sesión no está activada. Si es así, la solución es la misma: asegúrese de que el usuario anterior haya cerrado la sesión antes de que otro usuario inicie sesión utilizando el mismo ID de usuario. gotcha
[z/OS]

ABEND WITH ABEND EC3 REASON=020F2001

Si la seguridad no se habilita con diálogos zPMT o con diálogos de personalización ISPF de inmediato durante la instalación de WebSphere Application Server for z/OS, las definiciones de RACF no se habrán generado completamente. Cuando la seguridad se habilita más tarde con la consola administrativa, si falta una sentencia RACF, la región de control de WebSphere Application Server no puede iniciarse. Revise el APAR PK36598 para obtener más información sobre cómo solucionar este problema.


Icon that indicates the type of topic Reference topic



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