Uso de certificados CA de terceros de confianza para Essbase

Creación de solicitudes de certificados y obtención de certificados

Genere una solicitud de certificado para obtener un certificado para el servidor que aloja el servidor de Oracle Essbase y el agente de Essbase. Una solicitud de certificado contiene información cifrada específica de su nombre común (CN=) del servidor. Usted envía la solicitud del certificado a una autoridad de firma para obtener un certificado SSL.

Utilice una herramienta como keytool u Oracle Wallet Manager para crear una solicitud de certificado. Para obtener información detallada sobre la creación de una solicitud de certificado, consulte la documentación de la herramienta que esté usando.

Ejemplos utilizando la herramienta de claves:

Cree un almacén de claves Java (JKS) y genere una clave privada:

keytool.exe -genkey -dname "cn=myserver, ou=EPM, o=Oracle, c=US" 
-alias essbase_ssl -keypass password -keystore 
C:\oracle\Middleware\EPMSystem11R1\ssl\EPM.JKS -storepass password 
-validity 365 -keyalg RSA -keysize 2048 -sigalg SHA256withRSA -noprompt

Genere una solicitud de certificado:

keytool -certreq -alias essbase_ssl -file C:\oracle\Middleware\EPMSystem11R1\ssl\essabse_server.csr -keypass password 
-keystore C:\oracle\Middleware\EPMSystem11R1\ssl\EPM.JKS -storepass password

Exporte su clave privada (necesitará la utilidad openssl para realizar estos pasos):

  1. openssl.exe pkcs12 -in C:\oracle\Middleware\EPMSystem11R1\ssl\EPM.JKS -passin pass:password -legacy -nocerts -out c:\Apache24\ssl\Apache24.key -passout pass:password
  2. Firme la Solicitud de certificado que se acaba de generar utilizando su CA (autoridad de certificación) y péguela en el siguiente archivo:

    C:\oracle\Middleware\EPMSystem11R1\ssl\essbase.cer.

Obtención e instalación del certificado de CA raíz

El certificado de CA raíz verifica la validez del certificado que se usa para soportar SSL. Contiene la clave pública con la que se hace coincidir la clave privada que se ha usado para verificar el certificado. Puede obtener el certificado de CA raíz de la autoridad de certificación que haya firmado sus certificados SSL.

Instale el certificado raíz de la CA que haya firmado el certificado de servidor de Essbase en clientes que conecten al servidor o al agente de Essbase. Asegúrese de que el certificado raíz esté instalado en el almacén de claves adecuado para el cliente. Consulte Certificados necesarios y su ubicación.

Nota:

Varios componentes pueden usar un certificado CA raíz instalado en un equipo de servidor.

Instalación de certificados firmados por CA

Para instalar certificados firmados por CA, consulte los siguientes enlaces:

Actualice el archivo tls.properties ubicado en

%EPM_HOME%\essbase\bin\tls_tools.properties:
certCA=c:\\ssl\\ca.crt;c:\\ssl\\intermediate.crt;c:\\ssl\\essbase.key;c:\\ssl\\essbase.cer;

Donde:

C:\ssl\ca.crt – root CA certificate.
C:\ssl\intermediate.crt – intermediate CA certificate.
C:\ssl\essbase.key – your private key generated in the previous step.
C:\ssl\essbase.cer – your server’s signed certificate issued by your CA.

Ejecute lo siguiente para actualizar el servidor de Essbase con los nuevos certificados:

set ORACLE_HOME=c:\OracleSSL
set EPM_HOME=%ORACLE_HOME%
set WL_HOME=%ORACLE_HOME%\wlserver
set JAVA_HOME=%ORACLE_HOME%\jdk
set DOMAIN_HOME=%ORACLE_HOME%\user_projects\domains\essbase_domain
%EPM_HOME%\essbase\bin\tls_tools.properties:
%ORACLE_HOME%\\jdk\bin\java.exe -Xmx256m -jar %ORACLE_HOME%\essbase\lib\tlsTools.jar %EPM_HOME%\essbase\bin\tls_tools.properties

Actualización de la configuración Essbase de Essbase

Puede personalizar la configuración de SSL para el servidor y los clientes de Essbase especificando valores para ellos en essbase.cfg.

  • Configuración para activar el modo seguro
  • Configuración para activar el modo Clear
  • Modo preferido para comunicarse con los clientes (solo usado por los clientes)
  • Puerto seguro
  • Conjuntos de cifrado
  • Ruta de Oracle Wallet

Nota:

En essbase.cfg, asegúrese de agregar los parámetros necesarios que falten, en concreto, EnableSecureMode y AgentSecurePort, y establezca sus valores.

Para actualizar essbase.cfg ubicado en:

