Activation du chiffrement de mot de passe personnalisé
Vous devez protéger les mots de passe contenus dans votre configuration WebSphere Application Server. Une fois le profil de serveur créé, vous pouvez ajouter une protection en créant une classe personnalisée pour le chiffrement des mots de passe.
Avant de commencer
Pourquoi et quand exécuter cette tâche
Procédure
- Ajoutez les propriétés système suivantes pour chaque processus serveur et client. Pour les processus serveur, mettez à jour le fichier server.xml pour chaque processus. Ajoutez ces propriétés comme argument genericJvmArgument précédé d'un préfixe -D.
com.ibm.wsspi.security.crypto.customPasswordEncryptionClass= com.acme.myPasswordEncryptionClass com.ibm.wsspi.security.crypto.customPasswordEncryptionEnabled=true
Important : Quel que soit le client wsadmin, si vous utilisez wsadmin en mode connecté, cette propriété doit être définie dans le gestionnaire de déploiement ou le serveur connecté avec la commande AdminTask.setJVMSystemProperties ou via la console. Si vous utilisez wsadmin en mode local (conntype=NONE), vous pouvez définir la propriété avec une option de commande javaoption, comme suit :wsadmin -conntype none -lang jython -javaoption -Dcom.ibm.wsspi.security.crypto.customPasswordEncryptionClass=<encryptionClassToUse>
Conseil : Si le nom de la classe de chiffrement personnalisé est com.ibm.wsspi.security.crypto.CustomPasswordEncryptionImpl, il est automatiquement activé lorsque cette classe figure dans le chemin d'accès aux classes. Ne définissez pas les propriétés système énumérées précédemment lorsque l'implémentation personnalisée porte ce nom de package et de classe. Pour désactiver le chiffrement de cette classe, vous devez spécifier com.ibm.wsspi.security.crypto.customPasswordEncryptionEnabled=false comme propriété système. - Choisissez l'une des méthodes suivantes pour configurer le module d'exécution WebSphere
Application Server pour le chargement de la
classe d'implémentation de chiffrement personnalisée :
- Placez la classe de chiffrement personnalisée dans un fichier d'archive Java Java™ qui se trouve dans le répertoire ${WAS_INSTALL_ROOT}/classes que vous avez créé.
Eviter les incidents: WebSphere Application Server ne crée pas de répertoire ${WAS_INSTALL_ROOT}/classes. Pour plus d'informations sur le répertoire classes, consultez la rubrique "Création d'un sous-répertoire de classes dans votre profil pour les classes personnalisées".gotcha
- Placez la classe de chiffrement personnalisée dans un fichier d'archive Java qui se trouve dans le répertoire ${WAS_HOME}/lib/ext.
- Placez la classe de chiffrement personnalisée dans un fichier d'archive Java Java™ qui se trouve dans le répertoire ${WAS_INSTALL_ROOT}/classes que vous avez créé.
- Redémarrez tous les processus serveur.
- Modifiez chaque document de configuration contenant un mot de passe et enregistrez la configuration. Toutes les zones de mot de passe sont alors exécutées par le biais de l'utilitaire WSEncoderDecoder, qui appelle le point de connexion lorsqu'il est activé. Les balises {custom:alias} apparaissent dans les documents de configuration. Bien qu'ils soient chiffrés, les mots de passe restent codés au format Base64. Ils sont similaires aux mots de passe codés, à l'exception des balises.
- Déchiffrez les mots de passe se trouvant dans les fichiers de propriété côté client à l'aide de l'utilitaire PropsFilePasswordEncoder (.bat ou .sh). Cet utilitaire requiert que les
propriétés citées précédemment soient définies comme propriétés système dans le
script pour chiffrer les nouveaux mots de passe au lieu de les coder. Vous devrez éditer le script pour ajouter
les propriétés à la ligne de commande java. Par exemple :
Pour connaître la liste des fichiers à exécuter via PropsFilePasswordEncoder, voir le Tableau 2 dans Codage des mots de passe dans les fichiers.%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 %*
- Pour déchiffrer les mots de passe des machines JVM client (Java virtual machines), ajoutez les propriétés citées précédemment comme propriétés système pour chaque utilitaire client.
- Assurez-vous que tous les nœuds comportent des classes de chiffrement personnalisé dans leurs chemins d'accès aux classes avant d'activer cette fonction. L'ordre
d'activation est important. Lorsque vous ajoutez un nouveau noeud à une cellule contenant un chiffrement de mot de passe, le nouveau noeud doit contenir les classes de chiffrement personnalisé avant d'utiliser la commande addNode. Voici quelques scénarios d'activation de WebSphere
Application Server, Network Deployment :
- Le profil StandAloneProfile chiffre les mots de passe au moyen d'une clé différente avant la fédération dans une cellule du gestionnaire de déploiement. Pour ce scénario, avant d'exécuter la commande addNode, vous devez désinstaller le chiffrement de mot de passe personnalisé afin que les mots de passe soient précédés des balises {xor} dans la configuration. La même implémentation du point de connexion doit se trouver dans le répertoire /classes avant l'exécution de la commande addNode. Par ailleurs, les propriétés de configuration correctes sont définies de sorte que le nouveau noeud puisse reconnaître le format de mot de passe chiffré du fichier security.xml une fois la fédération terminée.
- Le chiffrement de mot de passe n'est pas configuré pour le profil StandAloneProfile avant la fédération dans une cellule du gestionnaire de déploiement. La même implémentation du point de connexion doit se trouver dans le répertoire /classes avant l'exécution de la commande addNode. Par ailleurs, les propriétés de configuration correctes sont définies de sorte que le nouveau noeud puisse reconnaître le format de mot de passe chiffré du fichier security.xml une fois la fédération terminée.
- Si l'activation du chiffrement de mot de passe personnalisé est effectuée dans une cellule comportant plusieurs nœuds, mettez à jour les propriétés de configuration correctes et placez la classe d'implémentation de chiffrement personnalisé sur tous les nœuds. Arrêtez tous les processus de la cellule, puis démarrez le gestionnaire de déploiement. Utilisez la console d'administration pour modifier la configuration de sécurité et la sauvegarder. Assurez-vous que les mots de passe soient chiffrés en vérifiant dans le fichier security.xml si les mots de passe sont précédés des balises {custom:alias}.
- Exécutez la commande syncNode sur chaque noeud, puis démarrez les noeuds un à un. Si les noeuds ne démarrent pas, vérifiez que le chiffrement de mot de passe personnalisé est correctement activé dans chaque fichier security.xml et que la classe d'implémentation se trouve dans le répertoire /classes approprié pour la plateforme.
Résultats
Que faire ensuite
Sous-rubriques
Désactivation du chiffrement de mot de passe personnalisé
Si le chiffrement de mot de passe personnalisé échoue ou n'est plus requis, cette procédure permet de le désactiver.
Concepts associés:


http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tsec_enable_custpass_encrypt
Nom du fichier : tsec_enable_custpass_encrypt.html