Activation d'un point de connexion pour le chiffrement de mot de passe personnalisé

Deux propriétés gèrent la protection des mots de passe. En configurant ces deux propriétés, vous activez un point de connexion pour le chiffrement de mot de passe personnalisé.

Avant de commencer

Pour afficher un exemple de code qui illustre le com.ibm.wsspi.security.crypto.CustomPasswordEncryption interface, voir Point de connexion pour le cryptage personnalisé des mots de passe.

A propos de cette tâche

La méthode de chiffrement est appelée pour le traitement des mots de passe chaque fois que la classe personnalisée est configurée et que le chiffrement personnalisé est activé. La méthode de déchiffrement est appelée chaque fois que la classe personnalisée est configurée et que le mot de passe contient le {custom:alias} étiqueter. :NONE.custom:aliasla balise est supprimée avant le décryptage.

Procédure

  1. Pour activer le chiffrement de mot de passe personnalisé, vous devez configurer deux propriétés :
    • com.ibm.wsspi.security.crypto.customPasswordEncryptionClass - Définit la classe personnalisée qui implémente l'interface de chiffrement du mot de passe com.ibm.wsspi.security.crypto.CustomPasswordEncryption.
    • com.ibm.wsspi.security.crypto.customPasswordEncryptionEnabled - Définit le moment où la classe personnalisée est utilisée pour le traitement des mots de passe par défaut. Quand le passwordEncryptionEnabled l’option n’est pas spécifiée ou définie surfalse, et le passwordEncryptionClass class est spécifiée, la méthode de déchiffrement est appelée chaque fois qu'un {custom:alias} la balise existe toujours dans le référentiel de configuration.
  2. [AIX Solaris HP-UX Linux Windows][z/OS]Pour configurer le cryptage de mot de passe personnalisé, configurez ces deux propriétés dans leserver.xmlfichier binaire.
    Cette configuration dépend de la structure de répertoires existante. Choisissez l'une des méthodes suivantes pour effectuer cette configuration :
    • Place La classe de chiffrement personnalisée (com.acme.myPasswordEncryptionClass ) dans un fichier d'archive Java (JAR) qui réside dans le${WAS_INSTALL_ROOT}/classes:NONE. Dans ce cas, vous avez créé le${WAS_INSTALL_ROOT}/classesrépertoire prévu à cet effet.
      Note: WebSphere Application Server ne crée pas le${WAS_INSTALL_ROOT}/classes:NONE.
    • Placez la classe de chiffrement personnalisée (com.acme.myPasswordEncryptionClass ) dans un fichier d'archive Java (JAR) qui réside dans le${WAS_HOME}/lib/extrépertoire ou un autre répertoire existant valide.
    Chaque document de configuration contenant un mot de passe (security.xmlet toutes les liaisons d'application contenant RunAs mots de passe), doivent être enregistrés avant que tous les mots de passe ne soient chiffrés avec la classe de chiffrement personnalisée.
  3. [IBM i]Pour configurer le cryptage de mot de passe personnalisé, configurez ces deux propriétés dans lesecurity.xml.xlsx. La classe de chiffrement personnalisée (com.acme.myPasswordEncryptionClass ) doit être placé dans un fichier d'archive Java™ (JAR) dans le${APP_SERVER_ROOT}/classesrépertoire en tout WebSphere Application Server processus. Chaque document de configuration contenant un mot de passe (security.xmlet toutes les liaisons d'application contenant RunAs mots de passe), doivent être enregistrés avant que tous les mots de passe ne soient chiffrés avec la classe de chiffrement personnalisée. Pour les fichiers de propriétés côté client tels quesas.client.propsetsoap.client.props, Utilisez lePropFilePasswordEncoder.batouPropFilePasswordEncode.shscript pour activer le traitement personnalisé. Dans ce script, les deux propriétés doivent être configurées comme propriétés système sur la ligne de commande Java du script. Les mêmes outils que ceux utilisés pour le codage et le décodage peuvent être utilisés pour le chiffrement et le déchiffrement lorsque le chiffrement de mot de passe personnalisé est activé.
  4. Si la classe d'implémentation personnalisée utilise par défaut l'interface com.ibm.wsspi.security.crypto.CustomPasswordEncryptionImpl, et si cette classe est présente dans le chemin d'accès aux classes, le chiffrement est activé par défaut. Cela simplifie le processus d'activation pour tous les noeuds. Il n'est pas nécessaire de définir d'autres propriétés en dehors de celles requises par l'implémentation personnalisée. Pour désactiver le chiffrement tout en continuant à utiliser cette classe pour le déchiffrement, définissez la classe suivante :
    • com.ibm.wsspi.security.crypto.customPasswordEncryptionEnabled=false

Etape suivante

Chaque fois qu'une opération de chiffrement de classe de chiffrement personnalisée est appelée et qu'elle crée une exception d'exécution ou une exception définie PasswordEncryptException exception, le WebSphere Application Server le runtime utilise le {xor} algorithme pour encoder le mot de passe. Ce codage empêche le stockage du mot de passe en texte seul. Une fois que le problème avec la classe personnalisée est résolu, il chiffre automatiquement le mot de passe lors du prochain enregistrement du document de configuration.

Lorsqu'un RunAs Le rôle se voit attribuer un identifiant et un mot de passe utilisateur, il est actuellement codé à l'aide du WebSphere Application Server fonction d'encodage. Par conséquent, une fois que le point de connexion personnalisé est configuré pour chiffrer les mots de passe, il l'est également pour les liaisons RunAs. Si l'application déployée est déplacée vers une cellule qui n'a pas les mêmes clés de chiffrement, ou si le chiffrement personnalisé n'est pas encore activé, la connexion échoue car le mot de passe n'est pas lisible.

L'un des rôles de l'implémentation du chiffrement personnalisé de mot de passe consiste à gérer les clés de chiffrement. Cette classe doit déchiffrer tous les mots de passe chiffrés. En cas d'échec de déchiffrement d'un mot de passe, ce dernier est inutilisable et doit être changé dans la configuration. Toutes les clés de chiffrement doivent être disponibles pour le déchiffrement. Aucun mot de passe ne doit continuer à utiliser ces clés. Le secret maître doit être géré par la classe de chiffrement personnalisé de mot de passe pour protéger les clés de chiffrement.

Vous pouvez gérer le secret maître en utilisant un fichier de dissimulation pour le magasin de clés ou un localisateur de mot de passe permettant à la classe de chiffrement personnalisée de trouver le mot de passe afin de le verrouiller.