Étapes de l'installation

Ce guide décrit l'installation des paquets RPM à l'aide de yum.

Ce guide d'installation est destiné à être utilisé pour installer SKOOR sur un nouveau système. Pour mettre à niveau un système SKOOR existant, veuillez utiliser le guide de mise à niveau disponible ici.

Prérequis

Désactivez SELinux

Avant d'installer SKOOR Engine, SELINUX doit être désactivé. Afficher l'état de SELinux :

sestatus

Vérifiez si le mode est activé :

SELinux status:                 enabled
...
Current mode:                   enforcing

Si c'est le cas, modifiez-le au moins en permissif ou désactivez-le en modifiant la configuration SELinux :

vi /etc/selinux/config

Modifiez la configuration pour la rendre permissive ou désactivée :

SELINUX=disabled

Activez la configuration et vérifiez avec sestatus :

setenforce 0 

Autoriser cron pour les utilisateurs

Si cron est restreint, les utilisateurs nécessaires au logiciel SKOOR doivent être autorisés à accéder à cron en les ajoutant au fichier suivant :

/etc/cron.allow

Utilisateurs :

postgres
eranger
reranger

Empreintes GPG du référentiel 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

Installation de SKOOR Engine (serveur unique)

Pour les systèmes avec réplication de base de données, deux serveurs distincts doivent être installés comme décrit dans cette section. Consultez le Guide de réplication de base de données pour connaître les étapes de configuration supplémentaires.

Installation de PostgreSQL

PostgreSQL 13 est le serveur de base de données requis par le SKOOR Engine. Il doit être installé avant le logiciel SKOOR :

Installez le serveur PostgreSQL à l'aide du package d'installation SKOOR PostgreSQL :

dnf install eranger-postgresql

Ce package effectue les étapes suivantes :

  • Installe postgresql13-server , timescaledb-2-postgresql-13 , eranger-database-utils ainsi que ses dépendances.

  •  Initialise un cluster de bases de données à l'aide d'initdb

  • Configure postgresql.conf pour TimescaleDB

  • Initialise une base de données (base de données simple, sans schéma ni données) pouvant être utilisée par le SKOOR Server

  • Ouvre le port TCP 5432 sur le pare-feu

Installation de PgBouncer

PgBouncer est utilisé comme pool de connexions et se situe entre SKOOR Server et le serveur PostgreSQL.

Installez PgBouncer à l'aide du package d'installation SKOOR PgBouncer :

dnf install eranger-pgbouncer

Ce package effectue les étapes suivantes :

  • Installez pgbouncer et ses dépendances.

  • Reconfigure PostgreSQL (postgresql.conf)

    • listen_addresses = 'localhost' écoute uniquement les connexions locales

    • unix_socket_directories = '/var/run/postgresql-backend' n'utilise pas le socket UNIX PostgreSQL par défaut

    • max_connections = 300 autoriser 300 connexions

  • Configure PgPool

    • listen_addr = *

    • listen_port = 5432

    • unix_socket_dir = /var/run/postgresql

    • max_client_conn = 300

    • default_pool_size = 60

Installation standard du server

