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 à votre nom distinctif (DN). 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.

Pour créer une demande certificat avec keytool, utilisez une commande semblable à la suivante :

keytool -certreq -alias essbase_ssl -file C:/certs/essabse_server_csr -keypass password -storetype jks -keystore C:\oracle\Middleware\EPMSystem11R1\Essbase_ssl\keystore -storepass password

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.

Portefeuille Oracle

Reportez-vous à Certificats requis et leur emplacement pour obtenir la liste des composants qui requièrent le certificat CA racine dans Oracle Wallet. Vous pouvez créer un portefeuille ou installer le certificat dans le portefeuille de démo où le certificat auto-signé par défaut est installé.

Reportez-vous à la documentation d'Oracle Wallet Manager pour connaître le détail des procédures de création de portefeuille et d'import de certificat CA racine.

Fichier de clés d'accès Java

Reportez-vous à Certificats requis et leur emplacement pour obtenir la liste des composants qui requièrent le certificat CA racine dans un fichier de clés Java. Vous pouvez ajouter le certificat dans le fichier de clés où est installé le certificat auto-signé par défaut ou créer un fichier de clés pour y stocker le certificat.

Remarque :

Les certificats CA racine de nombreuses autorités de certification tierces reconnues sont déjà installés dans le fichier de clés Java.

Reportez-vous à la documentation de l'outil que vous utilisez pour obtenir des instructions détaillées. Pour importer un certificat racine avec keytool, utilisez une commande semblable à la suivante :

keytool -import -alias blister_CA -file c:/certs/CA.crt -keypass
password -trustcacerts -keystore C:\Oracle\Middleware\EPMSystem11R1\Essbase_ssl
\keystore -storepass password

Installation de certificats signés

Vous installez les certificats SSL signés sur le serveur qui héberge le serveur Essbase et l'agent Essbase. Pour les composants qui utilisent Essbase RTC (API C) pour établir une connexion au serveur ou à l'agent Essbase, le certificat doit être stocké dans Oracle Wallet avec le certificat CA racine. Pour les composants qui utilisent JAPI pour établir une connexion au serveur ou à l'agent Essbase, le certificat CA racine et le certificat SSL signé doivent être stockés dans un fichier de clés Java. Pour connaître le détail des procédures, consultez ces sources d'information :

  • Documentation Oracle Wallet Manager
  • Documentation ou aide en ligne de l'outil (par exemple, keytool, qui sert à importer le certificat)

Pour importer un certificat avec keytool, utilisez une commande semblable à la suivante :

keytool -import -alias essbase_ssl -file C:/certs/essbase_ssl_crt -keypass password -keystore
 C:\Oracle\Middleware\EPMSystem11R1\Essbase_ssl\keystore -storepass password

Mise à jour des valeurs de registre de serveur Essbase

Windows

  1. Dans une invite de commande, changez de répertoire pour passer à EPM_ORACLE_INSTANCE/epmsystem1/bin.
  2. Exécutez les commandes suivantes pour mettre à jour le registre Windows :

    epmsys_registry.bat updateproperty "#<Object ID>/@EnableSecureMode" true

    epmsys_registry.bat updateproperty "#<Object ID>/@EnableClearMode" false

    Veillez à remplacer <Object ID> par l'ID de composant de serveur Essbase, qui est disponible dans le rapport de registre généré à la fin du processus de configuration du serveur Essbase.

