Fasi di installazione

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

Questa guida all'installazione deve essere utilizzata per installare SKOOR su un sistema nuovo. Per aggiornare un sistema SKOOR esistente, utilizzare la guida all'aggiornamento qui.

Prerequisiti

Disattivare SELinux

Prima di installare SKOOR Engine, SELINUX deve essere disabilitato. Visualizzare lo stato di SELinux:

sestatus

Controllare se la modalità è in vigore:

SELinux status:                 enabled
...
Current mode:                   enforcing

In caso affermativo, cambiarla almeno in permissiva o disabilitarla modificando la configurazione di SELinux:

vi /etc/selinux/config

Cambiare la configurazione in permissiva o disabilitata:

SELINUX=disabled

Attivare la configurazione e verificare con sestatus:

setenforce 0 

Consentire cron agli utenti

Se cron è limitato, gli utenti necessari al software SKOOR devono essere autorizzati ad accedere a cron aggiungendoli al seguente file:

/etc/cron.allow

Utenti:

postgres
eranger
reranger

Impronte digitali GPG del repository SKOOR:

RPM-GPG-KEY-SKOOR:

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

RPM-GPG-KEY-PGDG:

68c9 e2b9 1a37 d136 fe74 d176 1f16 d2e1 442d f0f8

RPM-GPG-KEY-TIMESCALEDB:

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

Installazione di SKOOR Engine (server singolo)

Per i sistemi con replica del database, è necessario installare due server separati come descritto in questa sezione. Vedere la guida alla replica del database per ulteriori passi di configurazione

Installazione di PostgreSQL

PostgreSQL 13 è il server di database necessario a SKOOR Engine. Deve essere installato prima del software SKOOR:

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

dnf install eranger-postgresql

Questo pacchetto esegue le seguenti operazioni:

  • Installa postgresql13-server, timescaledb-2-postgresql-13, eranger-database-utils attraverso le sue dipendenze.

  • Inizializza un cluster di database utilizzando initdb

  • Sintonizza postgresql.conf per TimescaleDB

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

  • Apre la porta TCP 5432 sul firewall

Installazione di PgBouncer

PgBouncer è utilizzato come pool di connessioni e si colloca tra SKOOR Server e PostgreSQL Server.

Installare PgBouncer utilizzando il pacchetto di installazione SKOOR PgBouncer:

dnf install eranger-pgbouncer

Questo pacchetto esegue le seguenti operazioni:

  • Installa pgbouncer attraverso le sue 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 consente 300 connessioni

  • Configura PgPool

    • listen_addr = *

    • listen_port = 5432

    • unix_socket_dir = /var/run/postgresql

    • max_client_conn = 300

    • default_pool_size = 60

Installazione del server standard

Per i clienti che richiedono solo il set di software di base (cioè la maggior parte dei clienti), eseguire il seguente comando per installare i pacchetti necessari:

dnf install eranger-server

Controlla i pacchetti SKOOR Engine installati:

dnf list installed |grep eranger

Risultato atteso:

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>

Installazione di SKOOR Engine Collector

Dalla release 5.5 sono disponibili due opzioni per un collettore esterno: l'installazione completa e l'installazione di base. L'installazione di base viene fornita con 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 uno 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 uno SKOOR Engine Collector esterno di base, utilizzare il seguente comando:

dnf install eranger-collector

Pacchetti aggiuntivi per lo SKOOR Engine Collector minimo:

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

dnf install eranger-collector-eem

Per abilitare i lavori di posta (EWS, IMAP, POP3 o SMTP) sul collettore esterno si può installare il plugin con il seguente comando:

dnf install eranger-collector-mail

Comunicazione con SKOOR Engine

Dopo aver installato un nuovo collettore esterno, è necessario configurare la comunicazione con lo SKOOR Engine. La sezione seguente mostra le diverse possibilità per raggiungere questo obiettivo.

Generale

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 di 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 dello SKOOR Engine. Sull'host 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 uno SKOOR Engine Collector esterno fornisce misure a più di uno SKOOR Engine, il parametro server_id deve essere diverso su ogni SKOOR Engine.

TCP

È il modo standard con cui i collettori comunicano con lo SKOOR Engine. La comunicazione non è criptata.

I seguenti parametri devono essere configurati 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 dell'host o sull'indirizzo IP di SKOOR Engine (i socket unix sono usati solo per i collettori locali).

  • Impostare server1_user e server1_passwd come configurati 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