Pour les clients qui n'ont besoin que de l'ensemble de logiciels de base (c'est-à-dire la plupart des clients), exécutez la commande suivante pour installer les paquets requis :

dnf install eranger-server

Vérifiez les paquets SKOOR Engine installés :

dnf list installed |grep eranger

Résultat attendu :

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 installe Google Chrome en tant que dépendance. Google Chrome installe un référentiel YUM pour se mettre à jour vers des versions plus récentes. Mais comme SKOOR nécessite une version très spécifique, nous devons désactiver ce référentiel nouvellement créé. SKOOR >= 8.1 ne nécessite plus Google Chrome et, par conséquent, le référentiel n'est pas installé non plus.

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

Installation du SKOOR Engine Collector

Depuis la version 5.5, il existe deux options pour un collecteur externe : l'installation complète et l'installation de base. L'installation de base offre un ensemble de fonctionnalités limité et moins de dépendances, mais peut être étendue ultérieurement à une installation complète avec des paquets supplémentaires.

Installation complète de SKOOR Engine Collector :

Pour installer un SKOOR Engine Collector externe, utilisez la commande suivante pour l'installation complète :

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

Installation de base du SKOOR Engine Collector :

Pour installer un SKOOR Engine Collector externe de base, utilisez la commande suivante :

dnf install eranger-collector

Paquets supplémentaires pour le SKOOR Engine Collector minimal :

Pour activer les tâches EEM sur le collecteur externe, vous pouvez installer le plugin à l'aide de la commande suivante :

dnf install eranger-collector-eem

Pour activer les tâches de messagerie (EWS, IMAP, POP3 ou SMTP) sur le collecteur externe, vous pouvez installer le plugin à l'aide de la commande suivante :

dnf install eranger-collector-mail

Communication avec SKOOR Engine

Après avoir installé un nouveau collecteur externe, la communication avec SKOOR Engine doit être configurée. La section suivante présente différentes possibilités pour y parvenir.

Généralités

Pour le moteur SKOOR Engine, un collecteur est un type d'utilisateur particulier. Chaque collecteur externe doit donc être configuré dans l'interface utilisateur. Créez un utilisateur authentifié localement avec le rôle Collector dans /root /Users /Users et définissez un mot de passe.

La configuration supplémentaire s'effectue dans le fichier de configuration des collecteurs sur le server collecteur : 

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

Tout d'abord, l'identifiant server_id du SKOOR Engine doit être identifié. Sur l'hôte du SKOOR Engine, ouvrez le fichier eranger-server.cfg :

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

Recherchez le paramètre server_id dans la configuration (s'il est commenté comme dans l'exemple suivant, l'id est 1) :

#server_id      = 1

Si un collecteur externe fournit des mesures à plusieurs SKOOR Engines, le paramètre server_id doit être différent sur chaque SKOOR Engine.

TCP

Il s'agit du mode de communication standard entre les collecteurs et le SKOOR Engine. La communication n'est pas cryptée.

Les paramètres suivants doivent être configurés dans eranger-collecteur.cfg :

  • Définissez le paramètre server1_id sur la valeur configurée sur le serveur SKOOR Engine comme server_id (la valeur par défaut est 1)

  • Définissez le paramètre server1_address sur le nom d'hôte ou l'adresse IP du SKOOR Engine (les sockets Unix sont utilisés uniquement pour les collecteurs locaux)

  • Définissez server1_user et server1_passwd comme configuré dans le 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

La communication via HTTP sans cryptage est déconseillée. Si cela s'avère nécessaire pour une raison quelconque, le server httpd sur SKOOR Engine doit d'abord être configuré pour autoriser ce type de communication.

Les collecteurs utilisant HTTP(S) pour la communication ne peuvent pas être commutés automatiquement lors d'un basculement dans une configuration primaire/secours

La section suivante décrit comment configurer une communication cryptée à l'aide de HTTPS. Pour le cryptage, le certificat CA racine utilisé par le serveur SKOOR Engine doit être copié sur le système du collecteur. Les chemins d'accès Linux standard peuvent être utilisés pour le placer dans le système de fichiers.

Configurez les paramètres requis dans eranger-collecteur.cfg :

  • Définissez le paramètre server1_id sur la valeur configurée sur le serveur SKOOR Engine comme server_id (la valeur par défaut est 1).

  • Définissez le paramètre server1_address sur le nom d'hôte ou l'adresse IP du serveur SKOOR Engine sous la forme d'une URL, comme indiqué ci-dessous

  • Assurez-vous que le paramètre server1_port est commenté, sinon cela interrompra la communication

  • Définissez server1_user et server1_passwd comme configuré dans SKOOR Engine

  • Configurez server1_ssl_cacert ou server1_ssl_capath à l'emplacement où le certificat a été copié précédemment

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 avec authentification client

L'authentification client doit d'abord être activée sur le SKOOR Engine. Ouvrez le fichier de configuration du serveur web correspondant à cet effet :

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

Décommentez la directive SSLVerifyClient :

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

Rechargez httpd :

systemctl reload httpd

Nom

Description

server1_ssl_cacert

Chemin d'accès complet au certificat CA racine, le collecteur utilisera ce fichier spécifique

server1_ssl_capath

Chemin d'accès à un répertoire contenant le certificat CA racine, le collecteur recherchera le certificat correct

server1_ssl_verify_peer

Si la valeur est définie sur true (par défaut), le certificat du server SKOOR Engine est vérifié

server1_ssl_verify_host

Si défini sur true (par défaut), le nom d'hôte du server SKOOR Engine est vérifié

server1_ssl_cert_client_public_key

Clé publique utilisée pour l'authentification du client (certificat du collecteur)

server1_ssl_cert_client_private_key

Clé privée utilisée pour l'authentification du client (clé privée du collecteur)

server1_ssl_cert_client_private_key_passwd

Mot de passe pour lire la clé privée du collecteur, si défini

Licence SKOOR Engine

Obtenez une licence valide auprès de SKOOR et ajoutez les lignes nécessaires au fichier :

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

Exemple avec une licence pour 1 000 appareils :

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

xxxx… représente la clé de licence réelle. Assurez-vous que la clé réelle est insérée sur une seule ligne sans caractère de nouvelle ligne entre les deux.

Configuration de l'SKOOR Engine

Développez la variable PATH pour root :

~/.bashrc

Ajoutez :

PATH=$PATH:/opt/eranger/bin

Appliquez ensuite les modifications et exécutez eRanger.sh start pour démarrer les services 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:

Le service Web, IC Alerter et Ethd ne sont répertoriés que si le package correspondant est installé.

Entrez a pour démarrer tous les services requis. Quittez ensuite avec 0.

Connexion à SKOOR Engine

Vous devriez maintenant pouvoir vous connecter à SKOOR Engine à l'aide d'un navigateur Web et en saisissant le nom de domaine complet ou l'adresse IP de SKOOR Engine dans la barre d'adresse :

 

Les identifiants de connexion par défaut sont les suivants :

Nom d'utilisateur

admin

Mot de passe

admin

Installation du certificat SSL

Après une installation par défaut, le navigateur signalera que les certificats de sécurité SSL ne sont pas fiables. Acceptez le certificat auto-signé par défaut ou générez et installez un certificat SSL personnalisé.

Par défaut, les certificats se trouvent sous :

/etc/pki/tls/certs/

Le fichier de configuration

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

doit être modifié pour pointer vers les certificats corrects. Voici un exemple d'entrée :

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

Redémarrez le serveur web Apache à l'aide de la commande :

systemctl restart httpd

Désactiver la réécriture https

Lorsque vous appelez http://skoor.company.com, le serveur web réécrit l'adresse pour utiliser https au lieu de http. Si seul http doit être utilisé, désactivez la règle de réécriture dans le fichier de configuration :

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


Commentez les trois lignes suivantes (en ajoutant un signe dièse au début) :

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

Redémarrez le serveur web Apache à l'aide de la commande :

systemctl restart httpd

Optimisation de SKOOR sur les environnements virtuels

Si vous exécutez SKOOR Engine ou SKOOR Collector dans une machine virtuelle, le planificateur d'E/S doit être adapté pour des raisons de performances. Par défaut, Red Hat < 7 s'installe avec le planificateur d'E/S cfq. Le planificateur d'E/S recommandé pour les systèmes Red Hat fonctionnant dans une machine virtuelle est le planificateur noop sur Red Hat 7 et le planificateur none sur Red Hat 8 / 9.

Pour les systèmes Red Hat 7

Exécutez les commandes suivantes pour activer le scheduler noop pour un système en cours d'exécution pour le périphérique bloc sda qui correspond généralement au premier disque :

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

Le planificateur noop est désormais marqué comme planificateur actuel. Exécutez cette commande pour chacun des disques virtuels configurés pour le système (remplacez sda par le nom du disque virtuel).
Cependant, le paramètre ci-dessus ne sera pas conservé après les redémarrages. Utilisez le guide suivant pour activer le planificateur noop de manière permanente.

Définissez noop globalement pour tous les périphériques en modifiant the file /etc/default/grub comme indiqué ci-dessous, puis en reconstruisant le fichier de configuration 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)

Pour les systèmes Red Hat 8 / 9

Exécutez les commandes suivantes pour activer le scheduler noop pour un système en cours d'exécution pour le périphérique de bloc sda qui correspond généralement au premier disque :

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

Le planificateur none est désormais marqué comme planificateur actuel. Exécutez cette commande pour chacun des disques virtuels configurés pour le système (remplacez sda par le nom du disque virtuel).
Cependant, le paramètre ci-dessus ne sera pas conservé après le redémarrage. Suivez le guide ci-dessous pour activer le planificateur none de manière permanente.

Définissez none globalement pour tous les périphériques en modifiant the file /etc/default/grub comme indiqué ci-dessous, puis en reconstruisant le fichier de configuration 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)

