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 TimescaleDBInitialise 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 localesunix_socket_directories = '/var/run/postgresql-backend'
n'utilise pas le socket PostgreSQL UNIX par défautmax_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