Problemas de acceso después de habilitar la seguridad
Utilice esta información si tiene problemas para habilitar la seguridad.
- No puedo acceder a ninguna o a alguna parte de la consola administrativa o utilizar la herramienta wsadmin después de habilitar la seguridad
- No se puede acceder a una página web después de habilitar la seguridad
- Error de autenticación al acceder a una página Web
- Error de autorización al acceder a una página Web
- El cliente no puede acceder a un enterprise bean después de habilitar la seguridad
- No se solicita nada al programa cliente cuando accede al enterprise protegido
- No puedo detener un servidor de aplicaciones, gestor de nodos o nodo después de habilitar la seguridad
Aparece la excepción AccessControlException en SystemOut.log
- Después de habilitar el inicio de sesión único, no se puede iniciar la sesión en la consola administrativa.
- SECJ0306E: No se ha recibido o no existe un credencial de invocación en la hebra.
- Se produce un error NotFoundException de nombre durante la conexión inicial con los repositorios federados
Para obtener información general sobre cómo diagnosticar y resolver los problemas
relacionados con la seguridad, consulte el tema
Sugerencias para la resolución de problemas con los componentes de seguridad.
Si no encuentra ningún problema que se
asemeje al suyo o si la información proporcionada no resuelve el problema, consulte
Ayuda de IBM para la resolución de problemas.
No puedo acceder a ninguna o a alguna parte de la consola administrativa o utilizar la herramienta wsadmin después de habilitar la seguridad
Si no puede acceder a la consola administrativa ni ver y actualizar determinados objetos, consulte el archivo SystemOut.log del servidor de aplicaciones que alberga la página de la consola administrativa para obtener un mensaje de error relacionado.
Si no puede acceder a la consola administrativa ni ver y actualizar determinados objetos, consulte el registro del servidor de aplicaciones que alberga la página de la consola administrativa para obtener un mensaje de error relacionado.
Nota: Será necesario que utilice la consola administrativa para completar los dos elementos siguientes. Si tiene problemas al acceder a la consola administrativa, tendrá que desactivar la seguridad y volver a iniciar la consola administrativa. Para desactivar la seguridad, especifique el siguiente mandato en el indicador de mandatos del sistema:
Cuando vuelva a aparecer el indicador de mandatos del sistema, especifique:wsadmin.sh -conntype NONE
Reinicie el gestor de despliegue después de desactivar la seguridad.securityoff
- Es posible que su ID no haya sido autorizado para las tareas administrativas.
Este problema lo indican los errores como, por ejemplo:
- [8/2/02 10:36:49:722 CDT] 4365c0d9 RoleBasedAuth A CWSCJ0305A: Se ha producido un error en la comprobación de autorización basada en roles para el nombre de seguridad MyServer/myUserId, ID de acceso MyServer/S-1-5-21-882015564-4266526380-2569651501-1005 al invocar el método getProcessType en el recurso Server y el módulo Server.
- Mensaje de excepción: "CWWMN0022E: Se ha denegado el acceso para la operación getProcessType en el servidor de MBeans"
- Cuando se ejecuta el mandato wsadmin -username j2ee -password j2ee, se recibe el mensaje CWWAX7246E: No se puede establecer la conexión "SOAP" con el host "BIRKT20" debido a un error de autenticación. Asegúrese de que el usuario y la contraseña sean correctos en la línea de mandatos o en un archivo de propiedades.
- Verifique que la funcionalidad de aplicación de confianza esté habilitada. La funcionalidad de aplicación de confianza se habilita si WebSphere Application Server tiene acceso SAF de tipo READ a la clase RACF de FACILITY, y al perfil de BBO.TRUSTEDAPPS.<nombre abreviado de célula>.<nombre abreviado de clúster>.
![[z/OS]](../images/ngzos.gif)
No se puede acceder a una página web después de habilitar la seguridad
- Errores de autenticación: la seguridad de WebSphere Application Server no
puede identificar el ID de la
persona o proceso. Los síntomas de los errores de
autenticación son:En un navegador Netscape:
- Aparece el mensaje Authorization failed. Retry? (Error de autorización. ¿Reintentar?) después de un intento de inicio de sesión.
- Acepta un número cualquiera de intentos de inicio de sesión y muestra el mensaje Error 401 cuando se pulsa Cancelar para detener el reintento.
- Aparece un mensaje típico del navegador: Error 401: Basic realm='Default Realm' (Reino básico='Reino por omisión'.
En un navegador Internet Explorer:- Se vuelve a mostrar el indicador de inicio de sesión después de un intento de inicio de sesión.
- Permite reintentar el inicio de sesión tres veces.
- Después de tres intentos incorrectos muestra el mensaje Error 401.
- Errores de autorización: la función de seguridad ha identificado a la
persona o proceso como no autorizado para acceder al recurso protegido. Los síntomas de los
errores de autorización son:
- Navegador Netscape: se muestra el mensaje "Error 403: AuthorizationFailed".
- Internet Explorer:
- Se muestra el mensaje "No tiene autorización para ver esta página".
- También se muestra el error "HTTP 403 Prohibido".
- Errores de SSL - La seguridad de WebSphere Application Server
utiliza la tecnología SSL (Secure Sockets Layer) de forma interna para proteger y cifrar
su propia comunicación y la configuración incorrecta de los valores SSL internos puede
causar problemas. Asimismo, es posible que haya habilitado el cifrado SSL
para su propia aplicación web o para el tráfico de clientes de enterprise bean lo cual, si está mal
configurado, puede ocasionar problemas independientemente de si está habilitada o no la seguridad de
WebSphere Application Server.
- Los problemas relacionados con SSL vienen indicados normalmente por mensajes de error que contienen una sentencia como la siguiente: "ERROR: No se ha podido obtener el contexto inicial o no se ha encontrado el contexto inicial. Saliendo.", seguida de javax.net.ssl.SSLHandshakeException.
El cliente no puede acceder a un enterprise bean después de habilitar la seguridad
- Revise los pasos para proteger y conceder acceso a los recursos.
Revise el registro de JVM para obtener los errores relacionados con el acceso y la seguridad de los enterprise beans. Busque los errores en la tabla de mensajes.
Revise el registro de JVM para obtener los errores relacionados con el acceso y la seguridad de los enterprise beans. Busque los errores en la tabla de mensajes.
Errores similares a Ha fallado la autorización para /UNAUTHENTICATED al invocar recurso securityName:/UNAUTHENTICATED;accessId:UNAUTHENTICATED no se ha otorgado ninguno de los roles necesarios roles indican que:- Un archivo JSP (JavaServer Page) o un servlet no protegido ha accedido a un
enterprise bean protegido. Cuando se accede a un servlet no protegido, no se
solicita un inicio de sesión del usuario y el servlet se ejecuta como NO
AUTENTICADO.
Cuando el servlet realiza una llamada a un enterprise bean protegido,
el servlet da error.
Para solucionar este problema, proteja el servlet que va a acceder al enterprise bean protegido. Asegúrese de que la propiedad runAs del servlet se ha establecido en un ID que puede acceder al enterprise bean.
- Un programa cliente Java no autenticado está accediendo a un recurso de enterprise bean protegido.
Esta situación puede darse si el archivo que lee el archivo de propiedades
sas.client.props que utiliza el programa cliente no tiene el distintivo
securityEnabled establecido en true.
Para solucionar este problema, asegúrese de que el archivo sas.client.props en el extremo del cliente tiene el distintivo securityEnabled establecido en true.
Si encuentra errores similares a Error de autorización para usuario_válido mientras se invocaba el recurso nombreSeguridad:/nombreusuario;Idacceso:xxxxxx, no se han concedido los roles necesarios, significa que un cliente ha intentado acceder a un recurso de enterprise bean protegido y el ID de usuario proporcionado no tenía asignados los roles necesarios para dicho enterprise bean.- Compruebe que se accede a los roles necesarios para los recursos de enterprise bean. Visualice los roles necesarios para el recurso de enterprise bean en el descriptor de despliegue del recurso web.
- Compruebe la tabla de autorizaciones y asegúrese de que el usuario o el grupo al que pertenece el usuario tienen asignado uno de los roles necesarios. Puede ver la tabla de autorizaciones de la aplicación que contiene el recurso de enterprise bean, utilizando la consola administrativa.
- Un archivo JSP (JavaServer Page) o un servlet no protegido ha accedido a un
enterprise bean protegido. Cuando se accede a un servlet no protegido, no se
solicita un inicio de sesión del usuario y el servlet se ejecuta como NO
AUTENTICADO.
Cuando el servlet realiza una llamada a un enterprise bean protegido,
el servlet da error.
Si está utilizando el sistema operativo Local y la autorización SAF (System Authorization Facility), compruebe la configuración de los EJBROLE SAF. En concreto, compruebe que:
- la clase EJBROLE está activada.
- el rol se ha definido en SAF.
- el rol está permitido para el ID de usuario.
- la clase se ha renovado después de la operación de permiso.
![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
![[IBM i]](../images/iseries.gif)
- Empiece visualizando el texto que sigue a WSSecurityContext.acceptSecContext(), reason: en la excepción. Generalmente, este texto describe el error sin ningún tipo de análisis adicional.
- Si esta acción no describe el problema, busque
el código menor CORBA. Los códigos se enumeran en el artículo denominado
Resolución de problemas de los
componentes de seguridad.Por ejemplo, la siguiente excepción indica un código menor CORBA de 49424300. La explicación de este error en la tabla de códigos menores de CORBA es la siguiente:
En este caso, el ID de usuario o la contraseña proporcionados por el programa cliente probablemente no sean válidos:error de autenticación fallida
org.omg.CORBA.NO_PERMISSION: Caught WSSecurityContextException in WSSecurityContext.acceptSecContext(), reason: Major Code[0] Minor Code[0] Message[ Exception caught invoking authenticateBasicAuthData from SecurityServer for user jdoe. Reason: com.ibm.WebSphereSecurity.AuthenticationFailedException] minor code: 49424300 completed: No at com.ibm.ISecurityLocalObjectBaseL13Impl.PrincipalAuthFailReason.map_auth_fail_to_minor_code (PrincipalAuthFailReason.java:83)
El
programa cliente recibe del servidor la excepción CORBA
INITIALIZE con el error CWWSA1477W: SECURITY CLIENT/SERVER
CONFIGURATION MISMATCH incorporado.
![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
![[IBM i]](../images/iseries.gif)
Se ha recibido la excepción: org.omg.CORBA.INITIALIZE:
CWWSA1477W: SECURITY CLIENT/SERVER CONFIG MISMATCH:
La configuración de seguridad del cliente (sas.client.props o parámetros de salida en
la consola administrativa) no da soporte a la configuración de seguridad del servidor por
los siguientes motivos:
ERROR 1: CWWSA0607E: el cliente requiere confidencialidad SSL pero el servidor no
da soporte a la misma.
ERROR 2: CWWSA0610E: el servidor requiere integridad SSL pero el cliente no
da soporte a la misma.
ERROR 3: CWWSA0612E: el cliente requiere un ID de usuario y contraseña o un
símbolo del cliente, pero el servidor no da soporte a ninguno de ellos.
minor code: 0
completed: No at
com.ibm.ISecurityLocalObjectBaseL13Impl.SecurityConnectionInterceptor.getConnectionKey
(SecurityConnectionInterceptor.java:1770)
En general, para resolver este problema es necesario modificar la configuración de seguridad del cliente o del servidor.
Para determinar el valor de configuración implicado, busque el texto que
sigue al mensaje de error CWWSA. Si desea obtener información más
detallada, consulte la referencia de mensajes. Para ello, seleccione la vista
Referencia de la navegación del centro de información y amplíe la cabecera
Mensajes en el árbol de navegación.
![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
![[IBM i]](../images/iseries.gif)
- En el ERROR 1, el cliente requiere confidencialidad SSL pero el servidor no da soporte a la confidencialidad SSL. Esta incoherencia se puede resolver de dos formas. Actualice el servidor para que dé soporte a la confidencialidad SSL o actualice el cliente para que no la necesite.
- En el ERROR 2, el servidor requiere integridad SSL pero el cliente no da soporte a la integridad SSL. Esta incoherencia se puede resolver de dos formas. Actualice el servidor para que dé soporte a la integridad SSL o actualice el cliente para que no la necesite.
- En el ERROR 3, el cliente requiere autenticación mediante ID de usuario y contraseña pero el servidor no da soporte a este tipo de autenticación de cliente. Es necesario cambiar la configuración del cliente o del servidor. Para cambiar la configuración del cliente, modifique el archivo SAS.CLIENT.PROPS para obtener un cliente puro o cambie la configuración de salida del servidor en la consola de administración de seguridad. Para cambiar la configuración del servidor de destino, modifique la configuración de entrada en la consola de administración de seguridad.
Del mismo modo, si aparece una excepción
similar a org.omg.CORBA.INITIALIZE: JSAS0477W: SECURITY CLIENT/SERVER CONFIG
MISMATCH: en el servidor que intenta dar servicio a una petición de cliente, indica
que hay un error de coincidencia en la configuración de seguridad del cliente y del
servidor.
Los pasos para solucionar el problema son los mismos que para las excepciones
JSAS1477W descritas anteriormente.
No se solicita nada al programa cliente cuando accede al enterprise protegido
Aunque aparentemente la seguridad esté habilitada y un enterprise esté protegido, puede suceder que el cliente ejecute el método remoto sin que se le solicite su identificación. Si el método remoto está protegido, se produce un error de autorización. De lo contrario, ejecute el método como un usuario no autenticado.
- El servidor con el que se está comunicando puede que no tenga la seguridad habilitada. Consulte al administrador de WebSphere Application Server para asegurarse de que la seguridad del servidor esté habilitada. Acceda a los valores de seguridad globales de la sección de Seguridad de la consola administrativa.
- El cliente no tiene habilitada la seguridad en el archivo sas.client.props. Edite el archivo sas.client.props para asegurarse de que la propiedad com.ibm.CORBA.securityEnabled se haya establecido en true.
- El cliente no tiene especificado un ConfigURL. Compruebe que la propiedad com.ibm.CORBA.ConfigURL se haya especificado en la línea de mandatos del cliente Java utilizando el parámetro -D.
- El ConfigURL especificado no tiene una sintaxis de URL no válida, o el archivo
sas.client.props al que se apunta no se puede encontrar. Verifique que la propiedad com.ibm.CORBA.ConfigURL sea válida. Consulte en la documentación de Java una descripción de las reglas de formato de URL. Asimismo, compruebe que el archivo exista en la vía de acceso especificada.
Un ejemplo de una propiedad válida es C:/WebSphere/AppServer/properties/sas.client.props.
La configuración del cliente no da soporte a la autenticación de cliente de la capa de mensajes (ID de usuario y contraseña). Compruebe que el archivo sas.client.props tenga una de las propiedades siguientes establecidas como true:
- com.ibm.CSI.performClientAuthenticationSupported=true
- com.ibm.CSI.performClientAuthenticationRequired=true
La configuración del servidor no da soporte a la autenticación de cliente de la capa de mensajes, que consta de un ID de usuario y una contraseña. Consulte al administrador de WebSphere Application Server para comprobar que se haya especificado la autenticación de ID de usuario y contraseña en la configuración de entrada del servidor dentro de la sección Administración del sistema de la herramienta de administración de la consola administrativa.
No puedo detener un servidor de aplicaciones, gestor de nodos o nodo después de habilitar la seguridad
Si utiliza los programas de utilidad de línea de mandatos para detener procesos de WebSphere Application Server, aplique parámetros adicionales después de habilitar la seguridad para proporcionar información de autenticación y autorización.
Utilice el mandato ./stopServer
-help para visualizar los parámetros que se utilizan.
![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
![[IBM i]](../images/iseries.gif)
- ./stopServer serverName -username nombre -password contraseña
- ./stopNode -username nombre -password contraseña
- ./stopManager -username nombre -password contraseña
Si utiliza el panel de servicios
Windows o el
mandato net stop para detener los procesos de
WebSphere Application Server y no se ha podido detener
el servicio, actualice el servicio actual del servidor de aplicaciones utilizando argumentos stop adicional. Es posible que tenga que finalizar el proceso servidor desde el gestor de tareas antes de actualizar el servicio.
Utilice los parámetros -stopArgs y
-encodeParams para actualizar el servicio como se describe en el ejemplo
"Actualización de un servicio de servidor de aplicaciones existente" del artículo
Mandato WASService.
Después de habilitar el inicio de sesión único, no se puede iniciar la sesión en la consola administrativa.
Este problema se produce cuando se habilita el inicio de sesión único (SSO) y se intenta acceder a la consola administrativa utilizando el nombre abreviado del servidor, como por ejemplo http://miservidor:número_puerto/ibm/console. El servidor acepta el ID de usuario y la contraseña pero le devuelve a la página de inicio de sesión en lugar de a la consola administrativa.
Para corregir este problema, utilice el nombre de host totalmente calificado del servidor, como por ejemplo http://miservidor.mired.miempresa.com:9060/ibm/console.
SECJ0306E: No se ha recibido o no existe un credencial de invocación en la hebra.
Se muestra el mensaje siguiente cuando uno o varios nodos de la célula no se han sincronizado durante la configuración:SECJ0306E: No se ha recibido o no existe un credencial de invocación en la hebra.
La comprobación de
autorización basada en roles no tendrá un ID de acceso del que invoca la comprobación.
Los parámetros son: access check method getServerConfig on resource FileTransferServer
y module
FileTransferServer. El rastro de pila es java.lang.Exception: las credenciales de
invocación y recibidas son las nulas.
Asegúrese de que cada uno de los nodos se haya sincronizado y luego reinicie el gestor de despliegue.
Se produce un error NotFoundException de nombre durante la conexión inicial con los repositorios federados
Cuando el servidor intenta realizar una búsqueda indirecta del
nombre java:comp/env/ds/wimDS y efectúa la conexión EJB inicial con los repositorios
federados, se muestra el mensaje de error siguiente en el archivo SystemOut.log:
Cuando el servidor intenta realizar una
búsqueda indirecta del nombre java:comp/env/ds/wimDS y efectúa la conexión EJB
inicial con los depósitos federados, se muestra el mensaje de error siguiente en la
salida del registro de trabajo correspondiente:
NMSV0612W: Una excepción NameNotFound
![[z/OS]](../images/ngzos.gif)
El error NameNotFoundException es debido a la definición de enlaces de referencia para el nombre JNDI (Java Naming and Directory Interface) jdbc/wimDS del archivo ibm-ejb-jar-bnd.xmi. Puede ignorar este mensaje de aviso. El mensaje no se muestra cuando se ha configurado el repositorio de base de datos wimDS.

No obstante, puede existir un módulo de Java EE 5 o posterior dentro de una aplicación que incluya archivos previos a Java EE 5 y que utilice la extensión de nombre de archivo .xmi.
Los archivos ibm-webservices-ext.xmi, ibm-webservices-bnd.xmi, ibm-webservicesclient-bnd.xmi, ibm-webservicesclient-ext.xmi, y ibm-portlet-ext.xmi siguen utilizando la extensión de archivo .xmi.
sptcfg