Création d'un référentiel yum

 Si les hôtes collecteurs distants n'ont pas accès aux référentiels Red Hat, mais que le SKOOR Engine y a accès, il peut être utile de créer un référentiel logiciel simple sur le server qui contient tous les fichiers RPM utilisés pour l'installation via yum. Le référentiel sera accessible aux hôtes collecteurs via le port 443, qui est déjà un port ouvert. Voici les étapes nécessaires pour configurer un tel référentiel et y accéder à partir d'un hôte collecteur distant :

Créez le répertoire racine du référentiel et copiez tous les fichiers RPM requis :

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

Remplacez /path/to/ ci-dessus par le chemin d'accès où les fichiers RPM requis ont été copiés sur l'hôte SKOOR Engine. Cela créera un nouveau sous-répertoire nommé repodata à l'intérieur du répertoire repo.

Ajoutez maintenant le référentiel comme source d'installation de paquets sur les hôtes distants (par exemple, un hôte 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

Vérifiez l'accès au nouveau référentiel ajouté à partir de l'hôte distant :

# yum clean all
# yum repolist 

L'hôte distant peut désormais installer des logiciels en utilisant le référentiel SKOOR comme source de paquets. 

Ajout d'un DVD ou d'un CD en tant que référentiel

Pour installer des logiciels à partir d'un lecteur DVD ou CD RedHat inséré, ajoutez un nouveau référentiel en créant le fichier suivant : 

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