Fasi di installazione

Questa guida descrive l'installazione dei pacchetti RPM tramite yum.

Questa guida all'installazione è pensata per l'installazione di SKOOR su un sistema nuovo. Per aggiornare un sistema SKOOR esistente, si prega di utilizzare la guida all'aggiornamento disponibile qui.

Prerequisiti

Disattivare SELinux

Prima di installare SKOOR Engine, è necessario disabilitare SELinux. Visualizza lo stato di SELinux:

sestatus

Verificare se la modalità è impostata su enforcing:

SELinux status:                 enabled
...
Current mode:                   enforcing

In tal caso, impostare almeno la modalità permissiva o disabilitare SELinux modificando la configurazione:

vi /etc/selinux/config

Modificare la configurazione su permissive o disabilitarla:

SELINUX=disabled

Attivare la configurazione e verificare con sestatus:

setenforce 0 

Consentire l'uso di cron agli utenti

Se cron è limitato, agli utenti richiesti dal software SKOOR deve essere consentito l'accesso a cron aggiungendoli al seguente file:

/etc/cron.allow

Utenti:

postgres
eranger
reranger

Impronte GPG del repository SKOOR:

RPM-GPG-KEY-SKOOR:

0C18 95B8 11D4 71E5 D043 EFA3 69E1 147C 2CB4 0F3A

RPM-GPG-KEY-PGDG:

D4BF 08AE 67A0 B4C7 A1DB CCD2 40BC A2B4 08B4 0D20

RPM-GPG-KEY-TIMESCALEDB:

1005 fb68 604c e9b8 f687 9cf7 59f1 8edf 47f2 4417

Installazione dell'SKOOR Engine (server singolo)

Per i sistemi con replica del database, è necessario installare due server separati come descritto in questa sezione. Per ulteriori passaggi di configurazione, consultare la Guida alla replica del database

Installazione di PostgreSQL

PostgreSQL 17 è il server di database richiesto dall'SKOOR Engine. Deve essere installato prima del software SKOOR:

Installare il server PostgreSQL utilizzando il pacchetto di installazione SKOOR PostgreSQL:

dnf install eranger-postgresql

Questo pacchetto esegue i seguenti passaggi:

  • Installa postgresql17-server, timescaledb-2-postgresql-17, eranger-database-utils tramite le relative dipendenze.

  •  Inizializza un cluster di database utilizzando initdb

  • Ottimizza postgresql.conf per TimescaleDB

  • Inizializza un database (database semplice, senza schema né dati) che può essere utilizzato dal SKOOR Server

  • Apre la porta TCP 5432 sul firewall

Installazione di PgBouncer

PgBouncer viene utilizzato come pool di connessioni e si trova tra SKOOR Server e il server PostgreSQL.

Installare PgBouncer utilizzando il pacchetto di installazione SKOOR PgBouncer:

dnf install eranger-pgbouncer

Questo pacchetto esegue i seguenti passaggi:

  • Installa pgbouncere le relative dipendenze.

  • Riconfigura PostgreSQL (postgresql.conf)

    • listen_addresses = 'localhost' ascolta solo le connessioni locali

    • unix_socket_directories = '/var/run/postgresql-backend' non utilizzare il socket UNIX predefinito di PostgreSQL

    • max_connections = 300 consentire 300 connessioni

  • Configurare PgPool

    • listen_addr = *

    • listen_port = 5432

    • unix_socket_dir = /var/run/postgresql

    • max_client_conn = 300

    • default_pool_size = 60

Installazione standard del server

Per i clienti che necessitano solo del set base di software (ovvero la maggior parte dei clienti), eseguire il seguente comando per installare i pacchetti richiesti:

dnf install eranger-server

Verifica i pacchetti SKOOR Engine installati:

dnf list installed |grep eranger

Risultato previsto:

eranger-agent.x86_64                      <version>
eranger-auth.x86_64                       <version>
eranger-collector.x86_64                  <version>
eranger-collector-eem.x86_64              <version>
eranger-collector-mail.x86_64             <version>
eranger-common.x86_64                     <version>
eranger-database-utils.x86_64             <version>
eranger-doc.x86_64                        <version>
eranger-nodejs.x86_64                     <version>
eranger-postgresql.x86_64                 <version>
eranger-pymodules.x86_64                  <version>
eranger-report.x86_64                     <version>
eranger-server.x86_64                     <version>
eranger-syncfs.x86_64                     <version>
eranger-ui.x86_64                         <version>

SKOOR < 8.1 installa Google Chrome come dipendenza. Google Chrome installa un repository YUM per aggiornarsi alle versioni più recenti. Tuttavia, poiché SKOOR richiede una versione molto specifica, è necessario disabilitare questo repository appena creato. SKOOR >= 8.1 non richiede più Google Chrome e quindi il repository non viene installato.

sed -i 's/enabled=1/enabled=0/g' /etc/yum.repos.d/google-chrome.repo

Installazione di SKOOR Engine Collector

A partire dalla versione 5.5 sono disponibili due opzioni per un collector esterno: installazione completa e installazione di base. L'installazione di base offre un set di funzionalità limitato e meno dipendenze e può essere successivamente estesa a un'installazione completa con pacchetti aggiuntivi.

Installazione completa di SKOOR Engine Collector:

Per installare un SKOOR Engine Collector esterno, utilizzare il seguente comando per l'installazione completa:

dnf install eranger-collector eranger-collector-eem eranger-collector-mail

Installazione di base di SKOOR Engine Collector:

Per installare un SKOOR Engine Collector esterno di base, utilizzare il seguente comando:

dnf install eranger-collector

Pacchetti aggiuntivi per il SKOOR Engine Collector minimale:

Per abilitare i lavori EEM sul collector esterno, è possibile installare il plugin con il seguente comando:

dnf install eranger-collector-eem

Per abilitare i Mail Job (EWS, IMAP, POP3 o SMTP) sul collector esterno è possibile installare il plugin con il seguente comando:

dnf install eranger-collector-mail

Comunicazione con SKOOR Engine

Dopo aver installato un nuovo collector esterno, è necessario configurare la comunicazione con SKOOR Engine. La sezione seguente illustra diverse possibilità per farlo.

Informazioni generali

Per SKOOR Engine, un collettore è un tipo speciale di utente. Pertanto, ogni collettore esterno deve essere configurato nell'interfaccia utente. Creare un utente autenticato localmente con il ruolo Collector in /root /Users /Users e impostare una password.

L'ulteriore configurazione viene effettuata nel file di configurazione dei collettori sul server del collettore: 

/etc/opt/eranger/eranger-collector.cfg

Innanzitutto, è necessario identificare il server_id di SKOOR Engine. Sull'host di SKOOR Engine, aprire il file eranger-server.cfg:

/etc/opt/eranger/eranger-server.cfg

Trovare il parametro server_id nella configurazione (se commentato come nell'esempio seguente, l'id è 1):

#server_id      = 1

Se un collector esterno invia misurazioni a più di un SKOOR Engine, il parametro server_id deve essere diverso su ogni SKOOR Engine.

TCP

Questo è il modo standard in cui i collettori comunicano con lo SKOOR Engine. La comunicazione non è crittografata.

I seguenti parametri devono essere configurati nel file eranger-collector.cfg:

  • Imposta il parametro server1_id sul valore configurato sul server SKOOR Engine come server_id (il valore predefinito è 1)

  • Impostare il parametro server1_address sul nome host o sull'indirizzo IP dello SKOOR Engine (i socket Unix sono utilizzati solo per i collettori locali)

  • Impostare server1_user e server1_passwd come configurato nello SKOOR Engine

server1_id            = 1
server1_address        = 10.10.10.10
#server1_port           = 50001
#server1_domain         =
server1_user           = collector-user
server1_passwd         = collector-password
#server<server_id>_fetch_parse_dir (server_id instead of index)!
#server1_fetch_parse_dir= /var/opt/run/eranger/collector/tmp

