Utilizzo di certificati CA di terze parti sicuri per Essbase

Creazione di richieste di certificati e ottenimento di certificati

Generare una richiesta di certificato per ottenere un certificato per il server che ospita il server Oracle Essbase e l'agente Essbase. Una richiesta di certificato contiene informazioni cifrate specifiche del proprio nome distinto (DN). La richiesta di certificato viene sottomessa a un'autorità di certificazione per ottenere un certificato SSL.

Per creare una richiesta di certificato viene utilizzato un keytool oppure Oracle Wallet Manager. Per informazioni dettagliate sulla creazione di una richiesta di certificato, fare riferimento alla documentazione relativa allo strumento in uso.

Se si utilizza un keytool, eseguire un comando simile al seguente per creare una richiesta di certificato:

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

Ottenimento e installazione del certificato CA radice

Il certificato CA radice verifica la validità del certificato utilizzato per supportare SSL. Contiene la chiave pubblica a fronte della quale viene confrontata per una corrispondenza la chiave privata utilizzata per firmare il certificato in modo da verificarlo. È possibile ottenere il certificato CA radice dall'autorità di certificazione che ha firmato i certificati SSL.

Installare il certificato radice dell'autorità CA che ha firmato il certificato del server Essbase nei client che si connettono al server o all'agente Essbase. Assicurarsi che il certificato radice sia installato nel keystore appropriato per il client. Fare riferimento alla sezione Certificati richiesti e relativa posizione .

Nota:

Un certificato CA radice installato in un server può essere utilizzato da più componenti.

Oracle Wallet

Fare riferimento alla Certificati richiesti e relativa posizione per un elenco dei componenti che richiedono il certificato CA radice in un Oracle Wallet. È possibile creare un wallet o installare il certificato nel wallet demo in cui è installato il certificato con firma automatica predefinito.

Fare riferimento alla documentazione di Oracle Wallet Manager per le procedure dettagliate per la creazione di wallet e l'importazione del certificato CA radice.

Keystore Java

Fare riferimento alla Certificati richiesti e relativa posizione per un elenco dei componenti che richiedono il certificato CA radice in un keystore Java. È possibile aggiungere il certificato nel keystore in cui è installato il certificato con firma automatica predefinito oppure creare un keystore per la memorizzazione del certificato.

Nota:

I certificati CA radice di molte CA di terze parti note sono già installati nel keystore Java.

Per istruzioni dettagliate, fare riferimento alla documentazione dello strumento in uso. Se si utilizza il keytool, eseguire un comando simile al seguente per importare il certificato radice:

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

Installazione di certificati firmati

I certificati SSL firmati vengono installati nel server che ospita il server Essbase e l'agente Essbase. Per i componenti che utilizzano Essbase RTC (API C) per stabilire una connessione al server o all'agente Essbase, il certificato deve essere memorizzato in un Oracle Wallet con il certificato CA radice. Per i componenti che utilizzano JAPI per stabilire una connessione al server o all'agente Essbase, il certificato CA radice e il certificato SSL firmato devono essere memorizzati in un keystore Java. Per le procedure dettagliate, fare riferimento alle fonti di informazioni elencate di seguito.

  • Documentazione di Oracle Wallet Manager
  • Documentazione o Guida in linea relativa allo strumento, ad esempio il keytool, utilizzato per importare il certificato

Se si utilizza il keytool, eseguire un comando simile al seguente per importare il certificato:

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

Aggiornamento dei valori di registro del server Essbase

Windows

  1. In un prompt dei comandi, passare alla directory EPM_ORACLE_INSTANCE/epmsystem1/bin.
  2. Per aggiornare il Registro di sistema di Windows, eseguire i comandi riportati in basso.

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

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

    Sostituire <ID oggetto> con l'ID del componente server Essbase, disponibile nel report del registro generato dopo il completamento del processo di configurazione del server Essbase.

Linux

  1. In una console, passare alla directory EPM_ORACLE_INSTANCE/epmsystem1/bin.
  2. Per aggiornare il registro, eseguire i comandi riportati in basso.

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

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

    Sostituire <ID oggetto> con l'ID del componente server Essbase, disponibile nel report del registro generato dopo il completamento del processo di configurazione del server Essbase.

Aggiornamento delle impostazioni SSL di Essbase

