Protecting plain text passwords
Overview
WebSphere Application Server contains several plain text passwords. These passwords are not encrypted, but are encoded. WebSphere Application Server provides the PropFilePasswordEncoder utility, which use to encode these passwords. However, the utility does not encode passwords that are contained within XML or XMI files. Instead, WebSphere Application Server automatically encodes the passwords in the following XML or XMI files as the files are modified by the administrative console.
Table 1. XML and XMI files the contain plain text passwords File name Additional information WAS_INSTALL_ROOT/profiles/profile/config/ cells/cell/security.xmlThe following fields contain encoded passwords:
- LTPA password
- JAAS authentication data
- User registry server password
- LDAP user registry bind password
- Key store password
- Trust store password
- Cryptographic token device password
war/WEB-INF/ibm_web_bnd.xmlSpecifies the passwords for the default basic authentication for the "resource-ref" bindings within all the descriptors (except in the Java cryptography architecture). Specifies the passwords for the default basic authentication for the "resource-ref" bindings within all the descriptors (except in the Java cryptography architecture). Specifies the passwords for the default basic authentication for the "resource-ref" bindings within all the descriptors (except in the Java cryptography architecture). Specifies the passwords for the default basic authentication for the "run as" bindings within all the descriptors. WAS_INSTALL_ROOT /profiles/profile/config/ cells/cell/nodes/node/servers/ servername/server.xmlThe following fields contain encoded passwords:
- Key store password
- Trust store password
- Cryptographic token device password
- Authentication target password
- Session persistence password
- DRS Client data replication password
WAS_INSTALL_ROOT/profiles/profile/config/ cells/cell/nodes/node/servers/ servername/resources.xmlThe following fields contain encoded passwords:
For Network Deployment WAS_INSTALL_ROOT/profiles/profile/config /cells/cell/ws-security.xml ibm-webservices-bnd.xmi ibm-webservicesclient-bnd.xmiUse the PropFilePasswordEncoder utility to encode the passwords that are found in the following files.
To re-encode a password in one of the previous files, complete the following steps:
Table 2. Files that one can encode using the PropFilePasswordEncoder utility File name Additional information WAS_INSTALL_ROOT/profiles/profile /properties/sas.client.propsSpecifies the passwords for the following files:
- com.ibm.ssl.keyStorePassword
- com.ibm.ssl.trustStorePassword
- com.ibm.CORBA.loginPassword
WAS_INSTALL_ROOT/profiles/profile /properties/soap.client.propsSpecifies passwords for:
- com.ibm.ssl.keyStorePassword
- com.ibm.ssl.trustStorePassword
- com.ibm.SOAP.loginPassword
WAS_INSTALL_ROOT/profiles/profile /properties/sas.tools.propertiesSpecifies passwords for:
- com.ibm.ssl.keyStorePassword
- com.ibm.ssl.trustStorePassword
- com.ibm.CORBA.loginPassword
WAS_INSTALL_ROOT/profiles/profile /properties/sas.stdclient.propertiesSpecifies passwords for:
- com.ibm.ssl.keyStorePassword
- com.ibm.ssl.trustStorePassword
- com.ibm.CORBA.loginPassword
WAS_INSTALL_ROOT/profiles/profile /properties/wsserver.key
Procedure
- Access the file using a text editor and type over the encoded password in plain text. The new password is shown in plain text and must be encoded.
- Use the PropFilePasswordEncoder.bat or PropFilePasswordEncode.sh file in the WAS_INSTALL_ROOT/profiles/profile/bin/ directory to re-encode the password.
If you are re-encoding SAS properties files, type PropFilePasswordEncoder file_name -sas and the PropFilePasswordEncoder file encodes the known SAS properties.
If you are encoding files that are not SAS properties files, type PropFilePasswordEncoder file_name password_properties_list
file_name is the name of the z/SAS properties file. password_properties_list is the name of the properties to encode within the file.
Use the PropFilePasswordEncoder utility to encode WAS password files only. The utility cannot encode passwords contained in XML files or other files that contain open and close tags.
Result
If you reopen the affected file or files, the passwords do not display in plain text. Instead, the passwords appear encoded. WebSphere Application Server does not provide a utility for decoding the passwords.