HTTP/HTTPS

Si sconsiglia la comunicazione tramite HTTP senza crittografia. Se necessario per qualche motivo, il server httpd su SKOOR Engine deve essere configurato in modo da consentire questo tipo di comunicazione.

I collettori che utilizzano HTTP(S) per la comunicazione non possono essere commutati automaticamente quando si esegue un failover in una configurazione primaria/di standby

La sezione seguente descrive come configurare la comunicazione crittografata utilizzando HTTPS. Per la crittografia, il certificato CA radice utilizzato dal server SKOOR Engine deve essere copiato sul sistema del collettore. È possibile utilizzare i percorsi standard di Linux per inserirlo nel filesystem.

Configurare i parametri richiesti in eranger-collector.cfg:

  • Impostare il parametro server1_id sul valore configurato sul server SKOOR Engine come server_id (il valore predefinito è 1)

  • Impostare il parametro server1_address sul nome host o sull'indirizzo IP di SKOOR Engine sotto forma di URL come mostrato di seguito

  • Assicurarsi che il parametro server1_port sia commentato, altrimenti la comunicazione verrà interrotta

  • Impostare server1_user e server1_passwd come configurato in SKOOR Engine

  • Configurare server1_ssl_cacert o server1_ssl_capath indicando la posizione in cui è stato copiato il certificato in precedenza

server1_id            = 1
server1_address        = https://10.10.10.10/skoor-collector
#server1_port           = 50001
#server1_domain         =
server1_user           = collector-user
server1_passwd         = collector-password
#server<server_id>_fetch_parse_dir (server_id instead of index)!
#server1_fetch_parse_dir= /var/opt/run/eranger/collector/tmp
server1_ssl_cacert     = /etc/pki/tls/certs/rootCA.pem

HTTPS con autenticazione client

L'autenticazione client deve essere abilitata prima su SKOOR Engine. A tal fine, aprire il file di configurazione del server web corrispondente:

/etc/httpd/conf.d/skoor-engine-over-http.conf

Rimuovi il commento dalla direttiva SSLVerifyClient:

<Location "/skoor-collector">
        ExpiresActive On
        ExpiresDefault "now"
        ProxyPass http://localhost:50080 retry=0 connectiontimeout=15 timeout=30
    SSLVerifyClient require
</Location>

Ricaricare httpd:

systemctl reload httpd

Nome

Descrizione

server1_ssl_cacert

Percorso completo del certificato CA radice; il collector utilizzerà questo file specifico

server1_ssl_capath

Percorso di una directory contenente il certificato CA radice; il collector cercherà il certificato corretto

server1_ssl_verify_peer

Se impostato su true (impostazione predefinita), il certificato del server SKOOR Engine viene verificato

server1_ssl_verify_host

Se impostato su true (impostazione predefinita), viene verificato il nome host del server SKOOR Engine

server1_ssl_cert_client_public_key

La chiave pubblica utilizzata per l'autenticazione del client (certificato del collettore)

server1_ssl_cert_client_private_key

La chiave privata utilizzata per l'autenticazione del client (chiave privata del collector)

server1_ssl_cert_client_private_key_passwd

Password per leggere la chiave privata del collettore, se impostata

Licenza SKOOR Engine

Ottenere una licenza valida da SKOOR e aggiungere le righe necessarie al file:

/etc/opt/eranger/eranger-server.cfg

Esempio con una licenza per 1000 dispositivi:

license_name   = Example customer
license_feature_set = 3.1
license_devices= 1000
license_key    = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

xxxx… rappresenta la chiave di licenza effettiva. Assicurarsi che la chiave effettiva sia inserita in una singola riga senza caratteri di nuova riga in mezzo.

Configurazione di SKOOR Engine

Espandi la variabile PATH per root:

~/.bashrc

Aggiungere:

