Impostazione avanzata

Linee guida per la modifica del file di configurazione

Il file processmining.conf è un file di configurazione che contiene le proprietà necessarie affinché il programma IBM Process Mining per funzionare correttamente. Il file viene distribuito per funzionare senza alcuna modifica se si utilizzano i valori predefiniti. Tuttavia, quando modificate il file, assicuratevi di seguire queste linee guida:

  • È necessario modificare i valori necessari (ad esempio,LDAP hostname ). Non è necessario eliminare i valori che non stai utilizzando.

  • È necessario specificare tutti i valori, anche se sono vuoti. Altrimenti, IBM Process Mining non si avvia.

  • Se apporti accidentalmente una modifica, ciò potrebbe interrompere lo stile del formato YAML e impedirne il corretto funzionamento.

Esecuzione come servizio

Per eseguire l'applicazione come servizio, inserire i seguenti comandi come utente root:

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

È necessario modificare i file *.service per impostare le seguenti configurazioni:

  • L'utente RUNAS corretto

  • Il percorso PM_HOME corretto

Inizio del servizio e stop

Utilizzare i seguenti comandi per testare il servizio:

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
Importante: se si ha SE Linux attivo, è necessario eseguire ulteriori compiti identificati con SE Linux.

E-mail

Il servizio email viene utilizzato per inviare una mail di reimpostazione della password all'utente.

Per abilitare il servizio email, modificare la sezione email di <PM_HOME>/etc/processmining.conf come segue:

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
        }       
},

Utilizzo di SendGrid

Se invece di SMTP si preferisce adottare SendGrid come gestione posta sono richieste le seguenti configurazioni:

  • Specificare il campo email.from (obbligatorio).
  • Specificare sendgrid.sendgrid.apikey con la chiave API del prodotto (obbligatorio).
  • Definisci il tuo SengGrid host (facoltativo).
  • Sostituire il profilo smtp con sendgrid nella sezione del profilo come nell'esempio.
profiles: [
  ...
  ...
  "sendgrid",                           # smtp | sendgrid
  ...
  ...
]
Nota: è necessario memorizzare la password in un formato criptato prima di salvarla nel file. Consultare la sezione "Password Encryption" per ulteriori dettagli.

Crittografia dei dati a riposo

Nota: questa sezione è valida solo per i progetti IBM Process Mining Legacy.

File system

È possibile crittografare i file di dati (CSV) caricati su IBM Process Mining con AWS Key Management Service (KMS).

Per codificare i file di dati, è necessario modificare la sezione encryption in: <PM_HOME>/etc/processmining.conf come segue:

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"  
  }
},

Successivamente, modificare la sezione engine.defaults.project.encryptSourceData e impostare il valore su true.

Attenzione: Il KMS e il server AWS devono trovarsi nella stessa regione AWS.
Nota: la configurazione precedente deve essere fornita durante la prima impostazione. Se si abilita la crittografia CSV e alcuni progetti sono già creati, è necessario rifare il caricamento di quei file CSV.

Impostazioni di memoria della JVM

È necessario impostare le impostazioni della memoria heap Java in base alla RAM disponibile sul server.

Modificare le seguenti proprietà in <PM_HOME>/bin/environment.conf per impostare queste configurazioni:

  • "JVM_MAX_HEAP_ENGINE"

Il valore consigliato è 16 g su un server con 32 Gb di RAM disponibile.

Il valore consigliato è di 24 g su un server con più di 64 Gb RAM disponibili.

  • "JVM_MAX_DIRECT_MEMORY_ENGINE"

Il valore predefinito di 2g è solitamente adeguato per ottimizzare le prestazioni.

  • "JVM_MAX_HEAP"

Il valore predefinito di 2g è solitamente adeguato per ottimizzare le prestazioni.

  • "JVM_MAX_DIRECT_MEMORY"

Il valore predefinito di 1g è solitamente adeguato per ottimizzare le prestazioni.

Dopo aver modificato le impostazioni JVM, è necessario riavviare il server per rendere effettive le modifiche.

Impostazioni del sistema operativo

Quando si creano molti progetti che si prevede di utilizzare regolarmente, applicare le seguenti impostazioni al maggior numero possibile di file:

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

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

Abilitazione della sicurezza avanzata su Nginx

Per un ambiente di produzione, si consiglia di abilitare le configurazioni di sicurezza avanzate Nginx .

Mitigate attacco lento - post

Questa configurazione è utile per mitigare gli attacchi DDOS a postazione lenta.

A tale scopo, modificare il file /etc/nginx/conf.d/processmining.conf e decommentare le sezioni relative all'attacco DDOS slow-post mitigate.

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;
}

E

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

Impedire L'Iniezione Intestazione Host

Per questo modificare il file /etc/nginx/conf.d/processmining.conf e

  • Sostituire server_name _; con server_name <CURRENT PUBLIC HOSTNAME>;
    • Ovvero, server_name pm.mycompany.com;
  • Eliminare il commento dalla sezione Prevent Host Header Injection. Ciò consente l'accesso a una richiesta di file dedicato con un nome host non valido come destinazione.
    • Sezione di aggiornamento relativa ai certificati

