Habilitación del cifrado de contraseñas personalizado

Necesita proteger las contraseñas contenidas en la configuración de WebSphere Application Server. Después de crear el perfil de servidor, puede añadir protección creando una clase personalizada para cifrar las contraseñas.

Antes de empezar

Cree las clases personalizadas para el cifrado de contraseñas. Para obtener más información, consulte Punto de conexión para el cifrado de contraseñas personalizado.

Acerca de esta tarea

Complete los pasos siguientes para habilitar el cifrado de contraseña personalizado. Para obtener una lista de archivos en un perfil de servidor de aplicaciones que contienen contraseñas que deben estar cifradas y sus rutas de navegación, consulte Cifrado de contraseñas en archivos.

Procedimiento

  1. Añada las siguientes propiedades del sistema para cada proceso de servidor y cliente. Para los procesos del servidor, actualice el archivo server.xml para cada proceso. Añada estas propiedades como un argumento genericJvmArgument precedido por un prefijo -D.
    com.ibm.wsspi.security.crypto.customPasswordEncryptionClass=
           com.acme.myPasswordEncryptionClass
    com.ibm.wsspi.security.crypto.customPasswordEncryptionEnabled=true
    Importante: En cuento al cliente de wsadmin, si utiliza wsadmin en modalidad conectada, esta propiedad deberá establecerse en el gestor de despliegue o en el servidor conectado utilizando el mandato AdminTask.setJVMSystemProperties o mediante la consola. Si utiliza wsadmin en modalidad local (conntype=NONE), puede establecer la propiedad con una opción de mandato javaoption tal como se muestra a continuación:
    wsadmin -conntype none -lang jython -javaoption
    -Dcom.ibm.wsspi.security.crypto.customPasswordEncryptionClass=<encryptionClassToUse>
    Consejo: Si el nombre de la clase del cifrado personalizado es com.ibm.wsspi.security.crypto.CustomPasswordEncryptionImpl, se habilita automáticamente si la clase está presente en la variable classpath. No defina las propiedades del sistema que se listaron previamente si la implementación personalizada tiene este paquete y nombre de clase. Para inhabilitar el cifrado para esta clase, debe especificar com.ibm.wsspi.security.crypto.customPasswordEncryptionEnabled=false como una propiedad de sistema.
  2. Elija uno de los métodos siguientes para configurar el tiempo de ejecución de WebSphere Application Server para cargar la clase de implementación de cifrado personalizada:
    • Coloque la clase de cifrado personalizado en un archivo JAR (Java™ archive) que resida en el directorio ${WAS_INSTALL_ROOT}/classes, que ha creado.
      Avoid trouble Avoid trouble: WebSphere Application Server no crea el directorio ${WAS_INSTALL_ROOT}/classes. Para obtener más información sobre el directorio de clases, consulte el tema "Creación de un subdirectorio de clases en el perfil para clases personalizadas".gotcha
    • Coloque la clase de cifrado personalizado en un archivo JAR (Java archive) que resida en el directorio ${WAS_HOME}/lib/ext.
  3. Reinicie todos los procesos de servidor.
  4. Edite los documentos de configuración que contiene una contraseña y guarde la configuración. Todos los campos de contraseña se ejecutan a través del programa de utilidad WSEncoderDecoder, que llama al punto de conexión cuando está habilitado. Las etiquetas {custom:alias} se visualizan en los documentos de configuración. Las contraseñas, aunque estén cifradas, siguen siendo datos con código ASCII base 64. Se parecen a las contraseñas cifradas, excepto para las etiquetas diferentes.
  5. Cifre las contraseñas que están en los archivos de propiedades del cliente utilizando el programa de utilidad PropsFilePasswordEncoder (.bat o .sh). Este programa de utilidad requiere que las propiedades listadas previamente se definan como propiedades de sistema en el script para cifrar nuevas contraseñas, en lugar de cifrarlas.Deberá editar el script para añadir las propiedades a la línea de mandatos java. Por ejemplo:
    %JAVA_EXE% -Dcom.ibm.wsspi.security.crypto.customPasswordEncryptionEnabled=true 
    -Dcom.ibm.wsspi.security.crypto.customPasswordEncryptionClass=mysample.MySampleEncryption 
    -Dcmd.properties.file=%TMPJAVAPROPFILE% 
    "-Dwas.install.root=%WAS_HOME%" com.ibm.ws.bootstrap.WSLauncher com.ibm.ws.security.util.PropFilePasswordEncoder %*
    Para obtener la lista de archivos que deben ejecutarse utilizando PropsFilePasswordEncoder, consulte la tabla dos en Cifrado de contraseñas en archivos.
  6. Para descifrar contraseñas desde JVM (Java Virtual Machines) de cliente, añada las propiedades listadas previamente como propiedades de sistema para cada programa de utilidad de cliente.
  7. Asegúrese de que todos los nodos tengan las clases de cifrado personalizado en sus classpaths antes de habilitar esta función. El orden en el cual se produce la habilitación es importante. Cuando se añade un nodo nuevo a una célula que contiene cifrado de contraseña, el nodo nuevo debe contener las clases de cifrado personalizado antes de utilizar el mandato addNode. Tenga en cuenta los siguientes casos de habilitación de WebSphere Application Server, Network Deployment:
    1. El perfil StandAloneProfile codifica contraseñas con una clave diferente antes de la federación en una célula del gestor de despliegue. Para este caso, debe desinstalar el cifrado de contraseña personalizado para garantizar que la configuración tenga etiquetas {xor} que precedan a las contraseñas antes de ejecutar el mandato addNode. La misma implementación del punto de conexión debe estar en el directorio /classes antes de ejecutar el mandato addNode, además las propiedades de configuración correctas se establecen de forma que el nodo nuevo pueda reconocer el formato de la contraseña cifrada del archivo security.xml después de que se complete la federación.
    2. El perfil StandAloneProfile no ha configurado el cifrado de contraseña antes de la federación en una célula de gestor de despliegue. La misma implementación del punto de conexión debe estar en el directorio /classes antes de ejecutar el mandato addNode, además las propiedades de configuración correctas se establecen de forma que el nodo nuevo pueda reconocer el formato de la contraseña cifrada del archivo security.xml después de que se complete la federación.
    3. Si se habilita el cifrado de contraseña personalizado en una célula con múltiples nodos presentes, actualice las propiedades correctas de configuración y tenga la clase de implementación de cifrado de contraseña personalizado situada en todos los nodos. Detenga todos los procesos de la célula y, a continuación, inicie el gestor de despliegue. Utilice la consola administrativa para editar la configuración de seguridad y, a continuación, guardarla. Compruebe que las contraseñas estén cifradas consultando el archivo security.xml para ver si las contraseñas van precedidas por las etiquetas {custom:alias}.
    4. Ejecute el mandato syncNode en cada nodo e inicie cada uno de ellos de forma individual. Si algún nodo no puede iniciarse, asegúrese de que los nodos tengan el cifrado de contraseña personalizado habilitado correctamente en el archivo security.xml y que la clase de implementación esté en el directorio /classes apropiado para la plataforma.

Resultados

El cifrado de contraseña personalizado está habilitado.

Qué hacer a continuación

Si no se puede realizar el cifrado de contraseña personalizado o ya no es necesario, consulte Inhabilitación del cifrado de contraseña personalizado.

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_enable_custpass_encrypt
File name: tsec_enable_custpass_encrypt.html