Installing and Configuring Oracle® Hyperion Enterprise Performance Management System 11.1.2 with SSL Enabled on All Layers

Purpose

This tutorial covers installation and configuration of Oracle® Hyperion Enterprise Performance Management (EPM) System 11.1.2 with Secure Sockets Layer (SSL) enabled on all layers, with WebLogic 11gR1 and Oracle HTTP Server (OHS) 11gR1.

Time to Complete

Approximately 4 hours

Topics

This tutorial covers the following topics:

Overview

In this tutorial, you perform a full SSL EPM System 11.1.2 installation and configuration. You learn how to:

  • Define and manage certificates for Oracle Wallet and JKS
  • Configure OHS for SSL
  • Configure WebLogic for SSL
  • Configure EPM System for SSL

This tutorial uses the same principle as other SSL configurations (for example, SSL offloading and two-way SSL), that is separating internal and external communications flows with two URLs: epm.mycompany.com for browser and Smart View client connections to the web server; and epminternal.mycompany.com for server to server communications. Deployment architecture:

Scenario

You are tasked with enabling SSL on a new EPM System installation. Your company is using its own certification authority to sign certificates, not relying on trusted third party root ca (root certificate authority).

Your setup is composed of seven machines:

  • OHS web server to proxy requests to web applications
  • Two WebLogic servers to run Planning and other java applications
  • Two Internet Information Services (IIS) servers to run Financial Management and other IIS application servers
  • Oracle Database server
  • External LDAP server

Prerequisites

Before starting this tutorial, you should:

  1. Download EPM System 11.1.2 assemblies from edelivery.oracle.com, including WebLogic 11gR1 and OHS 11gR1
  2. Define two DNS aliases - epminternal.mycompany.com and epm.mycompany.com pointing to your OHS server.

Installing EPM System

Follow the steps below to install EPM System:

  1. Launch installTool.cmd.
  2. At the bottom of the installer window, ensure the prerequisites are met, and click Next.
  3. Screenshot for Step

  4. Enter the Middleware home, for example, d:\Oracle\Middleware, and click Next.
  5. Select New Installation > Choose components by tier, and click Next.
  6. In the Web Application colomn, select Foundation Services Web Applications, and uncheck all other components.
  7. Follow the wizard steps to complete the installation.

Configuring Foundation Services and Enabling SSL

Configuring Foundation Services for SSL on WebLogic Server

  1. Import the root certification authority certificate for the database server for SSL JDBC into EPM Configurator keystore located in EPMSystem11r1/common/<jre-64|jre>/Sun/1.6.0/lib/security/cacerts. Use the following command:
  2. %EPM_ORACLE_HOME%\common\JRE\Sun\1.6.0\bin\keytool.exe -import -alias myrootca -keystore %EPM_ORACLE_HOME%\common\JRE\Sun\1.6.0\lib\security\cacerts -trustcacerts -file %EPM_ORACLE_HOME%\ssl\CA.crt -storepass changeit  

    Note: The default password is changeit .

  3. From the Start menu, select All Programs > Oracle EPM System > Foundation Services > EPM System Configurator.
  4. The EPM System Configurator is launched.  

  5. Under Hyperion Foundation, select the following components:
    1. Common Settings
    2. Configure Database
    3. Configure Oracle Configuration Manager
    4. Deploy to Application Server
  6. The "Set up Shared Services and Registry Database Connection associated with the instance home" dialog box is displayed.

    Screenshot for Step

  7. Click Advanced options, set up the SSL JDBC URL as specified in the following figure, and click OK.
  8. Screenshot for Step

  9. Select Create Windows Services for configured components and Use SSL for Web application server communications (Requires manual configuration).
  10. Screenshot for Step

    Note: If you have an SSL SMTP server, select Use SSL to communicate with mail server.

  11. Click Next.
  12. The "Information of the WebLogic Domain to which the web applications are deployed" dialog box is displayed.

    Screenshot for Step

  13. Select Define a new Domain to deploy the web applications and enter a password for the domain.
  14. Note: Make sure the password has at least eight alphanumeric characters and at least one number or special character.

  15. Click Next.
  16. The Application Server Deployment: Oracle WebLogic dialog box is displayed.

    Screenshot for Step

  17. In the Advanced column, click Set up for each Ear/War component.
  18. The Advanced Setup dialog box is displayed.

  19. Define a new logical address epminternal.mycompany.com (internal load balancer host) for Workspace and Shared Services. Specify the internal load balancer SSL port 19443.
  20. Screenshot for Step

    Screenshot for Step

  21. Click OK.
  22. The Oracle Configuration Manager Registration dialog box is displayed.

    Screenshot for Step

  23. Select the desired setting and click Next.
  24. The "Set Shared Services admin user password" dialog box is displayed.

    Screenshot for Step

  25. Click Next.
  26. The list of products and tasks to be configured is displayed.

    Screenshot for Step

  27. Click Next to complete the configuration.
  28. Screenshot for Step

  29. Click Finish.

