MicroStrategy ONE

Konfigurieren Sie SSL für PostgreSQL und den Storage Service

Die Kommunikation zwischen dem MicroStrategy Storage Service und einer PostgreSQL-Datenbank kann zur Verwendung von SSL zur Verschlüsselung und Authentifizierung konfiguriert werden. Siehe die PostgreSQL-Dokumentation für weitere Informationen.

Servermäßige PostgreSQL-Konfiguration

OpenSLS Version 1.1.0 oder höher muss installiert sein.

Wenn Sie PostgreSQL bereits serverseitig für Platform Analytics oder Collaboration Service konfiguriert haben, fahren Sie mit fort Client-Seiten-Setup unter Verwendung eines generierten server.key und root.crt

  1. Führen Sie die OpenSLS-Anwendung als Administrator aus, um einen privaten Schlüssel zu generieren. Beim Generieren des privaten Schlüssels müssen Sie eine Passphrase angeben.

    openssl steht nicht am Anfang jeder Zeile, da die Befehle mit der OpenSLS-Anwendung ausgeführt werden. Wenn die Zertifikate und Schlüssel auf einem Unix-System oder einer Windows-Befehlszeile generiert werden, müssen Sie möglicherweise „“ einschließen openssl vor jeder Zeile.

    Kopieren
    genrsa -out server.key 1024
  2. Erstellen Sie das Serverzertifikat.

    Die OpenSLS-Anwendung muss möglicherweise neu gestartet werden, um das Serverzertifikat erfolgreich zu erstellen.

    -subj ist eine Verknüpfung, um Eingabeaufforderungen zur Eingabe von Informationen zu vermeiden.

    -x509 erstellt ein selbstsigniertes Zertifikat statt einer Zertifikatsanforderung.

    Kopieren
    req -new -key server.key -days 3650 -out server.crt -x509 -subj "/CN=your.domain.com"
  3. Öffnen Sie eine Eingabeaufforderung oder den Datei-Explorer und navigieren Sie zum Serverzertifikat.

  4. Kopieren Sie das neu erstellte Serverzertifikat, um die Zertifizierungsstelle zu erstellen.

    Kopieren
    copy server.crt root.crt
  5. Fügen Sie die unten gezeigte Zeile zu hinzu postgres.conf.

    Kopieren
    listen_addresses = '*' # what IP address(es) to listen on;
  6. Entfernen Sie den Kommentar und ändern Sie den Code unten.

    Kopieren
    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, fügen Sie den Code unten hinzu oder ändern Sie ihn.

    Möglicherweise müssen Sie Host-Einträge auskommentieren.

    hostssl erzwingt SSL für DB_USERNAME.

    clientcert=1 erzwingt die Client-Authentifizierung (bidirektuelle Authentifizierung).

    Kopieren
    hostssl   mstr_library   DB_USERNAME   CLIENT_IP/32   cert clientcert=1
  8. Speichern Sie Ihre Änderungen in beiden Dateien.

  9. Auswählen Starten > Dienste and restart PostgreSQL or MicroStrategy Repository.

Client-Seiten-Setup

Nach Abschluss der serverseitigen PostgreSQL-Konfiguration können Sie mit der clientseitigen Konfiguration und Einrichtung beginnen. Dadurch werden Zertifikate und Schlüssel für den Storage Service generiert.

Sie müssen zwei Paar Schlüssel und Zertifikate für erstellen mstr_library Benutzer und der mstr_library_application Benutzer.

  1. Erstellen Sie den privaten Schlüssel und das Zertifikat für mstr_library Benutzer:

    Kopieren
    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

    Wenn Sie eine Fehlermeldung erhalten, müssen Sie diese möglicherweise auskommentieren tsa_policy1 in openssl.cnf. Speichern und starten Sie openssl als Administrator neu.

    Kopieren
    # 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. Konvertieren Sie den privaten Schlüssel mit dem folgenden Befehl in das DER-Format.

    Der vom Storage Service verwendete JDBC-PostgreSQL-Treiber erfordert, dass die Schlüsseldatei im DER-Format statt im PEM-Format vorliegen.

    Kopieren
    pkcs8 -topk8 -inform PEM -outform DER -in mstr_library.key -out mstr_library.pk8 -nocrypt
  3. Erstellen Sie ähnlich wie in den Schritten 1 und 2 den privaten Schlüssel und das Zertifikat für mstr_library_application Benutzer:

    Kopieren
    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. Kopieren Sie die Dateien, die auf dem Library Server erstellt wurden, und aktualisieren Sie sie configOverride.properties mit dem absoluten Pfad zum Zertifikat und zum Schlüssel.

    Der/die/das configOverride.properties Datei befindet sich in:

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

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

    Kopieren
    #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