È sconsigliata la comunicazione tramite HTTP senza crittografia. Se necessario per qualche motivo, il server httpd dello SKOOR Engine deve essere configurato per 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/standby.

La sezione seguente descrive come impostare una comunicazione crittografata tramite HTTPS. Per la crittografia, il certificato della CA principale utilizzato dal server SKOOR Engine Collector deve essere copiato nel sistema del collettore. I percorsi standard di Linux possono essere utilizzati per collocarlo nel filesystem.

Configurare i parametri necessari 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 dell'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 interromperà la comunicazione.

  • Impostare server1_user e server1_passwd come configurati nello SKOOR Engine.

  • Configurare server1_ssl_cacert o server1_ssl_capath come la posizione in cui il certificato è stato copiato 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 del cliente deve essere prima abilitata sullo SKOOR Engine. A tal fine, aprire il file di configurazione del server web in questione:

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

Deselezionare la 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 della CA principale; il collettore utilizzerà questo file specifico.

server1_ssl_capath

Percorso di una directory contenente il certificato della CA principale, il collettore cerca il certificato corretto.

server1_ssl_verify_peer

Se impostato su true (valore predefinito), il certificato del server SKOOR Engine viene verificato.

server1_ssl_verify_host

Se impostato su true (valore predefinito), viene verificato l'hostname 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 collettore)

server1_ssl_cert_client_private_key_passwd

Password per leggere la chiave privata del collettore, se impostata

Licenza di 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 di 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 un'unica riga senza caratteri di interruzione.

Configurazione di SKOOR Engine

Espandere la variabile PATH per root:

~/.bashrc

Aggiungi:

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:

Webservice, IC Alerter ed Ethd sono elencati solo se il pacchetto corrispondente è installato.

Digitare a per avviare tutti i servizi richiesti. Quindi uscire con 0.

Accesso a SKOOR Engine

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

Le credenziali di accesso predefinite sono:

Nome utente

admin

Password

admin

Dopo un'installazione predefinita, il browser si lamenterà dei certificati di sicurezza SSL non attendibili. È possibile accettare il certificato autofirmato di default 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/eranger.conf

deve essere modificato per puntare ai certificati corretti. Un esempio di voce è il seguente:

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

Quando si chiama http://skoor.company.com, il server web riscrive l'indirizzo per usare https invece di http. Se si vuole usare solo http, disabilitare la regola di riscrittura nel file di configurazione:

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


Commentare le tre righe seguenti (mettendo un segno di hash all'inizio):

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

Riavviare il webserver Apache con il comando:

eRanger.sh restart httpd

oppure:

systemctl restart httpd

Ottimizzazione di SKOOR su ambienti virtuali

Se si esegue SKOOR Engine o SKOOR Collector all'interno di una macchina virtuale, lo scheduler IO deve essere adattato per motivi di prestazioni. Per impostazione predefinita, Red Hat < 7 si installa con lo scheduler IO cfq. Lo scheduler IO raccomandato per i sistemi Red Hat in esecuzione in 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 persiste tra i vari riavvii. Utilizzate la seguente guida per abilitare lo scheduler noop in modo persistente.

Impostare noop globalmente per tutti i dispositivi modificando the file /etc/default/grub come mostrato di seguito e poi ricostruendo il file di configurazione di 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

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 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. 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 persiste tra i vari riavvii. Utilizzare la seguente guida per abilitare in modo persistente lo scheduler none .

Impostare none globalmente per tutti i dispositivi modificando the file /etc/default/grub come mostrato di seguito e poi ricostruendo 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)

Creare un repository yum

Nel caso in cui gli host remoti del collettore non abbiano accesso a nessun repository Red Hat ma lo SKOOR Engine sì, può 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 agli host del collettore tramite la porta 443, che è già una porta aperta. Ecco i passi necessari per configurare tale repository e accedervi da un host 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/ con il percorso in cui sono stati copiati i file RPM necessari sull'host SKOOR Engine. In questo modo si creerà una nuova sottodirectory denominata repodata all'interno della directory repo.

Aggiungete ora il repository come fonte di installazione dei pacchetti su host remoti (ad esempio, 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

Verificare l'accesso al nuovo repo dall'host remoto:

# yum clean all
# yum repolist 

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

Aggiunta di un DVD o di un CD come repository

Per installare il software da un DVD o da un CD RedHat inserito, aggiungere 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