Configuring Web Server

  1. On the OHS server, launch EPM System Configurator, and select Configure Web Server.
  2. Screenshot for Step

  3. Click Next.
  4. The Configure Web Server dialog box is displayed.

    Screenshot for Step

    Note: This step configures OHS using HTTP. SSL configuration is manual, after certificates are created.

  5. Click Next.
  6. The list of configuration tasks is displayed.

    Screenshot for Step

  7. Click Next to complete the configuration.
  8. Screenshot for Step

  9. Click Finish.  

Defining and Importing Certificates

You need eight server certificates for this configuration:

  • Two server certificates for OHS ( epm.mycompany.com and epminternal.mycompany.com). These two certificates are stored in the same Oracle Wallet.
  • WebLogic servers 1 and 2 ( weblogic1.mycompany.com and weblogic2.mycompany.com). These certificates are stored in java keystores.
  • IIS ( iis1.mycompany.com and iis2.mycompany.com). The certificates are stored in the windows keystore.
  • Oracle database ( db.mycompany.com). This certificate are stored in Oracle Wallet.
  • External LDAP ( ldap.mycompany.com). The certificate storage is vendor dependent.

Defining OHS Certificates

  1. On the OHS server, launch Wallet Manager.
  2. Screenshot for Step

  3. Click on Wallet/New to create a new wallet.
  4. The New Wallet dialog box is displayed.

    Screenshot for Step

  5. Click OK.
  6. The Oracle Wallet Manager dialog box is displayed.

    Screenshot for Step

  7. Click No (you don't need to create a certificate request for now).
  8. The Oracle Wallet Manager is displayed.

  9. Right-click Trusted Certificates and select Import Trusted Certificate.
  10. Screenshot for Step

  11. In the Import Trusted Certificate dialog box, select Select a file that contains the certificate and click OK.
  12. The "The trusted certificate has been successfully imported into wallet" dialog box is displayed.

  13. In Oracle Wallet Manager, in the Operations drop-down list, select Add Certificate Request.
  14. Screenshot for Step

  15. In the Create Certificate Request dialog box, fill out the fields for epm.mycompany.com as specified in the following figure, and click OK.
  16. Screenshot for Step

    A dialog box confirming the certificate request creation is displayed.

    Screenshot for Step

  17. Repeat the previous two steps for epminternal.mycompany.com.
  18. Obtain server certificates from the certification authority (sign the certificate requests). Certificate requests are available in Wallet Manager.
  19. Screenshot for Step

  20. In the Operations drop-down list, select Import User Certificate.
  21. Screenshot for Step

    The Import Certificate dialog box is displayed.

  22. Select Paste the certificate and click OK.
  23. Screenshot for Step

    The Import Certificate "Please paste a BASE64 format certificate below" dialog box is displayed.

  24. Remove the trailing carriage return.
  25. Screenshot for Step

  26. Click OK.
  27. The epm.mycompany.com certificate is displayed under Trusted Certificates.

    Screenshot for Step

  28. Follow the steps above to sign the certificate request and add the user certificate to Wallet for epminternal .mycompany.com
  29. In the Wallet drop-down list:
  • Select Save As, and save the certificate to Oracle_home>\Middleware\user_projects\epmsystem1\httpConfig\ohs\config\OHS\ohs_component\keystores\default
  • Select Auto Login

Screenshot for Step

Defining WebLogic Certificates

Complete the following steps on weblogic1 server:  

  1. Create an ssl  folder under EPM_ORACLE_HOME. For example, d:\Oracle\Middleware\EPMSystem11R1\ssl.
  2. Note: You can change the keystore password in the storepass parameter below for production systems.

  3. Use the following command to create a keystore with RSA key for server weblogic1:
  4. %EPM_ORACLE_HOME%\common\JRE\Sun\1.6.0\bin\keytool.exe -genkey -dname "cn=weblogic1, ou=EPM, o=orcl, c=US" -alias epm_ssl -keypass password -keystore %EPM_ORACLE_HOME%\ssl\keystore -storepass password -validity 365 -keyalg RSA

    Note: The common name weblogic1 has to be changed to match your WebLogic server hostname in the following line: cn=weblogic1, ou=EPM, o=orcl, c=US

  5. Use the following command to import your root certification authority certificate into the keystore. It is assumed the cert is called CA.crt:
  6. %EPM_ORACLE_HOME%\common\JRE\Sun\1.6.0\bin\keytool.exe -import -alias myrootca -keystore %EPM_ORACLE_HOME%\ssl\keystore -trustcacerts -file %EPM_ORACLE_HOME%\ssl\CA.crt -storepass password

  7. Use the following command to generate a certificate signing request for weblogic1, and name it   weblogic1.csr:
  8. %EPM_ORACLE_HOME%\common\JRE\Sun\1.6.0\bin\keytool.exe -certreq -alias epm_ssl -keyalg RSA -file %EPM_ORACLE_HOME%\ssl\weblogic1.csr -keystore %EPM_ORACLE_HOME%\ssl\keystore -storepass password

  9. Sign the csr file and obtain your weblogic1.crt server certificate.
  10. Use the following command to Import weblogic1.crt into keystore:

%EPM_ORACLE_HOME%\common\JRE\Sun\1.6.0\bin\keytool.exe -import -alias epm_ssl -keystore %EPM_ORACLE_HOME%\ssl\keystore -storepass password -file %EPM_ORACLE_HOME%\ssl\weblogic1.crt

Importing Root Certificates into Java Keystores

Complete the following steps on all EPM servers. CA.crt should be located in %EPM_ORACLE_HOME%\ssl\CA.crt.  

  1. Use the following command to import CA.crt into JDK:
  2. %EPM_ORACLE_HOME%\..\jdk160_11\jre\bin\keytool.exe -import -alias myrootca -keystore %EPM_ORACLE_HOME%\..\jdk160_11\jre\lib\security\cacerts -trustcacerts -file %EPM_ORACLE_HOME%\ssl\CA.crt -storepass changeit

  3. Use the following command to Import CA.crt to EPM JRE:

%EPM_ORACLE_HOME%\common\JRE\Sun\1.6.0\bin\keytool.exe -import -alias myrootca -keystore %EPM_ORACLE_HOME%\common\JRE\Sun\1.6.0\lib\security\cacerts -trustcacerts -file %EPM_ORACLE_HOME%\ssl\CA.crt -storepass changeit

Note: If you are using a 64-bit system, you should also import CA.crt into JRE-64 (both locations).

Importing Root Certificates Into IIS Windows Keystore

Complete the following steps on all IIS servers:  

  1. Use the following command to import CA.crt into JRockit on WebLogic servers:
  2. %EPM_ORACLE_HOME%\..\jdk160_11\jre\bin\keytool.exe -import -alias myrootca -keystore %EPM_ORACLE_HOME%\..\jrockit_160_05\jre\lib\security\cacerts -trustcacerts -file %EPM_ORACLE_HOME%\ssl\CA.crt -storepass changeit  

    Note: if you changed JVM, update location above.

  3. Select Start > Run > mmc.
  4. The Console1 window is displayed.

  5. In the File menu, select Add/Remove Snap-in , and then click Add.
  6. Screenshot for Step

  7. Select Certificates, and click Add.
  8. Screenshot for Step

  9. In the Certificates snap-in dialog box, select an account and click Finish.
  10. Right-click Trusted Root Certification Authorities, then select All Tasks > Import.

Screenshot for Step

Configuring OHS Web Server

Configuring Listen Ports

  1. On OHS server, manually enable two SSL pools:
    1. For logical web applications, server to server communications, on port 19443
    2. For browser access, on port 443
  2. Edit ssl.conf located in <Oracle_home>\Middleware\user_projects\epmsystem1\httpConfig\ohs\config\OHS\ohs_component
  • Replace Listen 19000 with Listen 443
  • Add Listen 19443
  • Screenshot for Step

Adding Internal Virtual Host

Follow the steps below to add a virtual host for internal SSL communications on port 19443:  

Adding External Virtual Host

Follow the steps below to add a virtual host for external SSL communications on port 443:  

Redirecting the WebLogic Server

Follow the steps below to configure WebLogic redirection in OHS server:  

Proxying to IIS Applications

Follow the steps below to edit httpd.conf:  

  1. In ssl.conf, add NameVirtualHost epminternal.mycompany.com:19443.
  2. Change virtual host to VirtualHost epminternal.mycompany.com:19443.
  3. Within the VirtualHost tag:
    1. Add ServerName epminternal.mycompany.com
    2. Check path to SSL wallet and SSL proxy wallet:
      1. SSLWallet ${ORACLE_INSTANCE}/config/${COMPONENT_TYPE}/${COMPONENT_NAME}/keystores/default
      2. SSLProxyWallet ${ORACLE_INSTANCE}/config/${COMPONENT_TYPE}/${COMPONENT_NAME}/keystores/default
    3. Add before closing </VirtualHost>  : <Location /> Options FollowSymLinks AllowOverride None Order Deny,Allow Deny from All # list of allowed servers ip connecting on https: To be modified Allow from 10.200.33.65 10.200.32 DirectoryIndex welcome-index.html </Location>
  4. Note: The IPs listed in the Location tag have to be changed to match the server environments.

  5. In ssl.conf, add NameVirtualHost epminternal.mycompany.com:19443
  6. Duplicate epminternal virtual host section, and change it to VirtualHost epminternal.mycompany.com:443
  7. Within the VirtualHost tag:
    1. Add ServerName epm.mycompany.com
    2. Check path to SSL wallet and SSL proxy wallet:
      • SSLWallet ${ORACLE_INSTANCE}/config/${COMPONENT_TYPE}/${COMPONENT_NAME}/keystores/default
      • SSLProxyWallet ${ORACLE_INSTANCE}/config/${COMPONENT_TYPE}/${COMPONENT_NAME}/keystores/default
    3. In the epm.mycompany.com virtual host section, remove the following code: <Location /> Options FollowSymLinks AllowOverride None Order Deny,Allow Deny from All # list of allowed servers ip connecting on https: To be modified Allow from 10.200.33.65 10.200.32 DirectoryIndex welcome-index.html </Location>

    Note: Tthe IPs listed in the Location tag have to be changed to match the server environments.

  8. In <oracle_home>\Middleware\user_projects\epmsystem1\httpConfig\ohs\config\OHS\ohs_component\mod_wl_ohs.conf
    1. Check that WLSSLWallet location is set to Oracle_home>\Middleware\user_projects\epmsystem1\httpConfig\ohs\config\OHS\ohs_component\keystores\default
    2. Make sure SecureProxy ON  is defined  
  9. Screenshot for Step

  10. In location tags, check WebLogic cluster physical nodes and SSL ports. Interop example:  
    1. <LocationMatch ^/interop>
    2. SetHandler weblogic-handler
    3. WebLogicCluster weblogic1:28443,weblogic2:28443
    4. </LocationMatch>  
  11. Add the following lines:
    1. LoadModule proxy_balancer_module ${ORACLE_HOME}/ohs/modules/mod_proxy_balancer.so
    2. LoadModule headers_module modules/mod_headers.so
  12. Note: Make sure mod_header is loaded.

  13. Configure mod_proxybalancer to load balance to different IIS servers:
  14. Note: youriis1 and youriis2 are two physical hostnames/dns names for the IIS machines.

    <Proxy balancer://iisappshfm> BalancerMember http://iis1.mycompany.com:443/hfm loadfactor=1 route=1 BalancerMember http:// iis2.mycompany.com:443/hfm loadfactor=1 route=2 ProxySet lbmethod=bytraffic </Proxy> Header add Set-Cookie "ORA_EPM_IIShfm_ROUTE_ID=iisappshfm .%{BALANCER_WORKER_ROUTE}e; path=/hfm ;" env=BALANCER_ROUTE_CHANGED

    Replace existing ProxyPass directives with this: ProxyPass /hfm balancer://iisappshfm/ stickysession=ORA_EPM_IIShfm_ROUTE_ID nofailover=OnProxyPassReverse /hfm http://epm.mycompany.com:19000/hfm ProxyPreserveHost ONSSLProxyEngine On  

  15. Add the same proxy pass and proxy balancer directives for other IIS applications (other Financial Management root contexts, FDM, Strategic Finance, EPMA).
  16. Copy cwallet.sso and ewallet.p12 t o Oracle_home>\Middleware\user_projects\epmsystem1\httpConfig\ohs\config\OHS\ohs_component\proxy-wallet.

Screenshot for Step

Note: You should perform this step even if SSL Proxy Wallet location is set to Oracle_home>\Middleware\user_projects\epmsystem1\httpConfig\ohs\config\OHS\ohs_component\keystores\default

Configuring WebLogic Applications with SSL

  1. Start WebLogic administration console:
  2. Screenshot for Step

  3. Enter credentials as specified in EPM System Configurator while creating a domain.
  4. Screenshot for Step

  5. Click Lock & Edit.
  6. Screenshot for Step

  7. Select Environments > Servers > FoundationServices0.
  8. Screenshot for Step

  9. Deselect Listen Port Enabled for http listen port, and select SSL Listen Port Enabled:
  10. Screenshot for Step

  11. Navigate to the Configuration > Keystores tab, and define keystores:
    1. Custom Identity Keystore: <Oracle_home>\Middleware\EPMSystem11R1\ssl\keystore
    2. Custom Identity Keystore Type: jks
    3. Custom Identity Keystore passphrase: password (or else if you changed it in the keytool scripts)  
  12. Screenshot for Step

    Screenshot for Step

  13. Follow the step above to fill out the information for the Trust keystore:
  14. Screenshot for Step

  15. Select the Configuration > SSL tab and note the Private Key Alias:
  16. Screenshot for Step

  17. Click Save, and then click Active Changes.
  18. Screenshot for Step

  19. In Windows Services, start OHS.
  20. Screenshot for Step

  21. In Windows Services, start Foundation Services.
  22. Screenshot for Step

  23. Test by connecting to https://epm.mycompany.com/interop and https://epm.mycompany.com/workspace.

Installing Remaining Products

Follow the steps below to install remaining products:

  1. Launch EPM System Configurator on WebLogic server.
  2. Screenshot for Step

  3. For each web application deployment, select Advanced setup and change the logical web application to: epminternal.mycompany.com  on SSL port 19443
  4. Once all products are configured:
    1. Launch EPM System Configurator on OHS server.
    2. Select Configure Web Server.
  5. Validate WebLogic redirection and httpd.conf.
  6. On the IIS server, import server certificates to enable SSL:  
  • For Financial Management, you need to import the ldap root certificate and OHS internal URL root certificate into java keystore of the Financial Management application server
  • All thick clients (for example, Financial Reporting and FDM), need root certificates of OHS external URL whether in windows keystore, or java keystore.

Summary

In this tutorial, you have learned how to:

  • Install EPM System
  • Configure Shared Services and Enable SSL
  • Define and Import Certificates
  • Configure OHS Web Server
  • Configure WebLogic Applications with SSL

Resources 

  • Oracle® Hyperion Enterprise Performance Management System Release 11.1.2 Security Administration Guide