Utilisation de certificats CA tiers sécurisés pour Essbase

Création de demandes de certificats et obtention de certificats

Générez une demande de certificat afin d'obtenir un certificat pour le serveur qui héberge le serveur Oracle Essbase et l'agent Essbase. Une demande de certificat contient des informations cryptées propres au nom commun (CN=) de votre serveur. Vous pouvez soumettre une demande de certificat à une autorité signataire pour obtenir un certificat SSL.

Pour créer une demande de certificat, utilisez un outil tel que keytool ou Oracle Wallet Manager. Pour plus d'informations sur la création d'une demande de certificat, reportez-vous à la documentation de l'outil en question.

Exemples avec keytool :

Créez un fichier de clés d'accès Java et générez une clé privée :

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

Générez une demande de certificat:

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

Exportez la clé privée (vous aurez besoin de l'utilitaire openssl pour effectuer ces étapes) :

  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. Signez la nouvelle demande de certificat générée à l'aide de votre autorité de certification et copiez-la dans le fichier suivant :

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

Obtention et installation d'un certificat CA racine

Le certificat CA racine vérifie la validité du certificat utilisé pour prendre en charge SSL. Il contient la clé publique avec laquelle la clé privée utilisée pour signer le certificat est mise en correspondance pour vérifier le certificat. Vous pouvez obtenir le certificat CA racine auprès de l'autorité de certification qui a signé vos certificats SSL.

Installez le certificat racine de l'autorité de certification qui a signé le certificat du serveur Essbase sur les clients qui se connectent au serveur ou à l'agent Essbase. Vérifiez que le certificat racine est installé dans le fichier de clés approprié pour le client. Reportez-vous à la section Certificats requis et leur emplacement.

Remarque :

Plusieurs composants peuvent utiliser un certificat CA racine installé sur un ordinateur serveur.

Installation de certificats signés par une autorité de certification

Pour installer des certificats signés par une autorité de certification, reportez-vous aux sections suivantes :

Mettez à jour le fichier tls.properties sous

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

Où :

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.

Exécutez les commandes suivantes pour mettre à jour le serveur Essbase avec les nouveaux certificats :

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

Mise à jour des paramètres SSL Essbase

Afin de personnaliser les paramètres SSL des clients et du serveur Essbase, indiquez des valeurs pour les éléments suivants dans essbase.cfg.

  • Paramètre permettant d'activer le mode sécurisé
  • Paramètre permettant d'activer le mode d'effacement
  • Mode privilégié pour communiquer avec les clients (utilisé uniquement par les clients)
  • Port sécurisé
  • Mécanismes de cryptage
  • Chemin d'Oracle Wallet

Remarque :

Dans le fichier essbase.cfg, veillez à bien inclure tous les paramètres obligatoires, en particulier EnableSecureMode et AgentSecurePort, et à définir leur valeur.

Pour mettre à jour essbase.cfg dans l'emplacement ci-dessous, procédez comme suit :

ESSBASE_DOMAIN_HOME\config\fmwconfig\essconfig\essbase
  1. Entrez les paramètres nécessaires. Les paramètres Essbase par défaut sont implicites. Si vous devez modifier le comportement par défaut, ajoutez les paramètres du comportement personnalisé dans le fichier essbase.cfg. Par exemple, EnableClearMode est appliqué par défaut, ce qui permet au serveur Essbase de communiquer sur un canal non crypté. Pour empêcher le serveur Essbase de communiquer sur un canal non crypté, vous devez indiquer EnableClearMode FALSE dans le fichier essbase.cfg. Reportez-vous au tableau suivant:

    Tableau 2-5 Paramètres SSL Essbase

    Paramètre Description 1
    EnableClearMode2 Permet la communication non cryptée entre les applications Essbase et l'agent Essbase. Si cette propriété est définie sur FALSE, Essbase ne traite que les demandes SSL.

    Valeur par défaut : EnableClearMode TRUE

    Exemple : EnableClearMode FALSE

    EnableSecureMode Active la communication cryptée SSL entre les clients Essbase et l'agent Essbase. Cette propriété doit être définie sur TRUE pour prendre en charge SSL.

    Valeur par défaut : FALSE

    Exemple : EnableSecureMode TRUE

    SSLCipherSuites Liste des mécanismes de cryptage, par ordre de préférence, à utiliser pour la communication SSL. L'agent Essbase utilise l'un de ces mécanismes de cryptage pour la communication SSL. Le premier mécanisme de cryptage de la liste reçoit la priorité la plus élevée lorsque l'agent choisit un mécanisme.

    Valeur par défaut : SSL_RSA_WITH_RC4_128_MD5

    Exemple : SSLCipherSuites SSL_RSA_WITH_AES_256_CBC_SHA256,SSL_RSA_WITH_AES_256_GCM_SHA384

    APSRESOLVER URL d'Oracle Hyperion Provider Services. Si vous utilisez plusieurs serveurs Provider Services, séparez chaque URL à l'aide d'un point-virgule.

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

    AgentSecurePort

    Port sécurisé sur lequel écoute l'agent.

    Valeur par défaut : 6423

    Exemple : AgentSecurePort 16001

    WalletPath Emplacement d'Oracle Wallet (moins de 1 024 caractères) qui contient le certificat CA racine et le certificat signé.

    Valeur par défaut : ARBORPATH/bin/wallet

    Exemple : WalletPath/usr/local/wallet

    ClientPreferredMode 3 Mode (SECURE ou CLEAR) de la session client. Si la propriété est définie sur SECURE, le mode SSL est utilisé pour toutes les sessions.

    Si la propriété est définie sur CLEAR, le choix du transport dépend de la présence du mot-clé de transport sécurisé dans la demande de connexion du client. Reportez-vous à la section Etablissement d'une connexion SSL par session.

    Valeur par défaut : CLEAR

    Exemple : ClientPreferredMode SECURE

    • 1 La valeur par défaut est appliquée si ces propriétés ne sont pas disponibles dans essbase.cfg.
    • 2 Essbase cesse de fonctionner si EnableClearMode et EnableSecureMode sont définis sur FALSE.
    • 3 Les clients utilisent ce paramètre pour déterminer s'ils doivent établir une connexion sécurisée ou non sécurisée à Essbase.
  2. Enregistrez et fermez essbase.cfg.

Mise à jour des noeuds Essbase distribués pour SSL

Remarque :

Cette section s'applique uniquement au déploiement distribué d'Essbase.

Assurez-vous que le dossier de portefeuille (par exemple, WalletPath/usr/local/wallet) contenant le certificat CA racine et le certificat signé se trouve à l'emplacement requis sur chaque noeud distribué.

  1. Importez tous les nouveaux certificats d'autorité de certification à l'aide d'outils TLS.

    Pour plus d'informations, reportez-vous aux sections suivantes :

  2. Accédez à l'emplacement source ESSBASE_DOMAIN_HOME\config\fmwconfig\essconfig\essbase et modifiez les propriétés suivantes dans le fichier essbase.properties :
    • essbase.ssleverywhere=true
    • olap.server.ssl.alwaysSecure=true
    • APSRESOLVER=APS_URL

      Remplacez APS_URL par l'URL Provider Services. Si vous utilisez plusieurs serveurs Provider Services, séparez chaque URL à l'aide d'un point-virgule. Par exemple :

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

  3. Copiez les dossiers Wallet et Walletssl, ainsi que les fichiers essbase.cfg et essbase.properties dans les chemins de destination ci-après.

    Tableau 2-6 Chemins de destination

    Chemins de destination Wallet Walletssl essbase.cfg essbase. properties

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

    Oui Oui Oui Oui

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

    Oui Oui Oui Oui

    ESSBASE_DOMAIN_HOME\config\fmwconfig\essconfig\aps

    Oui Oui Oui Oui

    ESSBASE_DOMAIN_HOME\config\fmwconfig\essconfig\essbase

    Oui Oui Oui Oui

    MIDDLEWARE_HOME\essbase\products\Essbase\template_files\essbase

    Oui Oui Oui Oui

    MIDDLEWARE_HOME\essbase\products\Essbase\EssbaseServer\bin

    Oui Oui Oui Oui

    MIDDLEWARE_HOME\essbase\products\Essbase\aps\bin

    Oui Oui Oui Oui

    MIDDLEWARE_HOME\essbase\products\Essbase\eas

    Oui Oui Oui Oui

    MIDDLEWARE_HOME\essbase\common\EssbaseJavaAPI\bin

    Oui Oui Oui Oui
    Uniquement pour Oracle Hyperion Financial Reporting

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

    Remarque : dans les environnements entièrement SSL, Financial Reporting nécessite le nom du cluster Essbase pour établir une connexion. Les connexions échouent si le nom d'hôte est utilisé.

    Oui Oui Oui Oui
    Uniquement pour Oracle Hyperion Planning

    EPM_ORACLE_HOME/products/Planning/config/

    EPM_ORACLE_HOME/products/Planning/lib/

    Oui Oui Oui Oui
  4. Définissez les variables d'environnement :

    • Windows : créez une variable système nommée API_DISABLE_PEER_VERIFICATION et définissez sa valeur sur 1.
    • Linux : ajoutez la directive API_DISABLE_PEER_VERIFICATION=1 dans setCustomParamsPlanning.sh.

Personnalisation des propriétés SSL des clients JAPI

Plusieurs propriétés par défaut sont prédéfinies pour les composants Essbase basés sur JAPI. Il est possible de passer outre ces propriétés par défaut en incluant des propriétés dans le fichier essbase.properties.

Remarque :

Seules quelques-unes des propriétés SSL identifiées dans le tableau suivant sont externalisées dans essbase.properties. Vous devez ajouter les propriétés qui ne sont pas externalisées.

Pour mettre à jour les propriétés SSL des clients JAPI, procédez comme suit :

  1. A l'aide d'un éditeur de texte, ouvrez EPM_ORACLE_HOME/common/EssbaseJavaAPI-21C/11.2.0/bin/essbase.properties.
  2. Mettez à jour les propriétés selon vos besoins. Reportez-vous au tableau suivant pour obtenir une description des propriétés client JAPI personnalisables.

    Si la propriété souhaitée ne figure pas dans le fichier essbase.properties, ajoutez-la.

    Tableau 2-7 Propriétés SSL par défaut pour les clients JAPI

    Propriété Description
    olap.server.ssl.alwaysSecure Définit le mode que les clients doivent utiliser pour toutes les instances Essbase. Remplacez la valeur de cette propriété par true pour appliquer le mode SSL.

    Valeur par défaut : false

    olap.server.ssl.securityHandler Nom de package pour le traitement du protocole. Vous pouvez modifier cette valeur afin d'indiquer un autre gestionnaire.

    Valeur par défaut : java.protocol.handler.pkgs

    olap.server.ssl.securityProvider Oracle utilise l'implémentation de protocole SSL Sun. Vous pouvez modifier cette valeur afin d'indiquer un autre fournisseur.

    Valeur par défaut : com.sun.net.ssl.internal.www.protocol

    olap.server.ssl.supportedCiphers Liste de cryptages supplémentaires, séparés par des virgules, à activer pour une communication sécurisée. Vous ne devez indiquer que des cryptages pris en charge par Essbase.

    Exemple : SSL_RSA_WITH_AES_256_CBC_SHA256,SSL_RSA_WITH_AES_256_GCM_SHA384

    olap.server.ssl.trustManagerClass Classe TrustManager à utiliser pour valider le certificat SSL, en vérifiant la signature et la date d'expiration du certificat.

    Par défaut, cette propriété n'applique pas toutes les vérifications.

    Pour ignorer les vérifications, définissez la valeur de ce paramètre sur com.essbase.services.olap.security.EssDefaultTrustManager, qui est la classe TrustManager par défaut permettant le succès de toutes les validations.

    Pour mettre en oeuvre une classe TrustManager personnalisée, indiquez un nom de classe qualifié complet pour la classe TrustManager qui implémente l'interface javax.net.ssl.X509TrustManager.

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

  3. Enregistrez et fermez essbase.properties.
  4. Redémarrez tous les composants Essbase.