MicroStrategy ONE

Configura SSL per PostgreSQL e il servizio di archiviazione

La comunicazione tra il servizio Microstrategy Storage e un database PostgreSQL può essere configurata per utilizzare SSL per la crittografia e l'autenticazione. Vedere il Documentazione PostgreSQL per ulteriori informazioni.

Configurazione lato server PostgreSQL

È necessario che sia installata OpenSSL versione 1.1.0 o successiva.

Se il lato server PostgreSQL è già configurato per Platform Analytics o Collaboration Service, andare a Configurazione lato client utilizzando un file generato server.key e root.crt

  1. Esegui l'applicazione OpenSSL come amministratore per generare una chiave privata. È necessario fornire una passphrase durante la generazione della chiave privata.

    openssl non è incluso all'inizio di ogni riga poiché i comandi sono eseguiti con l'applicazione OpenSSL. Se i certificati e le chiavi vengono generati su un sistema Unix o sulla riga di comando Windows, potrebbe essere necessario includerli openssl prima di ogni riga.

    Copia
    genrsa -out server.key 1024
  2. Creare il certificato del server.

    Potrebbe essere necessario riavviare l'applicazione OpenSSL per creare correttamente il certificato del server.

    -subj è una scorciatoia per evitare di richiedere informazioni.

    -x509 produce un certificato autofirmato anziché una richiesta di certificato.

    Copia
    req -new -key server.key -days 3650 -out server.crt -x509 -subj "/CN=your.domain.com"
  3. Apri un prompt dei comandi o Esplora file e vai alla posizione in cui si trova il certificato del server.

  4. Copia il certificato del server appena creato per creare l'autorità di certificazione.

    Copia
    copy server.crt root.crt
  5. Aggiungere la riga mostrata di seguito a postgres.conf.

    Copia
    listen_addresses = '*' # what IP address(es) to listen on;
  6. Decommenta e modifica il codice seguente.

    Copia
    ssl = on
    ssl_ca_file = '\\LOCATION_OF_FILE\\root.crt'
    ssl_cert_file = '\\LOCATION_OF_FILE\\server.crt'
    ssl_key_file = '\\LOCATION_OF_FILE\\server.key'
    ssl_ciphers = 'HIGH:MEDIUM:+3DES:!aNULL' # allowed SSL ciphers
    ssl_prefer_server_ciphers = on
  7. In pg_hba.conf, aggiungere o modificare il codice riportato di seguito.

    Potrebbe essere necessario commentare le voci dell'host.

    hostssl applica SSL per DB_USERNAME.

    clientcert=1 impone l'autenticazione client (autenticazione bidirezionale).

    Copia
    hostssl   mstr_library   DB_USERNAME   CLIENT_IP/32   cert clientcert=1
  8. Salva le modifiche in entrambi i file.

  9. Scegliere Avvia > Servizi e riavviare PostgreSQL o MicroStrategy Repository.

Configurazione lato client

Dopo aver terminato la configurazione lato server di PostgreSQL, è possibile avviare la configurazione e l'impostazione lato client. Questo genera certificati e chiavi per il servizio di archiviazione.

È necessario creare due coppie di chiavi e certificati per mstr_library utente e il mstr_library_application utente.

  1. Creare la chiave privata e il certificato per mstr_library utente:

    Copia
    genrsa -out mstr_library.key 1024
    req -new -key mstr_library.key -out mstr_library.csr -subj "/CN=mstr_library"
    x509 -req -in mstr_library.csr -CA root.crt -CAkey server.key -out mstr_library.crt -CAcreateserial

    Se viene visualizzato un messaggio di errore, potrebbe essere necessario aggiungere un commento tsa_policy1 in openssl.cnf. Salva e riavvia openssl come amministratore.

    Copia
    # Policies used by the TSA examples.
    #tsa_policy1 = 1.2.3.4.1
    tsa_policy2 = 1.2.3.4.5.6
    tsa_policy3 = 1.2.3.4.5.7 
  2. Converti la chiave privata nel formato DER utilizzando il comando seguente.

    Il driver JDBC PostgreSQL utilizzato dal servizio di archiviazione richiede che il file di chiave sia in formato DER anziché in formato PEM.

    Copia
    pkcs8 -topk8 -inform PEM -outform DER -in mstr_library.key -out mstr_library.pk8 -nocrypt
  3. Come per i passaggi 1 e 2, creare la chiave privata e il certificato per mstr_library_application utente:

    Copia
    genrsa -out mstr_library_application.key 1024
    req -new -key mstr_library_application.key -out mstr_library_application.csr -subj "/CN=mstr_library_application"
    x509 -req -in mstr_library_application.csr -CA root.crt -CAkey server.key -out mstr_library_application.crt -CAcreateserial
    pkcs8 -topk8 -inform PEM -outform DER -in mstr_library_application.key -out mstr_library_application.pk8 -nocrypt
  4. Copiare i file creati nel server Library e aggiornarli configOverride.properties con il percorso assoluto del certificato e della chiave.

    Il configOverride.properties Il file è disponibile in:

    Windows: <DEPLOY_LOCATION>\webapps\MicroStrategyLibrary\WEB-INF\classes\config\ConfigOverride.properties

    Linux: <DEPLOY_LOCATION>/webapps/MicroStrategyLibrary/WEB-INF/classes/config/configOverride.properties

    Copia
    #postgresql database connection config
    datasource.url=jdbc:postgresql://YOUR_HOST:5432/mstr_library
    datasource.tlsEnabled=true
    datasource.sslMode=require
    datasource.sslRootCert=/LOCATION_OF_FILE/root.crt
    #for Windows: datasource.sslRootCert=Z:\LOCATION_OF_FILE\root.crt

    datasource.username=mstr_library_application
    datasource.password=<any string>
    datasource.sslCert=/LOCATION_OF_FILE/mstr_library_application.crt
    datasource.sslKey=/LOCATION_OF_FILE/mstr_library_application.pk8

    datasource.admin.username=mstr_library
    datasource.admin.password=<any string>
    datasource.admin.sslCert=/LOCATION_OF_FILE/mstr_library.crt
    datasource.admin.sslKey=/LOCATION_OF_FILE/mstr_library.pk8