Installation

Ce guide décrit l'installation des packages 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 ici .

Conditions préalables

Désactiver SELinux

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

sestatus

Vérifiez si le mode est appliqué :

SELinux status:                 enabled
...
Current mode:                   enforcing

Si tel 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 en permissive ou désactivée :

SELINUX=disabled

Activez la configuration et vérifiez avec sistat :

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

Installation SKOOR Engine ( server 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. Voir le guide de réplication de base de données pour d'autres étapes de configuration

Installation de PostgreSQL

PostgreSQL 13 est le server de base de données nécessaire au SKOOR Engine . Il doit être installé avant le logiciel SKOOR :

Installez le server 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 via ses dépendances.

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

  • Ajuste 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 et PostgreSQL Server .

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

dnf install eranger-pgbouncer

Ce package effectue les étapes suivantes :

  • Installez pgbouncer via 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 PostgreSQL UNIX par défaut

    • max_connections = 300 autorise 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 Server

Pour les clients nécessitant uniquement l'ensemble de logiciels de base (c'est-à-dire la plupart des clients), exécutez la commande suivante pour installer les packages requis :

dnf install eranger-server

Vérifiez les packages SKOOR Engine installés :

dnf list installed |grep eranger

Production attendue:

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>

Installation Collecteur SKOOR Engine

Depuis la version 5.5, il existe deux options pour un collecteur externe, une installation complète et une installation de base. L'installation de base est livrée avec un ensemble de fonctionnalités limité et moins de dépendances et peut ensuite être étendue à une installation complète avec des packages supplémentaires.

Installation complète Collecteur Engine Skoor :

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

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

Installation de base Collecteur Engine Skoor :

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

dnf install eranger-collector

Packages supplémentaires pour le Skoor Engine Collecteur minimal :

Pour activer les jobs EEM sur le collecteur externe, vous pouvez installer le plugin avec la commande suivante :

dnf install eranger-collector-eem

Pour activer les Mail Jobs (EWS, IMAP, POP3 ou SMTP) sur le collecteur externe vous pouvez installer le plugin avec la commande suivante :

dnf install eranger-collector-mail

Communication avec SKOOR Engine

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

Général

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

La configuration ultérieure est effectuée dans le fichier de configuration collecteurs sur le server collecteur :

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

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

/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 Engine , le paramètre server_id doit être différent sur chaque SKOOR Engine .

TCP

Il s'agit de la manière standard dont collecteurs communiquent avec 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 server SKOOR Engine en tant que 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 SKOOR Engine (les sockets Unix sont utilisées uniquement pour collecteurs locaux)

  • Définissez server1_user et server1_passwd comme configurés 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 utilisant HTTP sans cryptage est déconseillée. Si cela est nécessaire pour une raison quelconque, le server httpd sur le SKOOR Engine doit d'abord être configuré pour autoriser ce type de communication.

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

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

Configurez les paramètres requis dans eranger- collecteur :

  • Définissez le paramètre server1_id sur la valeur configurée sur le server SKOOR Engine en tant que 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 SKOOR Engine sous la forme d'une URL, comme indiqué ci-dessous.

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

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

  • Configurez soit server1_ssl_cacert , soit server1_ssl_capath à l'emplacement où le certificat a été copié auparavant.

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 à cet effet le fichier de configuration server Web correspondant :

/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>

Recharger httpd :

systemctl reload httpd

Nom

Description

server1_ssl_cacert

Chemin complet vers le certificat racine de l'AC, le collecteur utilisera ce fichier spécifique

server1_ssl_capath

Chemin vers un répertoire contenant le certificat racine de l'AC, le collecteur recherchera le bon certificat

server1_ssl_verify_peer

S'il est défini sur true (par défaut), le certificat du server SKOOR Engine est vérifié

server1_ssl_verify_host

S'il est 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

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

server1_ssl_cert_client_private_key

La 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

Permis 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 de 1000 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 SKOOR Engine

Développez la variable PATH pour root :

~/.bashrc

Ajouter:

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 Webservice, IC Alerter et Ethd ne sont répertoriés que si le package correspondant est installé.

Entrez un pour démarrer tous les services requis. Sortez ensuite avec 0 .

Connexion SKOOR Engine

Vous devriez maintenant pouvoir vous connecter à SKOOR Engine à l'aide d'un navigateur Web et saisir 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 :

Nom d'utilisateur

administrateur

Mot de passe

administrateur

Suite à une installation par défaut, le navigateur se plaindra de certificats de sécurité SSL non 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/eranger.conf

doit être ajusté pour pointer vers les bons certificats. Un exemple d'entrée ressemble à ceci :

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

Lors de l'appel de http://skoor.company.com, le serveur Web réécrira 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 mettant un dièse au début) :

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

Redémarrez le serveur Web Apache avec la commande :

eRanger.sh restart httpd

ou:

systemctl restart httpd

Optimiser SKOOR sur les environnements virtuels

Si vous exécutez SKOOR Engine ou SKOOR collecteur 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 cfq IO. Le planificateur d'E/S recommandé pour les systèmes Red Hat exécutés sur une machine virtuelle est le planificateur noop sur Red Hat 7 et le planificateur none/strong>planificateur sur Red Hat 8/9.

Pour les systèmes Red Hat 7

Exécutez les commandes suivantes pour activer le planificateur 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 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 persistera pas lors des redémarrages. Utilisez le guide suivant pour activer le planificateur noop de manière persistante.

Définissez noop globalement pour tous les appareils en éditant 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 planificateur 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 aucun 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 persistera pas lors des redémarrages. Utilisez le guide suivant pour activer le planificateur aucun de manière persistante.

Définissez none globalement pour tous les appareils en éditant 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

Dans le cas où les hôtes collecteur distants n'ont accès à aucun référentiel Red Hat contrairement au SKOOR Engine , il peut être utile de créer un référentiel de logiciels simple sur le server contenant tous les fichiers RPM utilisés pour l'installation via yum. Le référentiel sera disponible pour les hôtes collecteur 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 depuis 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 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 dans le répertoire repo.

Ajoutez maintenant le référentiel en tant que source d'installation du package sur des hôtes distants (par exemple un hôte collecteur SKOOR Engine ) :

# 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 dépôt nouvellement ajouté à partir de l'hôte distant :

# yum clean all
# yum repolist 

L'hôte distant peut désormais installer le logiciel en utilisant le référentiel SKOOR comme source du package.

Ajouter un DVD ou un CD comme référentiel

Pour installer un logiciel à partir d'un lecteur de DVD ou de 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