This section describes the following security requirements for Remedy Single Sign-On (Remedy SSO) application:
Ensuring security for sensitive data
User credentials and authentication tokens are sensitive data that must be secured. To secure this data, you must configure HTTPS.
To use HTTPS connections, ensure that SSL certificates is generated, signed, and imported on the Tomcat server (for standalone) or load balancer (for High Availability environment).
HTTPS configuration on a standalone system
For standalone installations, HTTPS has to be configured on the Tomcat server in the server.xml file. After the configuration, the interactions between the user and Remedy SSO node happens through HTTPS only. But the interactions between the supported BMC application and Remedy SSO node happens through either HTTP or HTTPS, depending on the relevant configuration.
HTTP configuration on a High Availability system
For High Availability installations, HTTPS has to be configured on the load balancer. After the configuration, while the interactions between the user and the load balancer happen through HTTPS connections, the interactions between the load balancer and the Remedy Single SSO nodes and the supported BMC applications happens through HTTP only.
Preventing Tomcat version exposure
Tomcat, by default, displays its current version number on an error page. An exposed Tomcat version can be used by an attacker to search for known exploits specific to that version. With this information, an attacker can develop a scenario that can exploit the vulnerabilities of the specific version that is being used by a target host. To secure the system from such an attack, you must configure the Tomcat settings to hide the version display.
You can use one of the following methods to hide the version number of Tomcat:
- Configuring the web.xml file
- Configuring the ServerInfo.properties file
Also, for security reasons, ensure that the latest stable version of Tomcat server 7.x or later is installed.
Configuring the web.xml file
You can use the web.xml file to display a custom error page that does not contain the Tomcat version. If you have deployed multiple web apps into the ROOT folder, you need to update the web.xml for each of the applications. Consider that:
- Your web app is deployed into the Tomcat ROOT context.
- You already have custom error pages Errorpage_500.html and Errorpage_404.html for errors 500 and 404 respectively.
Perform the following steps to display the custom error pages:
- Go to the $CATALINA_HOME/webapps/ROOT/ directory.
Open the web.xml files and add the following code in the file.
<error-page> <error-code>500</error-code> <location>/errors/Errorpage_500.html</location> </error-page> <error-page> <error-code>404</error-code> <location>/errors/Errorpage_404.html</location> </error-page>
Test by sending a request for a non-existent file to your tomcat instance and verify that your custom error page is displayed.
Configuring the ServerInfo.properties file
You can use the ServoInfo.properties file to display a custom error page that does not contain the Tomcat version.
- Go to $CATALINA_HOME/lib directory.
- Create the org/apache/catalina/util directory.
- Create a ServerInfo.properties file.
- Open the ServerInfo.properties file and the server.info parameter and set it to a value that you want the error page to display.
- Restart the Tomcat server.
- Test by viewing an error page and verify that the error page displays the value that you had set instead of the Tomcat version.
For example, consider that CATALINA_HOME is set to /home/tomcat. Run the following commands.
1. cd /home/tomcat/lib 2. mkdir -p org/apache/catalina/util 3. cd org/apache/catalina/util 4. $ vi ServerInfo.properties 5. Add the following parameter. server.info=Apache Tomcat Version X 6. cd $CATALINA_HOME/bin 7. ./catalina.sh stop 8. ./catalina.sh start
Decrypting SAML assertions
To encrypt SAML assertions, the identity provider uses one of the following methods: aes-128, aes-192, aes-256.
If aes-192 or aes-252 have been used, you need to perform the following step to enable Remedy SSO to decrypt the SAML assertions:
Update %JRE_HOME%->lib->security by downloading files from the http://www.oracle.com/technetwork/java/javase/downloads/index.html link and following the instructions in the JRE Readme.
Configuring Tomcat security headers
Though content transmitted over an SSL/TLS channel guarantees confidentiality, administrators must ensure that caching of sensitive content is disabled unless the caching is absolutely needed.
In order to ensure that sensitive content is protected, BMC recommends that you configure the following headers in Tomcat:
- X-XSS-Protection - Set the value as 1, which means Enabled, on all outgoing requests.
- Content-Security-Policy header: Set the configuration based on your security preferences and architecture.
- X-Content-Type-Options header - Set the value as nosniff on all outgoing requests.
Obtaining Remedy SSO server version information
You can obtain the Remedy SSO server version information through <RSSO Server>/config/server-status URL. But you must be authenticated as a Remedy SSO administrator before.
Remedy SSO operation with specific database features
Remedy SSO does not depend on any external vendor-specific solutions such as multi-subnet failover environment for MSSQL, Oracle RAC, various security extensions like data encryption techniques from database vendors. The vendor specific solutions also include procedures for disaster recovery, backup, archiving, import and export of data.
As a Remedy SSO administrator, you can manually configure the settings by using the JDBC connection string in the context.xml file or by using your database. Even though Remedy SSO is not specifically certified with certain database settings and configurations that the database vendors provide, the product should work with these settings. For any issues related to a supported database or environment, contact BMC Customer Support.