PATH=$PATH:/opt/eranger/bin

Quindi applicare le modifiche ed eseguire eRanger.sh start per avviare i servizi di SKOOR Engine:

. ~/.bashrc
eRanger.sh start

===========================================================================
 Choose command                                 eRanger Version 5.0.0

 Command - Action       - Object                - Current State
===========================================================================

 1       - start        - eRanger Server        - started
 2       - start        - eRanger Collector     - started
 3       - start        - eRanger Report        - started
 4       - start        - eRanger Agent         - started
 a       - start        - all above
 9       - start        - eRanger Webservice    - started
 11      - start        - PostgreSQL            - started
 12      - start        - Rsyslog               - started
 13      - start        - Trapd                 - stopped
 14      - start        - Httpd                 - started
 15      - start        - Smsd                  - stopped
 16      - start        - Postfix               - started

 r       - Switch to restart mode
 S       - Switch to stop mode
 c       - Current eRanger status
 0       - do_exit program

Enter selection:

Il servizio Web, IC Alerter ed Ethd sono elencati solo se il pacchetto corrispondente è installato.

Inserisci a per avviare tutti i servizi richiesti. Quindi esci con 0.

Accesso a SKOOR Engine

Ora dovresti essere in grado di accedere a SKOOR Engine utilizzando un browser web e inserendo il FQDN o l'indirizzo IP di SKOOR Engine nella barra degli indirizzi:

Le credenziali di accesso predefinite sono:

Nome utente

admin

Password

admin

Installazione del certificato SSL

A seguito di un'installazione predefinita, il browser segnalerà la presenza di certificati di sicurezza SSL non attendibili. È possibile accettare il certificato autofirmato predefinito oppure generare e installare un certificato SSL personalizzato.

Per impostazione predefinita, i certificati si trovano in:

/etc/pki/tls/certs/

Il file di configurazione

/etc/httpd/conf.d/ssl.conf

deve essere modificato in modo da puntare ai certificati corretti. Una voce di esempio ha questo aspetto:

SSLCertificateFile /etc/pki/tls/certs/wildcard_mycompany.ch.crt
SSLCertificateKeyFile /etc/pki/tls/private/private-key_mycompany.ch.key 

Riavviare il server web Apache con il comando:

systemctl restart httpd

Disabilitare la riscrittura https

Quando si richiama http://skoor.company.com, il server web riscriverà l'indirizzo per utilizzare https invece di http. Se si desidera utilizzare solo http, disabilitare la regola di riscrittura nel file di configurazione:

/etc/httpd/conf.d/eranger.conf