Customizzare le impostazioni SSL dei client e del server Essbase specificando i valori dei seguenti elementi in essbase.cfg.

  • L'impostazione per abilitare la modalità sicura
  • L'impostazione per abilitare la modalità non cifrata
  • La modalità preferita per comunicare con i client (utilizzata solo dai client)
  • La porta sicura
  • Le suite di cifratura
  • Il percorso dell'Oracle Wallet

Nota:

In essbase.cfg, aggiungere gli eventuali parametri obbligatori mancanti, in particolare EnableSecureMode, AgentSecurePort e impostare i relativi valori.

Per aggiornare essbase.cfg, procedere come segue.

  1. Copiare l'Oracle Wallet con i certificati per il server Essbase in EPM_ORACLE_INSTANCE/EssbaseServer/essbaseserver1/bin/wallet.

    Questa è l'unica ubicazione dell'Oracle Wallet accettabile per il server Essbase.

  2. Aprire EPM_ORACLE_INSTANCE/EssbaseServer/essbaseserver1/bin/essbase.cfg con un editor di testo.
  3. Specificare le impostazioni in base alle esigenze. È implicito l'utilizzo delle impostazioni di Essbase predefinite. Se si desidera modificare il comportamento predefinito, aggiungere le impostazioni per il comportamento customizzato in essbase.cfg. Ad esempio, l'impostazione EnableClearMode è applicata per impostazione predefinita e in base a essa il server Essbase è abilitato a comunicare su un canale non cifrato. Per disattivare la capacità del server Essbase di comunicare su un canale non cifrato, specificare EnableClearMode FALSE in essbase.cfg. Fare riferimento alla tabella riportata di seguito.

    Tabella 2-2 Impostazioni SSL di Essbase

    Impostazione Descrizione1
    EnableClearMode2 Abilita le comunicazioni non cifrate tra le applicazioni Essbase e l'agente Essbase. Se questa proprietà è impostata su FALSE, Essbase non gestisce le richieste non SSL.

    Valore predefinito: EnableClearMode TRUE

    Esempio: EnableClearMode FALSE

    EnableSecureMode Abilita le comunicazioni cifrate SSL tra i client Essbase e l'agente Essbase. Questa proprietà deve essere impostata su TRUE per supportare SSL.

    Valore predefinito: FALSE

    Esempio: EnableSecureMode TRUE

    SSLCipherSuites Elenco di suite di cifratura, in ordine di preferenza, da utilizzare per le comunicazioni SSL. L'agente Essbase utilizza una di queste suite di cifratura per le comunicazioni SSL. Alla prima suite di cifratura nell'elenco è assegnata la priorità più alta quando l'agente sceglie una suite di cifratura.

    Valore predefinito: SSL_RSA_WITH_RC4_128_MD5

    Esempio: SSLCipherSuites SSL_RSA_WITH_AES_256_CBC_SHA256,SSL_RSA_WITH_AES_256_GCM_SHA384

    APSRESOLVER URL di Oracle Hyperion Provider Services. Se si utilizzano più server Provider Services, separare i singoli URL utilizzando il punto e virgola.

    Esempio: APSRESOLVER https://exampleAPShost1:PORT/aps;https://exampleAPShost2:PORT/aps

    AgentSecurePort

    Porta sicura su cui è in ascolto l'agente.

    Valore predefinito: 6423

    Esempio: AgentSecurePort 16001

    WalletPath Posizione dell'Oracle Wallet (meno di 1024 caratteri) in cui sono memorizzati il certificato CA radice e il certificato firmato.

    Valore predefinito: ARBORPATH/bin/wallet

    Esempio: WalletPath/usr/local/wallet

    ClientPreferredMode3 Modalità (Secure o Clear) per la sessione client. Se questa proprietà è impostata su Secure, viene utilizzata la modalità SSL per tutte le sessioni.

    Se questa proprietà è impostata su Clear, il trasporto viene scelto a seconda che nella richiesta di accesso client sia contenuta la parola chiave di trasporto sicuro. Fare riferimento alla sezione Attivazione di una connessione SSL per la singola sessione.

    Valore predefinito: CLEAR

    Esempio: ClientPreferredMode SECURE

    1 Il valore predefinito viene applicato se le proprietà non sono disponibili in essbase.cfg.

    2 Essbase diventa non operativo se EnableClearMode e EnableSecureMode sono entrambi impostati su FALSE.

    3 I client utilizzano questa impostazione per determinare se devono stabilire una connessione sicura o non sicura con Essbase.

  4. Salvare e chiudere essbase.cfg.

