MicroStrategy ONE
Konfigurieren von SSL für PostgreSQL und den Speicherdienst
Die Kommunikation zwischen dem Microstrategy Storage-Dienst und einer PostgreSQL-Datenbank kann so konfiguriert werden, dass SSL zur Verschlüsselung und Authentifizierung verwendet wird. Siehe die PostgreSQL-Dokumentation für weitere Informationen.
Serverseitige Konfiguration von PostgreSQL
Sie müssen OpenSSL Version 1.1.0 oder höher installiert haben.
Wenn Sie PostgreSQL bereits serverseitig für Platform Analytics oder Collaboration Service konfiguriert haben, fahren Sie mit fort Clientseitiges Setup unter Verwendung einer generierten server.key
und root.crt
-
Führen Sie die OpenSSL-Anwendung als Administrator aus, um einen privaten Schlüssel zu generieren. Sie müssen beim Generieren des privaten Schlüssels eine Passphrase angeben.
openssl
ist nicht am Anfang jeder Zeile enthalten, da die Befehle mit der OpenSSL-Anwendung ausgeführt werden. Wenn die Zertifikate und Schlüssel auf einem Unix-System oder in der Windows-Befehlszeile generiert werden, müssen Sie sie möglicherweise einschließenopenssl
vor jeder Zeile.Kopierengenrsa -out server.key 1024
-
Erstellen Sie das Serverzertifikat.
Um das Serverzertifikat erfolgreich zu erstellen, muss die OpenSSL-Anwendung möglicherweise neu gestartet werden.
-subj
ist eine Verknüpfung, um die Eingabeaufforderung zur Eingabe von Informationen zu vermeiden.-x509
erstellt ein selbstsigniertes Zertifikat und keine Zertifikatsanforderung.Kopierenreq -new -key server.key -days 3650 -out server.crt -x509 -subj "/CN=your.domain.com"
-
Öffnen Sie eine Eingabeaufforderung oder den Datei-Explorer und navigieren Sie zum Speicherort des Serverzertifikats.
-
Kopieren Sie das neu erstellte Serverzertifikat, um die Zertifizierungsstelle zu erstellen.
Kopierencopy server.crt root.crt
-
Fügen Sie die unten gezeigte Zeile zu hinzu
postgres.conf
.Kopierenlisten_addresses = '*' # what IP address(es) to listen on;
-
Entfernen Sie die Kommentarzeichen und ändern Sie den untenstehenden Code.
Kopierenssl = 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 -
In
pg_hba.conf
, fügen Sie den folgenden Code hinzu oder ändern Sie ihn.Möglicherweise müssen Sie Hosteinträge auskommentieren.
hostssl
erzwingt SSL für DB_USERNAME.clientcert=1
erzwingt die Client-Authentifizierung (bidirektionale Authentifizierung).Kopierenhostssl mstr_library DB_USERNAME CLIENT_IP/32 cert clientcert=1
-
Speichern Sie Ihre Änderungen in beiden Dateien.
-
Wählen Sie aus Start > Dienste und starten Sie PostgreSQL oder MicroStrategy Repository neu.
Clientseitiges Setup
Nachdem Sie die serverseitige PostgreSQL-Konfiguration abgeschlossen haben, können Sie mit der clientseitigen Konfiguration und Einrichtung beginnen. Dadurch werden Zertifikate und Schlüssel für den Speicherdienst generiert.
Sie müssen zwei Paare von Schlüsseln und Zertifikaten für erstellen mstr_library
Benutzer und die mstr_library_application
Benutzer.
-
Erstellen Sie den privaten Schlüssel und das Zertifikat für
mstr_library
Benutzer:Kopierengenrsa -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 -CAcreateserialWenn Sie eine Fehlermeldung erhalten, müssen Sie diese gegebenenfalls auskommentieren
tsa_policy1
inopenssl.cnf
. Speichern Sie 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 -
Konvertieren Sie den privaten Schlüssel mit dem folgenden Befehl in das DER-Format.
Der vom Speicherdienst verwendete JDBC-PostgreSQL-Treiber erfordert, dass die Schlüsseldatei im DER-Format und nicht im PEM-Format vorliegt.
Kopierenpkcs8 -topk8 -inform PEM -outform DER -in mstr_library.key -out mstr_library.pk8 -nocrypt
-
Erstellen Sie ähnlich wie in den Schritten 1 und 2 den privaten Schlüssel und das Zertifikat für für
mstr_library_application
Benutzer:Kopierengenrsa -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 -
Kopieren Sie die Dateien, die auf dem Library-Server erstellt und aktualisiert wurden
configOverride.properties
mit dem absoluten Pfad zum Zertifikat und Schlüssel.Die
configOverride.properties
-Datei finden Sie 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