Cookie sicuri

Per motivi di sicurezza, si consiglia di utilizzare cookie sicuri. Se l'opzione è attivata, l'applicazione web funziona solo con HTTPS e non sulla porta 8080 .

  1. Modificare la sezione profile in <PM_HOME>/etc/processmining.conf.
  2. Rimuovere il profilo di sviluppo .

Integrazione sicura con l'applicazione Web Task Mining

In un ambiente di produzione, si consiglia di impostare correttamente il nome host dell'applicazione Web Task Mining .

Modificare la sezione sso.redirect in <PM_HOME>/etc/processmining.conf nel modo seguente:

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

Generazione di una coppia di chiavi per la configurazione dell'applicazione del processo

Una coppia di chiavi contiene una chiave pubblica e una chiave privata che permettono ai servizi di Process App di comunicare con IBM Process Mining. È possibile generare la coppia di chiavi per Process App utilizzando lo script generateKeyPair.sh . Per ulteriori informazioni sull'uso dello script generateKeyPair.sh per generare la coppia di chiavi, vedere Creazione della chiave privata e della chiave pubblica per Process App. Tuttavia, se è necessario rimuovere le coppie di chiavi esistenti e sostituirle manualmente con una nuova coppia di chiavi, effettuare le seguenti operazioni:

  • Vai a /opt/processmining/etc

    cd /opt/processmining/etc
    
  • Eliminare i file di coppie di chiavi esistenti, acf-ext-publicKey.der, acf-core-privateKey.der e keypair-callsToAcf.pem

    rm -i acf-ext-publicKey.der
    rm -i acf-core-privateKey.der
    rm -i keypair-callsToAcf.pem
    
  • Generare una coppia di chiavi RSA in formato .pem

    openssl genrsa -out keypair-callsToAcf.pem 2048
    
  • Eseguire il seguente comando per esportare la chiave pubblica nel formato .der nella directory <PM_HOME>/etc dopo aver generato le coppie di chiavi:

    openssl rsa -in keypair-callsToAcf.pem -outform DER -pubout -out acf-ext-publicKey.der
    
  • Immettere il seguente comando per esportare la chiave privata nel formato .der nella directory {PM_HOME}/etc dopo aver generato le coppie di chiavi:

     openssl pkcs8 -topk8 -nocrypt -in keypair-callsToAcf.pem -outform DER -out acf-core-privateKey.der
    
Suggerimento: Se l'applicazione non è installata nella directory /opt/processmining , è necessario impostare la proprietà publicKeyPath nel file <PM_HOME> /etc/processmining.conf al seguente valore: filesystem.home: "<PM_HOME>/etc/acf-ext-publicKey.der"

Generazione delle chiavi di accesso JWT per l'applicazione del processo

È possibile generare le chiavi di firma JWT per stabilire e proteggere la comunicazione tra i servizi e le applicazioni di Process App. Per impostazione predefinita, nelle impostazioni di base è disponibile una chiave di accesso per IBM Process Mining è disponibile nelle impostazioni di base. Se si desidera generare nuovi codici JWT, utilizzare il seguente portale di generazione di chiavi: https://asecuritysite.com/encryption/keygen.

Per generare un signkey JWT nello strumento generatore di chiavi, effettuare le seguenti operazioni:

  • Nel campo Passphrase , immettere una passphrase a scelta.
  • Selezionare l'algoritmo di crittografia come illustrato di seguito per generare e crittografare la chiave di firma per IBM Process Mining :

Asecuritysite.com

  • Copiare le chiavi di accesso JWT generate nelle seguenti posizioni:
    • Prima chiave generata per IBM Process Mining :
    1. Copiare nel campo issuer.jwt.key.ProcessMiningService nel file <PM_HOME>/etc/accelerator-core.properties

    2. Copiare nel campo issuer.jwt.key.ProcessMiningService nella sezione dell'acceleratore nel file <PM_HOME>/etc/processmining.conf

Configurazione delle impostazioni per la generazione di bot RPA

È possibile utilizzare IBM Process Mining per generare i bot di RPA. A tal fine, è obbligatorio che l'ambiente Task Mining sia collegato all'ambiente Process Mining e che i fornitori attivi siano definiti nel file di configurazione.

Per collegare l'applicazione Task Mining all'applicazione Process Mining , è necessario aggiornare il file etc/processmining.conf con la configurazione seguente:

taskmining : {
url : "https://pm-qa-candidate-task-miner.fyre.ibm.com"
}
Nota: è necessario aggiornare il valore di URL con l'applicazione URL to Task Mining nel dispositivo.

È necessario indicare la serie consentita di fornitori attivi nel file etc/processmining.conf . Per definire i fornitori attivi per una installazione, aggiornare il file etc/processmining.conf con la configurazione seguente:

rpa : {
activeVendors : "IBM_RPA,UI_PATH"
}