Erweitertes Setup

Richtlinien zum Bearbeiten von Konfigurationsdateien

Die processmining.conf ist eine Konfigurationsdatei, die Eigenschaften enthält, die erforderlich sind, damit IBM Process Mining richtig funktioniert. Die Datei wird so verteilt, dass sie ohne jegliche Änderungen funktioniert, wenn die Standardwerte verwendet werden. Wenn Sie die Datei bearbeiten, sollten Sie jedoch die folgenden Richtlinien beachten:

  • Sie müssen die Werte ändern, die Sie benötigen (z. B.LDAP hostname ). Sie müssen die Werte, die Sie nicht verwenden, nicht löschen.

  • Sie müssen alle Werte angeben, auch wenn sie leer sind. Ansonsten, IBM Process Mining nicht gestartet werden.

  • Wenn Sie versehentlich eine Änderung vornehmen, kann dies dazu führen, dass der YAML-Formatstil beschädigt wird und nicht mehr ordnungsgemäß funktioniert.

als Service ausführen

Geben Sie die folgenden Befehle als Rootbenutzer ein, um die Anwendung als Service auszuführen:

cp <PM_HOME>/bin/pm*.service  /etc/systemd/system/
chmod 664 /etc/systemd/system/pmweb.service
chmod 664 /etc/systemd/system/pmengine.service
chmod 664 /etc/systemd/system/pmanalytics.service
chmod 664 /etc/systemd/system/pmaccelerators.service
chmod 664 /etc/systemd/system/pmmonitoring.service
chmod 664 /etc/systemd/system/pmmonet.service
chmod 664 /etc/systemd/system/pmbrm.service

systemctl daemon-reload
systemctl enable pmengine.service
systemctl enable pmweb.service
systemctl enable pmanalytics.service 
systemctl enable pmaccelerators.service 
systemctl enable pmmonitoring.service
systemctl enable pmmonet.service
systemctl enable pmbrm.service

Sie müssen die *.service -Dateien ändern, um die folgenden Konfigurationen festzulegen:

  • Der richtige RUNAS -Benutzer

  • Der richtige PM_HOME-Pfad

Service starten und stoppen

Verwenden Sie die folgenden Befehle, um den Service zu testen:

systemctl start pmmonet.service
systemctl start pmengine
systemctl start pmweb
systemctl start pmanalytics
systemctl start pmaccelerators
systemctl start pmmonitoring
systemctl start pmbrm
systemctl stop pmmonet.service
systemctl stop pmengine
systemctl stop pmweb
systemctl stop pmanalytics
systemctl stop pmaccelerators
systemctl stop pmmonitoring
systemctl stop pmbrm
Wichtig: Wenn Sie SE Linux aktiv ist, müssen Sie zusätzliche Aufgaben ausführen, die mit SE Linux.

E-Mail

Der E-Mail-Service wird zum Senden einer E-Mail zum Zurücksetzen des Kennworts an den Benutzer verwendet.

Bearbeiten Sie zum Aktivieren des E-Mail-Service den Abschnitt email von <PM_HOME>/etc/processmining.conf wie folgt:

email: {
  from: "sender@mycompany.com" #optional, if empty user field will be used
  user:"theaccount@mycompany.com",
  password:"2bTPnxKK6rsf3z6VNpcEqA==",
  smtp: {
          starttls: {
                  enable: true,
                  required: true
          },
    auth: true,
          host: "smtp.mycompany.com",
    port: "465",
    socketFactory: {
      port: "465" ,
      fallback: false
                }       
        },
  sendgrid : {
                apikey: ""
                #host: "" #optional, if empty default value is https://api.sendgrid.com/v3/mail/send
        }       
},

SendGrid verwenden

Wenn anstelle von SMTP die Übernahme von SendGrid bevorzugt wird, sind die folgenden Konfigurationen erforderlich:

  • Geben Sie das Feld email.from an (erforderlich).
  • Geben Sie sendgrid.sendgrid.apikey mit Ihrem Produkt-API-Schlüssel an (erforderlich).
  • Definieren Sie SengGrid host (optional).
  • Ersetzen Sie das Profil smtp wie im Beispiel durch sendgrid im Profilabschnitt.
profiles: [
  ...
  ...
  "sendgrid",                           # smtp | sendgrid
  ...
  ...
]
Hinweis: Sie müssen das Kennwort in einem verschlüsselten Format speichern, bevor Sie das Kennwort in der Datei speichern. Weitere Details finden Sie im Abschnitt "Kennwortverschlüsselung".

Verschlüsselung ruhender Daten

Hinweis: Dieser Abschnitt gilt nur für IBM Process Mining Legacy-Projekte.

Dateisystem

Sie können die Datendateien (CSV), die in die Datenbank hochgeladen wurden IBM Process Mining mit AWS Key Management Service (KMS).

Zum Verschlüsseln der Datendateien muss der Abschnitt encryption in <PM_HOME>/etc/processmining.conf wie folgt bearbeitet werden:

encryption: {
  aws: {
    enabled: true,
    # test
    region: "eu-west-1",
    accessKeyId: "<YOUR AWS ACCESS KEY>",
    secretKey: "<YOUR AWS SECRET KEY>",
    # arn of the key
    cmkId: "arn:aws:kms:eu-west-1:992429998518:key/30be1e99-e584-4de5-a2bd-8c9927990f73"  
  }
},

Bearbeiten Sie anschließend den Abschnitt engine.defaults.project.encryptSourceData und setzen Sie den Wert auf true.

Warnung: Das AWS KMS und der Server müssen sich in der gleichen Region befinden AWS.
Hinweis: Die vorherige Konfiguration muss bei der ersten Einrichtung angegeben werden. Wenn Sie die CSV-Verschlüsselung aktivieren und einige Projekte bereits erstellt wurden, müssen Sie den Upload dieser CSV-Dateien wiederholen.

JVM-Speichereinstellungen

Sie müssen die Einstellungen für den Java-Heapspeicher entsprechend dem RAM festlegen, der auf dem Server verfügbar ist.

Bearbeiten Sie die folgenden Eigenschaften in <PM_HOME>/bin/environment.conf , um diese Konfigurationen festzulegen:

  • "JVM_MAX_HEAP_ENGINE"

Der empfohlene Wert ist 16 g auf einem Server mit 32 Gb RAM.

Der empfohlene Wert ist 24 g auf einem Server mit mehr als 64 GB RAM.

  • "JVM_MAX_DIRECT_MEMORY_ENGINE"

Der Standardwert 2g ist normalerweise ausreichend, um die Leistung zu optimieren.

  • "JVM_MAX_HEAP"

Der Standardwert 2g ist normalerweise ausreichend, um die Leistung zu optimieren.

  • "JVM_MAX_DIRECT_MEMORY"

Der Standardwert 1g ist normalerweise ausreichend, um die Leistung zu optimieren.

Nach dem Ändern der JVM-Einstellungen müssen Sie den Server erneut starten, damit die Änderung wirksam wird.

Einstellungen des Betriebssystems

Wenn Sie viele Projekte erstellen, die Sie regelmäßig verwenden möchten, sollten Sie die folgenden Einstellungen auf so viele Dateien wie möglich anwenden:

/etc/sysctl.conf
fs.file-max = 2097152
sudo sysctl -p

sudo vi /etc/security/limits.conf
* soft nofile 500000
ulimit -Sn

Erweiterte Sicherheit unter Nginx aktivieren

Für eine Produktionsumgebung wird empfohlen, Nginx erweiterte Sicherheitskonfigurationen zu aktivieren.

Langsame Attacken nach der Attacke mindern

Diese Konfiguration ist nützlich, um langsame DDOS-Post-Attacken zu mindern.

Bearbeiten Sie dazu die Datei /etc/nginx/conf.d/processmining.conf und entfernen Sie die Kommentare zu den Abschnitten, die sich auf den DDOS-Angriff "slow-post mitigate" beziehen.

client_body_timeout 5s;
client_header_timeout 5s;

location /signin 
{
        limit_req zone=one;
        limit_conn addr 10;
        proxy_pass              http://localhost:8080;
  proxy_set_header        X-Real-IP $remote_addr;
  proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
  proxy_set_header        Host $http_host;
}

Und

limit_req_zone $binary_remote_addr zone=one:10m rate=30r/m;
limit_conn_zone $binary_remote_addr zone=addr:10m;

Injektion von Host-Headern verhindern

Bearbeiten Sie dazu die Datei /etc/nginx/conf.d/processmining.conf und

  • Ersetzen Sie server_name _; durch server_name <CURRENT PUBLIC HOSTNAME>.
    • Das heißt, server_name pm.mycompany.com;
  • Entfernen Sie die Kommentarzeichen für den Abschnitt Prevent Host Header Injection. Dies ermöglicht die Anmeldung bei einer dedizierten Dateianforderung mit einem ungültigen Hostnamen als Ziel.
    • Abschnitt aktualisieren, der sich auf Zertifikate bezieht

Sichere Cookies

Aus Sicherheitsgründen wird die Verwendung sicherer Cookies empfohlen. Wenn die Option aktiviert ist, funktioniert die Webanwendung nur mit HTTPS und nicht über den Port 8080 .

  1. Bearbeiten Sie den Abschnitt Profil in <PM_HOME>/etc/processmining.conf.
  2. Entfernen Sie das Profil development .

Sichere Integration mit Task Mining -Webanwendung

In einer Produktionsumgebung wird empfohlen, den Hostnamen der Webanwendung Task Mining ordnungsgemäß festzulegen.

Bearbeiten Sie den Abschnitt sso.redirect in <PM_HOME>/etc/processmining.conf wie folgt:

sso: {
  redirect: {
        # This must be filled, for security reason, in production environment with the taskmining hostname. I.e. tm.mycompany.com
    allow: ""
  },

Schlüsselpaar für die Konfiguration der Prozessanwendung generieren

Ein Schlüsselpaar enthält einen öffentlichen Schlüssel und einen privaten Schlüssel, die es den Process App-Diensten ermöglichen, mit IBM Process Mining. Sie können das Schlüsselpaar für Process App mit dem Skript generateKeyPair.sh erzeugen. Weitere Informationen über die Verwendung des Skripts generateKeyPair.sh zur Erzeugung eines Schlüsselpaars finden Sie unter Erstellen des privaten und öffentlichen Schlüssels für Process App. Wenn Sie jedoch die vorhandenen Schlüsselpaare entfernen und manuell durch ein neues Schlüsselpaar ersetzen müssen, führen Sie die folgenden Schritte aus:

  • Rufen Sie Folgendes auf /opt/processmining/etc

    cd /opt/processmining/etc
    
  • Löschen Sie die vorhandenen Schlüsselpaardateien acf-ext-publicKey.der, acf-core-privateKey.der und keypair-callsToAcf.pem .

    rm -i acf-ext-publicKey.der
    rm -i acf-core-privateKey.der
    rm -i keypair-callsToAcf.pem
    
  • Generieren Sie ein RSA-Schlüsselpaar im Format .pem .

    openssl genrsa -out keypair-callsToAcf.pem 2048
    
  • Führen Sie den folgenden Befehl aus, um den öffentlichen Schlüssel im Format .der in das Verzeichnis <PM_HOME>/etc zu exportieren, nachdem die Schlüsselpaare generiert wurden:

    openssl rsa -in keypair-callsToAcf.pem -outform DER -pubout -out acf-ext-publicKey.der
    
  • Führen Sie den folgenden Befehl aus, um den privaten Schlüssel im Format .der in das Verzeichnis {PM_HOME}/etc zu exportieren, nachdem die Schlüsselpaare generiert wurden:

     openssl pkcs8 -topk8 -nocrypt -in keypair-callsToAcf.pem -outform DER -out acf-core-privateKey.der
    
Tipp: Wenn die Anwendung nicht im Verzeichnis /opt/processmining installiert ist, müssen Sie die Eigenschaft publicKeyPath in der Datei <PM_HOME> /etc/processmining.conf datei auf den folgenden Wert setzen: filesystem.home: "<PM_HOME>/etc/acf-ext-publicKey.der"

JWT-Signkeys für Prozessanwendung generieren

Sie können JWT-Signaturschlüssel generieren, um die Kommunikation zwischen den Prozessanwendungsservices und Anwendungen einzurichten und zu sichern. Standardmäßig ist ein Signkey für IBM Process Mining in den Grundeinstellungen verfügbar. Wenn Sie neue JWT-Schlüssel generieren möchten, verwenden Sie das folgende Schlüsselgenerator-Portal: https://asecuritysite.com/encryption/keygen.

Führen Sie die folgenden Schritte aus, um einen JWT-Signkey im Schlüsselgeneratortool zu generieren:

  • Geben Sie im Feld Kennphrase eine Kennphrase Ihrer Wahl ein.
  • Wählen Sie den Verschlüsselungsalgorithmus wie unten dargestellt aus, um den Signaturschlüssel zu erzeugen und zu verschlüsseln für IBM Process Mining :

Asecuritysite.com

  • Kopieren Sie die generierten JWT-Signaturschlüssel an die folgenden Positionen:
    • Erster generierter Schlüssel für IBM Process Mining :
    1. In das Feld issuer.jwt.key.ProcessMiningService in der Datei <PM_HOME>/etc/accelerator-core.properties kopieren

    2. Kopieren Sie das Feld issuer.jwt.key.ProcessMiningService im Akzeleratorabschnitt in der Datei <PM_HOME>/etc/processmining.conf .

Einstellungen für die RPA -Bot-Generierung konfigurieren

Sie können mit IBM Process Mining um RPA Bots zu erzeugen. Dazu ist es erforderlich, dass die Umgebung Task Mining mit der Umgebung Process Mining verknüpft ist und dass die aktiven Anbieter in der Konfigurationsdatei definiert sind.

Um die Anwendung Task Mining mit der Anwendung Process Mining zu verknüpfen, muss die Datei etc/processmining.conf mit der folgenden Konfiguration aktualisiert werden:

taskmining : {
url : "https://pm-qa-candidate-task-miner.fyre.ibm.com"
}
Hinweis: Sie müssen den Wert für URL mit der Anwendung URL auf Task Mining in Ihrem Gerät aktualisieren.

Sie müssen die zulässige Gruppe aktiver Anbieter in der Datei etc/processmining.conf angeben. Um die aktiven Anbieter für eine Installation zu definieren, aktualisieren Sie die Datei etc/processmining.conf mit der folgenden Konfiguration:

rpa : {
activeVendors : "IBM_RPA,UI_PATH"
}