ESSBASE_DOMAIN_HOME\config\fmwconfig\essconfig\essbase
  1. Introduzca la configuración según sea necesario. Se usa de forma implícita la configuración predeterminada de Essbase. Si necesita cambiar el comportamiento predeterminado, agregue la configuración para el comportamiento personalizado en essbase.cfg. Por ejemplo, EnableClearMode se aplica de forma predeterminada, por el que se activa el servidor de Essbase para comunicarse a través de un canal no cifrado. Para desactivar la disponibilidad del servidor de Essbase a través de un canal no cifrado, debe especificar EnableClearMode FALSE en essbase.cfg. Consulte la siguiente tabla:

    Tabla 2-5 Configuración de SSL de Essbase

    Valor Descripción1
    EnableClearMode2 Activa la comunicación sin cifrado entre las aplicaciones de Essbase y el agente de Essbase. Si esta propiedad está establecida en FALSE, Essbase no gestiona solicitudes que no sean SSL.

    Valor predeterminado: EnableClearMode TRUE

    Ejemplo: EnableClearMode FALSE

    EnableSecureMode Activa la comunicación cifrada de SSL entre el cliente de Essbase y el agente de Essbase. Esta propiedad se debe establecer en TRUE para soportar SSL.

    Valor predeterminado: FALSE

    Ejemplo: EnableSecureMode TRUE

    SSLCipherSuites Lista de conjuntos de cifrado, en orden de preferencia, que usar para la comunicación SSL. El agente de Essbase usa uno de los conjuntos de cifrado para la comunicación SSL. Al primer conjunto de cifrado se le asigna la máxima prioridad cuando el agente elige un conjunto de cifrado.

    Valor predeterminado: SSL_RSA_WITH_RC4_128_MD5

    Ejemplo: SSLCipherSuites SSL_RSA_WITH_AES_256_CBC_SHA256,SSL_RSA_WITH_AES_256_GCM_SHA384

    APSRESOLVER URL de Oracle Hyperion Provider Services. Si utiliza varios servidores de Provider Services, separe cada URL con un punto y coma.

    Ejemplo: https://exampleAPShost1:PORT/essbase;https://exampleAPShost2:PORT/essbase

    AgentSecurePort

    Puerto seguro en el que escucha el agente.

    Valor predeterminado: 6423

    Ejemplo: AgentSecurePort 16001

    WalletPath Ubicación de la instancia de Oracle Wallet (menos de 1.024 caracteres) que almacena el certificado de la CA raíz y del certificado firmado.

    Valor predeterminado: ARBORPATH/bin/wallet

    Ejemplo: WalletPath/usr/local/wallet

    ClientPreferredMode 3 Modo (Secure o Clear) para la sesión de cliente. Si esta propiedad está establecida en Secure, se usa el modo SSL para todas las sesiones.

    Si esta propiedad se establece en Clear, se elige el transporte en función de si la solicitud de inicio de sesión del cliente contiene la palabra clave de transporte seguro. Consulte Establecimiento de una conexión SSL por sesión.

    Valor predeterminado: CLEAR

    Ejemplo: ClientPreferredMode SECURE

    • 1 El valor predeterminado se aplica si estas propiedades no están disponibles en essbase.cfg.
    • 2 Essbase deja de estar operativo si EnableClearMode y EnableSecureMode se definen como FALSE.
    • 3 Los clientes usan esta opción para determinar si se debe establecer una conexión segura o no segura con Essbase.
  2. Guarde y cierre essbase.cfg.

Actualización de nodos de Essbase distribuidos para SSL

Nota:

Esta sección se aplica solamente a despliegues distribuidos de Essbase