Aggiornamento dei nodi Essbase distribuiti per SSL

Nota:

Questa sezione è valida solo per la distribuzione distribuita di Essbase

Verificare che la cartella del wallet (ad esempio, WalletPath/usr/local/wallet) contenga il certificato CA radice e che il certificato firmato si trovi nella posizione richiesta in ogni nodo distribuito.

  1. Copiare la cartella del wallet nelle posizioni indicate in ogni nodo distribuito.
    • EPM_ORACLE_HOME/common/EssbaseRTC/11.1.2.0/bin
    • EPM_ORACLE_HOME/common/EssbaseRTC-64/11.1.2.0/bin
  2. Copiare la cartella del wallet nelle posizioni indicate, se presenti, in ogni nodo distribuito.
    • EPM_ORACLE_HOME/products/Essbase/EssbaseServer/bin
    • EPM_ORACLE_HOME/products/Essbase/EssbaseServer-32/bin
    • EPM_ORACLE_INSTANCE/EssbaseServer/essbaseserver1/bin
  3. Copiare EPM_ORACLE_INSTANCE/EssbaseServer/essbaseserver1/bin/essbase.cfg nelle posizioni indicate in ogni nodo distribuito.
    • EPM_ORACLE_HOME/common/EssbaseRTC/11.1.2.0/bin
    • EPM_ORACLE_HOME/common/EssbaseRTC-64/11.1.2.0/bin
  4. Copiare EPM_ORACLE_INSTANCE/EssbaseServer/essbaseserver1/bin/essbase.cfg nelle posizioni indicate, se presenti, in ogni nodo distribuito.
    • EPM_ORACLE_HOME/products/Essbase/EssbaseServer/bin
    • EPM_ORACLE_HOME/products/Essbase/EssbaseServer-32/bin
    • EPM_ORACLE_INSTANCE/EssbaseServer/essbaseserver1/bin
  5. Copiare la cartella del wallet nelle posizioni di installazione dei client Essbase indicate in ogni nodo distribuito.
    • EPM_ORACLE_HOME/products/Essbase/EssbaseClient/bin
    • EPM_ORACLE_HOME/products/Essbase/EssbaseClient-32/bin
  6. Copiare EPM_ORACLE_INSTANCE/EssbaseServer/essbaseserver1/bin/essbase.cfg nelle posizioni di installazione dei client Essbase indicate in ogni nodo distribuito.
    • EPM_ORACLE_HOME/products/Essbase/EssbaseClient/bin
    • EPM_ORACLE_HOME/products/Essbase/EssbaseClient-32/bin
  7. Aggiungere al file essbase.properties le proprietà indicate di seguito.
    • essbase.ssleverywhere=true
    • olap.server.ssl.alwaysSecure=true
    • APSRESOLVER=http[s]://host:httpsPort/aps

      Sostituire questo valore con l'URL appropriato.

    Aggiornare il file essbase.properties nelle posizioni indicate, se presenti, in ogni nodo distribuito.

    • 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. Copiare la directory EPM_ORACLE_HOME/products/Essbase/aps/bin/essbase.properties in EPM_ORACLE_HOME/products/Essbase/eas, se disponibile, in ogni nodo distribuito.
  9. Solo per Oracle Hyperion Planning: aggiungere al file essbase.properties le tre proprietà indicate di seguito.
    • essbase.ssleverywhere=true
    • olap.server.ssl.alwaysSecure=true
    • APSRESOLVER=APS_URL

      Sostituire APS_URL con l'URL di Provider Services. Se si utilizzano più server Provider Services, separare i singoli URL utilizzando il punto e virgola. Ad esempio, https://exampleAPShost1:PORT/aps;https://exampleAPShost2:PORT/aps.

      Aggiornare il file essbase.properties nelle posizioni indicate in ogni nodo distribuito.

      • EPM_ORACLE_HOME/products/Planning/config/essbase.properties
      • EPM_ORACLE_HOME/products/Planning/lib/essbase.properties
  10. Solo per Oracle Hyperion Financial Reporting: aggiungere al file EPM_ORACLE_HOME/products/financialreporting/bin/EssbaseJAPI/bin/essbase.properties le tre proprietà indicate di seguito.
    • essbase.ssleverywhere=true
    • olap.server.ssl.alwaysSecure=true
    • APSRESOLVER=APS_URL

      Sostituire APS_URL con l'URL di Provider Services. Se si utilizzano più server Provider Services, separare i singoli URL utilizzando il punto e virgola. Ad esempio, https://exampleAPShost1:PORT/aps;https://exampleAPShost2:PORT/aps.

    Nota:

    Negli ambienti SSL completi, Financial Reporting necessita del nome del cluster Essbase per stabilire una connessione. Le connessioni hanno esito negativo se il nome host viene utilizzato per la connessione.
    1. Impostare le variabili di ambiente.
      • Windows: creare una nuova variabile di ambiente con nome API_DISABLE_PEER_VERIFICATION e impostarla su 1.
      • Linux: aggiungere la direttiva API_DISABLE_PEER_VERIFICATION=1 in setCustomParamsPlanning.sh.
    2. Aggiungere la direttiva API_DISABLE_PEER_VERIFICATION=1 in EPM_ORACLE_INSTANCE/EssbaseServer/essbaseserver1/bin/setEssbaseenv.bat oppure EPM_ORACLE_INSTANCE/EssbaseServer/essbaseserver1/bin/setEssbaseenv.sh.
    Impostare le variabili di ambiente.