Linux

  1. Dans une console, changez de répertoire pour passer à EPM_ORACLE_INSTANCE/epmsystem1/bin.
  2. Exécutez les commandes suivantes pour mettre à jour le registre :

    epmsys_registry.sh updateproperty "#<Object ID>/@EnableSecureMode" true

    epmsys_registry.sh updateproperty "#<Object ID>/@EnableClearMode" false

    Veillez à remplacer <Object ID> par l'ID de composant de serveur Essbase, qui est disponible dans le rapport de registre généré à la fin du processus de configuration du serveur Essbase.

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 le fichier essbase.cfg, procédez comme suit :

  1. Copiez le portefeuille Oracle contenant les certificats pour le serveur Essbase vers EPM_ORACLE_INSTANCE/EssbaseServer/essbaseserver1/bin/wallet.

    Il s'agit de l'unique emplacement Oracle Wallet acceptable pour le serveur Essbase.

  2. A l'aide d'un éditeur de texte, ouvrez EPM_ORACLE_INSTANCE/EssbaseServer/essbaseserver1/bin/essbase.cfg.
  3. 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-2 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 : APSRESOLVER https://exampleAPShost1:PORT/aps;https://exampleAPShost2:PORT/aps

    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

    ClientPreferredMode3 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.

  4. 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. Copiez le dossier de portefeuille vers les emplacements suivants dans chaque noeud distribué :
    • EPM_ORACLE_HOME/common/EssbaseRTC/11.1.2.0/bin
    • EPM_ORACLE_HOME/common/EssbaseRTC-64/11.1.2.0/bin
  2. Copiez le dossier de portefeuille vers les emplacements suivants, le cas échéant, dans chaque noeud distribué :
    • EPM_ORACLE_HOME/products/Essbase/EssbaseServer/bin
    • EPM_ORACLE_HOME/products/Essbase/EssbaseServer-32/bin
    • EPM_ORACLE_INSTANCE/EssbaseServer/essbaseserver1/bin
  3. Copiez EPM_ORACLE_INSTANCE/EssbaseServer/essbaseserver1/bin/essbase.cfg vers les emplacements suivants sur chaque noeud distribué :
    • EPM_ORACLE_HOME/common/EssbaseRTC/11.1.2.0/bin
    • EPM_ORACLE_HOME/common/EssbaseRTC-64/11.1.2.0/bin
  4. Copiez EPM_ORACLE_INSTANCE/EssbaseServer/essbaseserver1/bin/essbase.cfg vers les emplacements suivants, le cas échant, sur chaque noeud distribué :
    • EPM_ORACLE_HOME/products/Essbase/EssbaseServer/bin
    • EPM_ORACLE_HOME/products/Essbase/EssbaseServer-32/bin
    • EPM_ORACLE_INSTANCE/EssbaseServer/essbaseserver1/bin
  5. Copiez le dossier de portefeuille vers les emplacements d'installation client Essbase suivants sur chaque noeud distribué :
    • EPM_ORACLE_HOME/products/Essbase/EssbaseClient/bin
    • EPM_ORACLE_HOME/products/Essbase/EssbaseClient-32/bin
  6. Copiez EPM_ORACLE_INSTANCE/EssbaseServer/essbaseserver1/bin/essbase.cfg vers les emplacements d'installation client Essbase suivants sur chaque noeud distribué :
    • EPM_ORACLE_HOME/products/Essbase/EssbaseClient/bin
    • EPM_ORACLE_HOME/products/Essbase/EssbaseClient-32/bin
  7. Ajoutez les propriétés suivantes au fichier essbase.properties :
    • essbase.ssleverywhere=true
    • olap.server.ssl.alwaysSecure=true
    • APSRESOLVER=http[s]://host:httpsPort/aps

      Veillez à remplacer cette valeur par l'URL appropriée.

    Vous devez mettre à jour le fichier essbase.properties aux emplacements suivants, le cas échéant, dans chaque noeud distribué :

    • EPM_ORACLE_HOME/common/EssbaseJavaAPI/11.2.0/bin/essbase.properties
    • EPM_ORACLE_HOME/products/Essbase/aps/bin/essbase.properties
    • EPM_ORACLE_INSTANCE/aps/bin/essbase.properties
  8. Copiez EPM_ORACLE_HOME/products/Essbase/aps/bin/essbase.properties vers le répertoire EPM_ORACLE_HOME/products/Essbase/eas, si disponible, sur chaque noeud distribué :
  9. Pour Oracle Hyperion Planning uniquement. Ajoutez les trois propriétés suivantes au 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/aps;https://exampleAPShost2:PORT/aps.

      Vous devez mettre à jour le fichier essbase.properties aux emplacements suivants dans chaque noeud distribué :

      • EPM_ORACLE_HOME/products/Planning/config/essbase.properties
      • EPM_ORACLE_HOME/products/Planning/lib/essbase.properties
  10. Pour Oracle Hyperion Financial Reporting uniquement. Ajoutez les trois propriétés suivantes au fichier EPM_ORACLE_HOME/products/financialreporting/bin/EssbaseJAPI/bin/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/aps;https://exampleAPShost2:PORT/aps.

    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é.
    1. 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.
    2. Ajoutez la directive API_DISABLE_PEER_VERIFICATION=1 dans EPM_ORACLE_INSTANCE/EssbaseServer/essbaseserver1/bin/setEssbaseenv.bat ou EPM_ORACLE_INSTANCE/EssbaseServer/essbaseserver1/bin/setEssbaseenv.sh.
    Définissez des variables d'environnement :

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/11.1.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-3 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.