Étapes de l'installation
Ce guide décrit l'installation des paquets RPM à l'aide de yum.
Ce guide d'installation est destiné à l'installation de SKOOR sur un système vierge. Pour mettre à niveau un système SKOOR existant, veuillez utiliser le guide de mise à niveau disponible ici.
Prérequis
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 « enforcing » :
SELinux status: enabled ... Current mode: enforcing
Si c'est le cas, passez-le au moins en mode permissif ou désactivez-le en modifiant la configuration de SELinux :
vi /etc/selinux/config
Modifier la configuration pour la passer en mode permissif ou la désactiver :
SELINUX=disabled
Activer la configuration et vérifier avec sestatus :
setenforce 0
Autoriser cron pour les utilisateurs
Si cron est restreint, les utilisateurs requis par le logiciel SKOOR doivent se voir accorder l'accès à 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 les étapes de configuration supplémentaires
Installation de PostgreSQL
PostgreSQL 17 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
postgresql17-server,timescaledb-2-postgresql-17eteranger-database-utilsvia ses dépendances.Initialise un cluster de bases de données à l'aide de
initdbConfigure
postgresql.confpour TimescaleDBInitialise une base de données (base de données vierge, 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 :
Installe Pg
pgbouncere ses dépendances.Reconfigure PostgreSQL (postgresql.conf)
listen_addresses = 'localhost'n'écoute que les connexions localesunix_socket_directories = '/var/run/postgresql-backend'ne pas utiliser le socket UNIX PostgreSQL par défautmax_connections = 300autoriser 300 connexions
Configure PgPool
listen_addr = *listen_port = 5432unix_socket_dir = /var/run/postgresqlmax_client_conn = 300default_pool_size = 60
Installation standard du server
Pour les clients qui n'ont besoin que de l'ensemble de base des logiciels (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 les 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, deux options sont disponibles 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, et peut être étendue ultérieurement à une installation complète avec des paquets supplémentaires.
Installation complète du 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 l'installation d'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éral
Pour le 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 suivante 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 déterminé. Sur l'hôte du SKOOR Engine, ouvrez le fichier eranger-server.cfg :
/etc/opt/eranger/eranger-server.cfg
Recherchez le paramètre server_iddans la configuration (s'il est commenté comme dans l'exemple suivant, l'identifiant est 1) :
#server_id = 1
Si un collecteur externe transmet des mesures à plusieurs SKOOR Engine, 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 chiffrée.
Les paramètres suivants doivent être configurés dans le fichier eranger-collecteur.cfg :
Définissez le paramètre server1_id sur la valeur configurée sur le serveur 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 du SKOOR Engine (les sockets Unix sont réservées aux 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 basculés automatiquement lors d'un basculement dans une configuration maître/secours
La section suivante décrit comment configurer une communication chiffrée via HTTPS. Pour le chiffrement, 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 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 de 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 en indiquant 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 du client
L'authentification client doit d'abord être activée sur 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 approprié |
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 la valeur est définie 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, le cas échéant |
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 caractères.
SKOOR Engine configuration
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:
Les services Webservice, IC Alerter et Ethd ne sont répertoriés que si le paquet correspondant est installé.
Entrez a pour démarrer tous les services requis. Quittez ensuite avec 0.
Connexion à SKOOR Engine
Vous devriez désormais pouvoir vous connecter à SKOOR Engine à l'aide d'un navigateur Web en saisissant le nom de domaine complet (FQDN) ou l'adresse IP de SKOOR Engine dans la barre d'adresse :
Les identifiants de connexion par défaut sont :
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. Vous pouvez soit accepter le certificat auto-signé par défaut, soit générer et installer un certificat SSL personnalisé.
Par défaut, les certificats se trouvent dans :
/etc/pki/tls/certs/
Le fichier de configuration
/etc/httpd/conf.d/ssl.conf
doit être modifié pour pointer vers les bons certificats. 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 accédez à http://skoor.company.com, le serveur web réécrit l'adresse pour utiliser https au lieu de http. Si vous souhaitez utiliser uniquement http, désactivez la règle de réécriture dans le fichier de configuration :
/etc/httpd/conf.d/eranger.conf
Mettez en commentaire les trois lignes suivantes (en plaçant 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 au sein d'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 sur 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. Suivez le guide suivant pour activer le planificateur noop de manière permanente.
Définissez noop globalement pour tous les périphériques en modifiant le fichier `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 sur un système en cours d'exécution pour le périphérique 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 un 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 le fichier « the file /etc/default/grub » comme indiqué ci-dessous, puis en reconstruisant le fichier de configuration de 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 dépôts Red Hat mais que le moteur SKOOR Engine y a accès, il peut être utile de créer un simple dépôt logiciel sur le server contenant tous les fichiers RPM utilisés pour l'installation via yum. Le dépôt 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 dépôt et y accéder depuis un hôte collecteur distant :
Créez le répertoire racine du dépôt et copiez-y 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 en tant que 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 référentiel nouvellement ajouté depuis 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.
Ajouter un DVD ou un CD en tant que référentiel
Pour installer des logiciels à 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
