Masquage du mot de passe dans les commandes WAS

Classiquement, pour passer une commande ou un script WAS, on tape en ligne de commande quelque chose comme :

wsadmin -user lmd -password lmd -lang jython -f abcd.py

ou

stopServer -user lmd -password lmd - profileName LMD

Pendant l’exécution de cette commande, un “ps” affiche les paramètres utilisés et en particulier le mode de passe.

Il est possible d’éviter cette situation en modifiant le fichier soap.client.props situé dans le répertoire /properties.

Mode opératoire :

  • Editer le fichier soap.client.props situé dans le répertoire /properties
  • Passer la ligne com.ibm.SOAP.securityEnabled à true.
  • Renseigner les deux autres lignes avec le login et le mot de passe à utiliser.

Exemple avant édition :

com.ibm.SOAP.securityEnabled=false
com.ibm.SOAP.loginUserid=
com.ibm.SOAP.loginPassword=

Exemple après édition :

com.ibm.SOAP.securityEnabled=true
com.ibm.SOAP.loginUserid=lmd
com.ibm.SOAP.loginPassword=lmd

Il est maintenant possible de passer des commandes sans que le mot de passe apparaisse sur un ps.

Mais à ce stade, le mot de passe est en clair dans le fichier.

Il est possible d’encoder ce mot de passe avec la fonction PropFilePasswordEncoder (située dans le bin du profil par exemple) :

PropFilePasswordEncoder "nom_fichier" liste_propriétés_mot_de_passe -profileName profile

Exemple :

PropFilePasswordEncoder /app/was70/profiles/Dmgr/properties/soap.client.props com.ibm.SOAP.loginPassword -profileName Dmgr

Résultat :

com.ibm.SOAP.loginUserid=lmd
com.ibm.SOAP.loginPassword=xorMzI7

Le mot de passe est xoré, mais reste vulnérable à une déxorisation. Il est donc souhaitable de protéger l’accès à ce fichier .props de manière appropriée.

_c_2010_Demey_Consulting.png

Version PDF de cet article : Masquage du mot de passe dans les commandes WAS