Commentare le tre righe seguenti (inserendo un cancelletto all'inizio):

# RewriteEngine On
# RewriteCond %{HTTPS} !=on
# RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]

Riavvia il server web Apache con il comando:

systemctl restart httpd

Ottimizzazione di SKOOR su ambienti virtuali

Se SKOOR Engine o SKOOR Collector vengono eseguiti all'interno di una macchina virtuale, lo scheduler IO deve essere adattato per motivi di prestazioni. Per impostazione predefinita, Red Hat < 7 viene installato con lo scheduler IO cfq. Lo scheduler IO consigliato per i sistemi Red Hat in esecuzione su una macchina virtuale è lo scheduler noop su Red Hat 7 e lo scheduler none su Red Hat 8 / 9.

Per i sistemi Red Hat 7

Eseguire i seguenti comandi per abilitare lo scheduler noop per un sistema in esecuzione per il dispositivo a blocchi sda, che di solito corrisponde al primo disco:

# echo noop > /sys/block/sda/queue/scheduler
# cat /sys/block/sda/queue/scheduler
[noop] anticipatory deadline cfq

Lo scheduler noop è ora contrassegnato come scheduler corrente. Eseguire questo comando per ciascuno dei dischi virtuali configurati per il sistema (sostituire sda con il nome del disco virtuale).
Tuttavia, l'impostazione di cui sopra non persisterà dopo i riavvii. Utilizzare la seguente guida per abilitare lo scheduler noop in modo persistente.

Imposta noop globalmente per tutti i dispositivi modificando the file /etc/default/grub come mostrato di seguito e quindi ricompilando il file di configurazione grub2:

# vi /etc/default/grub
...
GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=rhel00/root rd.lvm.lv=rhel00/swap"                            (before)
GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=rhel00/root rd.lvm.lv=rhel00/swap elevator=noop"              (after)
...

# grub2-mkconfig -o /boot/grub2/grub.cfg                                                                     (on BIOS-based machines)
# grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg                                                            (on UEFI-based machines)

Per i sistemi Red Hat 8 / 9

Esegui i seguenti comandi per abilitare lo scheduler noop per un sistema in esecuzione per il dispositivo a blocchi sda, che di solito corrisponde al primo disco:

# echo none > /sys/block/sda/queue/scheduler
# cat /sys/block/sda/queue/scheduler
[none] mq-deadline kyber bfq

Lo scheduler none è ora contrassegnato come scheduler corrente. Esegui questo comando per ciascuno dei dischi virtuali configurati per il sistema (sostituisci sda con il nome del disco virtuale).
Tuttavia, l'impostazione sopra indicata non persisterà dopo il riavvio. Utilizza la seguente guida per abilitare lo scheduler none in modo permanente.

Imposta none globalmente per tutti i dispositivi modificando the file /etc/default/grub come mostrato di seguito e quindi ricompilando il file di configurazione di grub2:

# vi /etc/default/grub
...
GRUB_CMDLINE_LINUX="crashkernel=auto resume=/dev/mapper/rh9-swap rd.lvm.lv=rh9/root rd.lvm.lv=rh9/swap"                            (before)
GRUB_CMDLINE_LINUX="crashkernel=auto resume=/dev/mapper/rh9-swap rd.lvm.lv=rh9/root rd.lvm.lv=rh9/swap elevator=none"              (after)
...

# grub2-mkconfig -o /boot/grub2/grub.cfg                                                                     (on BIOS-based machines)
# grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg                                                            (on UEFI-based machines)

Creazione di un repository yum

 Nel caso in cui gli host dei collettori remoti non abbiano accesso ad alcun repository Red Hat ma lo SKOOR Engine sì, potrebbe essere utile creare un semplice repository software sul server che contenga tutti i file RPM utilizzati per l'installazione tramite yum. Il repository sarà disponibile per gli host dei collettori tramite la porta 443, che è già una porta aperta. Ecco i passaggi necessari per configurare tale repository e accedervi da un host di un collettore remoto:

Creare la directory principale del repository e copiare tutti i file RPM necessari:

# cd /srv/eranger/html
# mkdir repo
# cp /path/to/*.rpm repo/
# yum install createrepo
# createrepo ./repo

Sostituire /path/to/ sopra con il percorso in cui sono stati copiati i file RPM richiesti sull'host SKOOR Engine. Questo creerà una nuova sottodirectory denominata repodata all'interno della directory repo.

Ora aggiungere il repository come origine di installazione dei pacchetti sugli host remoti (ad es. un host SKOOR Engine Collector):

# vi /etc/yum.repos.d/SKOOR.repo
[SKOOR]
name=SKOOR
baseurl=https://<ip or hostname of repository>/repo/
sslverify=false
gpgcheck=0
enabled=1

Verifica l'accesso al repository appena aggiunto dall'host remoto:

# yum clean all
# yum repolist 

Ora l'host remoto può installare il software utilizzando il repository SKOOR come fonte dei pacchetti. 

Aggiunta di un DVD o CD come repository

Per installare software da un DVD o CD RedHat inserito nell'unità, aggiungi un nuovo repository creando il seguente file: 

vi /etc/yum.repos.d/RHEL_6.5_DVD.repo
[RHEL_6.5_DVD]
name=RHEL_6.5_DVD
baseurl="file:///cdrom/"
gpgcheck=0