Habilitación de un punto de conexión para el cifrado de contraseñas personalizado

La protección de las contraseñas está regida por dos propiedades. Al configurar estas dos propiedades, se puede habilitar un punto de conexión para el cifrado de contraseñas personalizado.

Antes de empezar

Para ver código de ejemplo que ilustra la interfaz com.ibm.wsspi.security.crypto.CustomPasswordEncryption, consulte Punto de conexión para el cifrado de contraseñas personalizado.

Acerca de esta tarea

El método de cifrado es llamado para el proceso de contraseñas siempre que se haya configurado la clase personalizada y se haya habilitado el cifrado personalizado. Se llama al método de cifrado siempre que la clase personalizada esté configurada y la contraseña contenga el distintivo {custom:alias}. Se elimina la etiqueta {custom:alias} antes de la descodificación.

Procedimiento

  1. Para habilitar el cifrado de contraseñas personalizado, debe configurar dos propiedades:
    • com.ibm.wsspi.security.crypto.customPasswordEncryptionClass: define la clase personalizada que implementa la interfaz de cifrado de contraseñas com.ibm.wsspi.security.crypto.CustomPasswordEncryption.
    • com.ibm.wsspi.security.crypto.customPasswordEncryptionEnabled: define si la clase personalizada se utiliza para el proceso por omisión de contraseñas. Si la opción passwordEncryptionEnabled no se ha especificado o se ha establecido en false y se ha especificado la clase passwordEncryptionClass, se llama al método de descodificación siempre que siga existiendo la etiqueta {custom:alias} en el repositorio de configuración.
  2. [AIX Solaris HP-UX Linux Windows][z/OS]Para configurar el cifrado de contraseñas personalizado, configure ambas propiedades del archivo server.xml. El modo de realizar la configuración depende de la estructura de directorios existente. Elija una de las formas siguientes para realizar esta configuración:
    • Coloque la clase de cifrado personalizado (com.acme.myPasswordEncryptionClass) en un archivo JAR (Java archive) que reside en el directorio ${WAS_INSTALL_ROOT}/classes. Se ha creado el directorio ${WAS_INSTALL_ROOT}/classes para este propósito.
      Nota: WebSphere Application Server no crea el directorio ${WAS_INSTALL_ROOT}/classes.
    • Coloque la clase de cifrado personalizado (com.acme.myPasswordEncryptionClass) en un archivo JAR (Java archive) que reside en el directorio ${WAS_HOME}/lib/ext o en otro directorio válido.
    Los documentos de configuración que contengan una contraseña (security.xml y cualquier enlace de aplicación que contenga contraseñas RunAs), deben guardarse antes de que todas las contraseñas se cifren con la clase de cifrado personalizado.
  3. [IBM i]Para configurar el cifrado de contraseñas personalizado, configure ambas propiedades del archivo security.xml. La clase de cifrado personalizado (com.acme.myPasswordEncryptionClass) se debe colocar en un archivo JAR (archivador Java™) en el directorio ${RAÍZ_SERVIDOR_APL}/classes de todos los procesos de WebSphere Application Server. Los documentos de configuración que contengan una contraseña (security.xml y cualquier enlace de aplicación que contenga contraseñas RunAs), deben guardarse antes de que todas las contraseñas se cifren con la clase de cifrado personalizado. Para los archivos de propiedad del cliente, como, por ejemplo, sas.client.props y soap.client.props, utilice el script PropFilePasswordEncoder.bat o PropFilePasswordEncode.sh para habilitar el proceso de personalización. Este script debe tener las dos propiedades configuradas como propiedades del sistema en la línea de mandatos de Java del script. Las mismas herramientas que se utilizan para la codificación y descodificación se pueden utilizar con los mismos fines cuando está habilitado el cifrado de contraseñas personalizado.
  4. Si la clase por omisión de implementación personalizada es la interfaz com.ibm.wsspi.security.crypto.CustomPasswordEncryptionImpl y esta clase está en la classpath, el cifrado se habilita por omisión. Así se simplifica el proceso de habilitación para todos los nodos. No es necesario definir otras propiedades, excepto aquellas que requiere la implementación personalizada. Para inhabilitar el cifrado, pero seguir utilizando esta clase para la descodificación, especifique la clase siguiente.
    • com.ibm.wsspi.security.crypto.customPasswordEncryptionEnabled=false

Qué hacer a continuación

Siempre que se llama a una operación de clase de cifrado personalizado y se crea una ejecución de tiempo de ejecución o una excepción PasswordEncryptException definida, el tiempo de ejecución de WebSphere Application Server utiliza el algoritmo {xor} para cifrar la contraseña. Este cifrado evita que se almacene la contraseña en texto plano. Una vez resuelto el problema de la clase personalizada,se codifica automáticamente la contraseña la próxima vez que se guarde el documento de la configuración.

Si se asigna un rol RunAs a un ID de usuario y una contraseña, actualmente se codifica utilizando la función de cifrado de WebSphere Application Server. Por lo tanto, después de configurar el punto de conexión personalizado para cifrar las contraseñas, codifica las contraseñas también para los enlaces de RunAs. Si la aplicación desplegada se traslada a una célula que no tiene las mismas claves de cifrado, o en la que todavía no está habilitado el cifrado personalizado, se produce un error de inicio de sesión debido a que la contraseña no es legible.

Una de las responsabilidades de la implementación del cifrado de contraseñas personalizado es gestionar las claves de cifrado. Esta clase debe descodificar las contraseñas que se hayan cifrado. Cualquier anomalía en la descodificación de una contraseña hace que la contraseña ya no se pueda volver a utilizar, y se deberá cambiar la contraseña en la configuración. Todas las claves de cifrado deben estar disponibles para la descodificación y no queda ninguna contraseña utilizando estas claves. La clase de cifrado de contraseñas personalizado debe conservar el secreto maestro para proteger las claves de cifrado.

Puede gestionar el secreto maestro utilizando un archivo stash para el almacén de clases o, bien, utilizando un localizador de contraseñas que permita a la clase de cifrado personalizado localizar la contraseña de forma que pueda cerrarse.


Icon that indicates the type of topic Task topic



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