Customizzazione delle proprietà SSL dei client JAPI

Sono presenti diverse proprietà predefinite per i componenti Essbase che si basano su JAPI. Le proprietà predefinite possono essere sostituite includendo le proprietà in essbase.properties.

Nota:

Solo alcune delle proprietà SSL identificate nella tabella che segue sono esternalizzate in essbase.properties. Devono essere aggiunte le proprietà che non sono esternalizzate.

Per aggiornare le proprietà SSL dei client JAPI, procedere come segue.

  1. Aprire EPM_ORACLE_HOME/common/EssbaseJavaAPI/11.1.2.0/bin/essbase.properties con un editor di testo.
  2. Aggiornare le proprietà in base alle esigenze. Fare riferimento alla tabella che segue per una descrizione delle proprietà client JAPI customizzabili.

    Se una proprietà desiderata non è inclusa in essbase.properties, aggiungerla.

    Tabella 2-3 Proprietà SSL predefinite per i client JAPI

    Proprietà Descrizione
    olap.server.ssl.alwaysSecure Imposta la modalità che deve essere utilizzata dai client in tutte le istanze di Essbase. Modificare il valore di questa proprietà impostandolo su true per applicare la modalità SSL.

    Valore predefinito: false

    olap.server.ssl.securityHandler Nome del package per la gestione del protocollo. È possibile modificare questo valore per indicare un altro handler.

    Valore predefinito: java.protocol.handler.pkgs

    olap.server.ssl.securityProvider Oracle utilizza l'implementazione del protocollo Sun SSL. È possibile modificare questo valore per indicare un altro provider.

    Valore predefinito: com.sun.net.ssl.internal.www.protocol

    olap.server.ssl.supportedCiphers Elenco di voci separate da virgole contenente cifrature aggiuntive da abilitare per le comunicazioni sicure. È necessario specificare solo le cifrature supportate da Essbase.

    Esempio: SSL_RSA_WITH_AES_256_CBC_SHA256,SSL_RSA_WITH_AES_256_GCM_SHA384

    olap.server.ssl.trustManagerClass Classe TrustManager da utilizzare per convalidare il certificato SSL verificando la firma e controllando la data di scadenza del certificato.

    Per impostazione predefinita, questa proprietà non è impostata per applicare tutti i controlli di verifica.

    Per non applicare i controlli di verifica, impostare il valore di questo parametro su com.essbase.services.olap.security.EssDefaultTrustManager, ovvero la classe TrustManager predefinita che consente di superare tutti i controlli di verifica.

    Per implementare una classe TrustManager customizzata, specificare un nome di classe completo della classe TrustManager che implementi l'interfaccia javax.net.ssl.X509TrustManager.

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

  3. Salvare e chiudere essbase.properties.
  4. Riavviare tutti i componenti di Essbase.