Asegúrese de que la carpeta de la cartera (por ejemplo, WalletPath/usr/local/wallet) que contiene el certificado de autoridad de certificación raíz y el certificado firmado se encuentra en la ubicación necesaria en cada nodo distribuido.

  1. Importe todos los certificados de CA nuevos utilizando las herramientas de TLS.

    Para obtener más información, consulte los siguientes enlaces:

  2. Vaya a la ubicación de origen: ESSBASE_DOMAIN_HOME\config\fmwconfig\essconfig\essbase y modifique las siguientes propiedades en el archivo essbase.properties:
    • essbase.ssleverywhere=true
    • olap.server.ssl.alwaysSecure=true
    • APSRESOLVER=APS_URL

      Reemplace APS_URL por la URL de Provider Services. Si utiliza varios servidores de Provider Services, separe cada URL utilizando un punto y coma.

      https://exampleAPShost1:PORT/essbase;https://exampleAPShost2:PORT/essbase.

  3. Copie la carpeta Wallet, la carpeta Walletssl, el archivo essbase.cfg y el archivo essbase.properties en las siguientes rutas de destino.

    Tabla 2-6 Rutas de destino

    Rutas de destino Wallet Walletssl essbase.cfg essbase. properties

    EPM_ORACLE_HOME\common\EssbaseRTC-21C\11.1.2.0\bin

    EPM_ORACLE_HOME\common\EssbaseJavaAPI-21C\11.1.2.0\bin

    ESSBASE_DOMAIN_HOME\config\fmwconfig\essconfig\aps

    ESSBASE_DOMAIN_HOME\config\fmwconfig\essconfig\essbase

    MIDDLEWARE_HOME\essbase\products\Essbase\template_files\essbase

    MIDDLEWARE_HOME\essbase\products\Essbase\EssbaseServer\bin

    MIDDLEWARE_HOME\essbase\products\Essbase\aps\bin

    MIDDLEWARE_HOME\essbase\products\Essbase\eas

    MIDDLEWARE_HOME\essbase\common\EssbaseJavaAPI\bin

    Solo para Oracle Hyperion Financial Reporting

    EPM_ORACLE_HOME/products/financialreporting/bin/EssbaseJAPI/bin/

    Nota: En entornos completos de Secure Sockets Layer, Financial Reporting necesita el nombre de cluster de Essbase para establecer una conexión. Se produce un fallo en la conexión si se utiliza el nombre de host para conectar.

    Solo para Oracle Hyperion Planning

    EPM_ORACLE_HOME/products/Planning/config/

    EPM_ORACLE_HOME/products/Planning/lib/

  4. Defina las variables de entorno:

    • Windows: Cree una nueva variable de sistema llamada API_DISABLE_PEER_VERIFICATION y establezca su valor en 1.
    • Linux: Agregue la directiva API_DISABLE_PEER_VERIFICATION=1 en setCustomParamsPlanning.sh.

Personalización de las propiedades SSL de clientes de JAPI

Hay varias propiedades predeterminadas predefinidas para los componentes de Essbase que se basan en JAPI. Las propiedades predeterminadas se pueden sustituir mediante la inclusión de propiedades en essbase.properties.

Nota:

Solo unas pocas propiedades SSL identificadas en la siguiente tabla se externalizan en essbase.properties. Debe agregar las propiedades que no estén externalizadas.

Para actualizar las propiedades SSL de los clientes de JAPI:

  1. Con un editor de texto, abra EPM_ORACLE_HOME/common/EssbaseJavaAPI-21C/11.2.0/bin/essbase.properties.
  2. Actualice las propiedades según sea necesario. Consulte la tabla siguiente para consultar una descripción de las propiedades de cliente JAPI personalizable.

    Si no se ha incluido una propiedad que desee en essbase.properties, agréguela.

    Tabla 2-7 Propiedades de SSL predeterminadas para clientes de JAPI

    Propiedad Descripción
    olap.server.ssl.alwaysSecure Establece el modo que deben usar los clientes en todas las instancias de Essbase. Cambie el valor de esta propiedad a true para aplicar el modo SSL.

    Valor predeterminado: false

    olap.server.ssl.securityHandler Nombre de paquete para gestionar el protocolo. Puede cambiar este valor para indicar otro identificador.

    Valor predeterminado: java.protocol.handler.pkgs

    olap.server.ssl.securityProvider Oracle utiliza la implantación del protocolo SSL de Sun. Puede cambiar este valor para indicar otro proveedor.

    Valor predeterminado: com.sun.net.ssl.internal.www.protocol

    olap.server.ssl.supportedCiphers Lista separada por comas de cifrados adicionales que se van a activar para una comunicación segura. Debe especificar solo cifrados que soporte Essbase.

    Ejemplo: SSL_RSA_WITH_AES_256_CBC_SHA256,SSL_RSA_WITH_AES_256_GCM_SHA384

    olap.server.ssl.trustManagerClass La clase TrustManager que usar para validar el certificado SSL mediante la verificación de la firma y la comprobación de la fecha de caducidad del certificado.

    De manera predeterminada, esta propiedad no se establece para aplicar todas las comprobaciones de verificación.

    Para no aplicar comprobaciones de verificación, establezca el valor de este parámetro en com.essbase.services.olap.security.EssDefaultTrustManager, que es la clase TrustManager predeterminada que permite que todas las comprobaciones de validación sean correctas.

    Para implantar una clase TrustManager personalizada, especifique un nombre de clase completo de la clase TrustManager que implante la interfaz javax.net.ssl.X509TrustManager.

    Ejemplo:com.essbase.services.olap.security.EssDefaultTrustManager

  3. Guarde y cierre essbase.properties.
  4. Reinicie todos los componentes de Essbase.