Enabling FIPS compliance on an automated server installation
About this task
- Enable During Server Installation
- To enable FIPS compliance on the BigFix® Remote Control Server, run the Remote Control Server Installer and select Enable FIPS and Enable NIST SP800-131A in the Web server parameters panel.
- Enable Manually
- To enable FIPS compliance can be configured manually on the BigFix® Remote Control Server instead of running the Remote Control Server Installer by following this procedure:
Procedure
-
Edit the java.security file that is found at the following
directory.
- Windows® systems
- %TRC_SERVER_PATH%\java\jre\lib\security\java.security
Where %TRC_SERVER_PATH% is the path for the installation directory for the BigFix® Remote Control Server.
- Linux® / UNIX® systems
- $TRC_SERVER_PATH/java/jre/lib/security/java.security
Where $TRC_SERVER_PATH is the path for the installation directory for the BigFix® Remote Control Server.
- Modify the security.provider.x= list
so the following entry is the first one in the list:
security.provider.1=com.ibm.crypto.FIPS.provider.IBMJCEFIPS
Fix the number sequence of the other items in this list so that all items are numbered in sequence.
For example:- The full list after the changes when performed on a Remote Control server build
10.0.0.0808 or later is as follows:
security.provider.1=com.ibm.crypto.plus.provider.IBMJCEPlusFIPS security.provider.2=com.ibm.jsse2.IBMJSSEProvider2 security.provider.3=com.ibm.crypto.plus.provider.IBMJCEPlus security.provider.4=com.ibm.crypto.provider.IBMJCE security.provider.5=com.ibm.security.jgss.IBMJGSSProvider security.provider.6=com.ibm.security.cert.IBMCertPath security.provider.7=com.ibm.security.sasl.IBMSASL security.provider.8=com.ibm.xml.crypto.IBMXMLCryptoProvider security.provider.9=com.ibm.xml.enc.IBMXMLEncProvider security.provider.10=com.ibm.security.jgss.mech.spnego.IBMSPNEGO security.provider.11=sun.security.provider.Sun
- The full list after the changes when performed on a Remote Control server build
10.0.0.0807 or earlier is as follows:
security.provider.1=com.ibm.fips.jsse.IBMJSSEFIPS security.provider.2=com.ibm.crypto.fips.provider.IBMJCEFIPS security.provider.3=com.ibm.jsse2.IBMJSSEProvider2 security.provider.4=com.ibm.crypto.provider.IBMJCE security.provider.5=com.ibm.security.jgss.IBMJGSSProvider security.provider.6=com.ibm.security.cert.IBMCertPath security.provider.7=com.ibm.security.sasl.IBMSASL security.provider.8=com.ibm.xml.crypto.IBMXMLCryptoProvider security.provider.9=com.ibm.xml.enc.IBMXMLEncProvider security.provider.10=com.ibm.security.jgss.mech.spnego.IBMSPNEGO security.provider.11=sun.security.provider.Sun
- The full list after the changes when performed on a Remote Control server build
10.0.0.0808 or later is as follows:
-
Add the following lines:
ssl.SocketFactory.provider=com.ibm.jsse2.SSLSocketFactoryImpl ssl.ServerSocketFactory.provider=com.ibm.jsse2.SSLServerSocketFactoryImpl
- Save the file.
-
Edit the jvm.options that are found in the following
directory.
- Windows® systems
- %TRC_SERVER_PATH%
\wlp\usr\servers\trcserver\jvm.options
Where %TRC_SERVER_PATH% is the path for the installation directory for the BigFix® Remote Control Server.
- Linux® / UNIX® systems
- $TRC_SERVER_PATH/wlp/usr/servers/trcserver/jvm.options
Where $TRC_SERVER_PATH is the path for the installation directory for the BigFix® Remote Control Server.
-
Add the following lines:
- Remote Control server build 10.0.0.0808 or
later
-Dcom.ibm.jsse2.usefipsprovider=true -Dcom.ibm.jsse2.sp800-131=strict -Dcom.ibm.jsse2.overrideDefaultTLS=true -Dcom.ibm.jsse2.usefipsProviderName=IBMJCEPlusFIPS
- Remote Control server build 10.0.0.0807 or earlier
-Dcom.ibm.jsse2.usefipsprovider=true -Dcom.ibm.jsse2.sp800-131=strict -Dcom.ibm.jsse2.overrideDefaultTLS=true
- Remote Control server build 10.0.0.0808 or
later
- Save the file.
- Log on to the BigFix® Remote Control Server with a valid admin ID and password.
- Click
- In the common.properties file set FIPS.compliance to true.
- Click Submit.
- Click . Restart the server service.
- Restart the server service.
Results
Check to see whether the BigFix® Remote Control Server is configured for FIPS by completing the following step.
- Click .
The following fields show that FIPS compliance is enabled.
- Enabled FIPS mode: The value of this field is determined by the FIPS.compliance property in the common.properties file.
- JVM configured for FIPS: The value of this field is determined by the configuration of the JVM and the security providers that are listed in the java.security file.
- Troubleshooting:
-
- Browser or Controller connection with the Remote Control server may
fail
If the server is configured to operate in FIPS mode with the following exception in the messages.log file
java.lang.NullPointerException com.ibm.ws.channel.ssl.internal.SSLConnectionLink 238
, Browser or Controller connection with the Remote Control server might fail.This is a side effect of the adoption of IBM Java 8.0.6.26. If the issue persists, do the following:- Stop the Remote Control Server.
- Open the ..\TRC\java\jre\lib\security\java.security
file and add the
RSAPSS
value as the last entry of thejdk.tls.disabledAlgorithms
.The updated property list must look as follows:
jdk.tls.disabledAlgorithms=SSLv3, RC4, DES, MD5withRSA, DH keySize < 1024, DESede, \ EC keySize < 224, 3DES_EDE_CBC, anon, NULL, DES_CBC, RSAPSS
- Start the Remote Control Server.
- The Join Broker Session operation may failWhen the secondary controller connects to the primary controller and the environment is configured to operate in FIPS mode, the Join Broker Session operation may fail. The primary controller may show an exception like the foll following exception in the messages.log file:
SEVERE - The connection was refused with pkt type [260]
This is a side effect of the adoption of IBM Java 8.0.6.26. If the issue persists, do the following:
Open the..\Controller\jre\lib\security\java.security
file and add theRSAPSS
value as the last entry of thejdk.tls.disabledAlgorithms
. The updated property list should look as follows:jdk.tls.disabledAlgorithms=SSLv3, RC4, DES, MD5withRSA, DH keySize < 1024, DESede, \ EC keySize < 224, 3DES_EDE_CBC, anon, NULL, DES_CBC, RSAPSS
-
The playback of a session recording via the Server Web Interface may fail to start with no error message shown if the Server is Configured to operate in FIPS mode
This is a side effect of the adoption of IBM Java 8.0.6.26. If the issue persists, do the following:- Save the TRCPlayer.trcjws file as provided by the server.
- Edit the File and remove the line <argument>--forcefips</argument>
- Save the file and execute the TRCPlayer.trcjws file by clicking on it.
- Browser or Controller connection with the Remote Control server may
fail