Installationsschritte
Diese Anleitung beschreibt die Installation der RPM-Pakete mit yum.
Diese Installationsanleitung ist für die Installation von SKOOR auf einem neuen System vorgesehen. Um ein bestehendes SKOOR-System zu aktualisieren, verwenden Sie bitte die hier verfügbare Upgrade-Anleitung.
Voraussetzungen
SELinux deaktivieren
Vor der Installation von SKOOR Engine muss SELinux deaktiviert werden. SELinux-Status anzeigen:
sestatus
Prüfen Sie, ob der Modus auf „enforcing“ eingestellt ist:
SELinux status: enabled ... Current mode: enforcing
Ist dies der Fall, ändern Sie ihn mindestens auf „permissive“ oder deaktivieren Sie ihn, indem Sie die SELinux-Konfiguration ändern:
vi /etc/selinux/config
Konfiguration auf „permissive“ oder „disabled“ ändern:
SELINUX=disabled
Konfiguration aktivieren und mit „sestatus“ überprüfen:
setenforce 0
Cron für Benutzer zulassen
Wenn Cron eingeschränkt ist, muss den von der SKOOR-Software benötigten Benutzern der Zugriff auf Cron gewährt werden, indem sie zur folgenden Datei hinzugefügt werden:
/etc/cron.allow
Benutzer:
postgres eranger reranger
GPG-Fingerabdrücke des SKOOR-Repositorys:
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
SKOOR Engine Installation (Einzelner Server)
Bei Systemen mit Datenbankreplikation müssen zwei separate Server wie in diesem Abschnitt beschrieben installiert werden. Weitere Konfigurationsschritte finden Sie im Leitfaden zur Datenbankreplikation
PostgreSQL-Installation
PostgreSQL 17 ist der von der SKOOR Engine benötigte Datenbankserver. Er muss vor der SKOOR-Software installiert werden:
Installieren Sie den PostgreSQL-Server mit dem SKOOR-PostgreSQL-Installationspaket:
dnf install eranger-postgresql
Dieses Paket führt die folgenden Schritte aus:
Installiert „
postgresql17-server“, „timescaledb-2-postgresql-17“ und „eranger-database-utils“ über deren Abhängigkeiten.Initialisiert einen Datenbankcluster unter Verwendung von
initdbOptimiert
postgresql.conffür TimescaleDBInitialisiert eine Datenbank (einfache Datenbank, ohne Schema und ohne Daten), die vom SKOOR Server verwendet werden kann
Öffnet den TCP-Port 5432 in der Firewall
PgBouncer-Installation
PgBouncer wird als Verbindungspool verwendet und befindet sich zwischen SKOOR Server und dem PostgreSQL-Server.
Installieren Sie PgBouncer mit dem SKOOR-PgBouncer-Installationspaket:
dnf install eranger-pgbouncer
Dieses Paket führt die folgenden Schritte aus:
Installiert „
pgbouncer“ einschließlich seiner Abhängigkeiten.Konfiguriert PostgreSQL (postgresql.conf) neu
listen_addresses = 'localhost'Nur auf lokale Verbindungen hörenunix_socket_directories = '/var/run/postgresql-backend'keinen Standard-PostgreSQL-UNIX-Socket verwendenmax_connections = 300300 Verbindungen zulassen
Konfiguriert PgPool
listen_addr = *listen_port = 5432unix_socket_dir = /var/run/postgresqlmax_client_conn = 300default_pool_size = 60
Standard-Serverinstallation
Für Kunden, die nur die Basissoftware benötigen (d. h. die meisten Kunden), führen Sie den folgenden Befehl aus, um die erforderlichen Pakete zu installieren:
dnf install eranger-server
Überprüfen Sie die installierten SKOOR Engine-Pakete:
dnf list installed |grep eranger
Erwartete Ausgabe:
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 installiert Google Chrome als Abhängigkeit. Google Chrome installiert ein YUM-Repository, um sich selbst auf neuere Versionen zu aktualisieren. Da SKOOR jedoch eine ganz bestimmte Version benötigt, müssen wir dieses neu erstellte Repo deaktivieren. SKOOR >= 8.1 benötigt Google Chrome nicht mehr, daher wird das Repo auch nicht installiert.
sed -i 's/enabled=1/enabled=0/g' /etc/yum.repos.d/google-chrome.repo
Installation des SKOOR Engine Collectors
Seit Release 5.5 gibt es zwei Optionen für einen externen Kollektor: die Vollinstallation und die Basisinstallation. Die Basisinstallation verfügt über einen eingeschränkten Funktionsumfang und weniger Abhängigkeiten und kann später durch zusätzliche Pakete zu einer Vollinstallation erweitert werden.
Vollständige Installation des SKOOR Engine Collectors:
Um einen externen SKOOR Engine Collector zu installieren, verwenden Sie für die Vollinstallation den folgenden Befehl:
dnf install eranger-collector eranger-collector-eem eranger-collector-mail
Basisinstallation des SKOOR Engine Collectors:
Um einen externen SKOOR Engine Collector in der Basisversion zu installieren, verwenden Sie den folgenden Befehl:
dnf install eranger-collector
Zusätzliche Pakete für den minimalen SKOOR Engine Collector:
Um EEM-Jobs auf dem externen Kollektor zu aktivieren, können Sie das Plugin mit dem folgenden Befehl installieren:
dnf install eranger-collector-eem
Um Mail-Jobs (EWS, IMAP, POP3 oder SMTP) auf dem externen Kollektor zu aktivieren, können Sie das Plugin mit dem folgenden Befehl installieren:
dnf install eranger-collector-mail
Kommunikation mit der SKOOR Engine
Nach der Installation eines neuen externen Kollektors muss die Kommunikation mit der SKOOR Engine konfiguriert werden. Der folgende Abschnitt zeigt verschiedene Möglichkeiten auf, dies zu erreichen.
Allgemeines
Für die SKOOR Engine ist ein Kollektor eine besondere Art von Benutzer. Daher muss jeder externe Kollektor in der Benutzeroberfläche konfiguriert werden. Erstellen Sie einen lokal authentifizierten Benutzer mit der Rolle „Kollektor“ unter /root/Users/Users und legen Sie ein Passwort fest.
Die weitere Konfiguration erfolgt in der Konfigurationsdatei des Kollektors auf dem Kollektor-Server:
/etc/opt/eranger/eranger-collector.cfg
Zunächst muss die server_id der SKOOR Engine ermittelt werden. Öffnen Sie auf dem SKOOR Engine-Host die Datei eranger-server.cfg:
/etc/opt/eranger/eranger-server.cfg
Suchen Sie den Parameter server_idin der Konfiguration (wenn er wie im folgenden Beispiel auskommentiert ist, lautet die ID 1):
#server_id = 1
Wenn ein externer Kollektor Messungen an mehr als eine SKOOR Engine übermittelt, muss der Parameter server_id auf jeder SKOOR Engine unterschiedlich sein.
TCP
Dies ist die Standardmethode, mit der Kollektoren mit der SKOOR Engine kommunizieren. Die Kommunikation ist nicht verschlüsselt.
Die folgenden Parameter müssen in der Datei eranger-Kollektor.cfg konfiguriert werden:
Setzen Sie den Parameter server1_id auf den Wert, der auf dem SKOOR Engine-Server als server_id konfiguriert ist (Standardwert ist 1)
Setzen Sie den Parameter „server1_address“ auf den Hostnamen oder die IP-Adresse der SKOOR Engine (Unix-Sockets werden nur für lokale Kollektoren verwendet)
Setzen Sie server1_user und server1_passwd wie in der SKOOR Engine konfiguriert
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
Von der Kommunikation über HTTP ohne Verschlüsselung wird abgeraten. Sollte dies aus irgendeinem Grund erforderlich sein, muss der httpd-Server auf der SKOOR Engine zunächst so konfiguriert werden, dass diese Art der Kommunikation zugelassen wird.
Kollektoren, die HTTP(S) für die Kommunikation verwenden, können bei einem Failover in einer Primär-/Standby-Konfiguration nicht automatisch umgeschaltet werden
Im folgenden Abschnitt wird beschrieben, wie die verschlüsselte Kommunikation über HTTPS eingerichtet wird. Für die Verschlüsselung muss das vom SKOOR-Engine-Server verwendete Root-CA-Zertifikat auf das Collectorsystem kopiert werden. Es kann über Standard-Linux-Pfade im Dateisystem abgelegt werden.
Konfigurieren Sie die erforderlichen Parameter im Kollektor-Konfigurationsfile eranger-collector.cfg:
Setzen Sie den Parameter server1_id auf den Wert, der auf dem SKOOR Engine-Server als server_id konfiguriert ist (Standardwert ist 1).
Setzen Sie den Parameter server1_address auf den Hostnamen oder die IP-Adresse der SKOOR Engine in Form einer URL, wie unten gezeigt
Stellen Sie sicher, dass der Parameter „server1_port“ auskommentiert ist, da die Kommunikation sonst unterbrochen wird
Legen Sie server1_user und server1_passwd so fest, wie sie in der SKOOR Engine konfiguriert sind
Konfigurieren Sie entweder „server1_ssl_cacert“ oder „server1_ssl_capath“ auf den Speicherort, an den das Zertifikat zuvor kopiert wurde
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 mit Client-Authentifizierung
Die Client-Authentifizierung muss zunächst auf der SKOOR Engine aktiviert werden. Öffnen Sie dazu die entsprechende Webserver-Konfigurationsdatei:
/etc/httpd/conf.d/skoor-engine-over-http.conf
Entfernen Sie die Auskommentierung der Anweisung „SSLVerifyClient“:
<Location "/skoor-collector">
ExpiresActive On
ExpiresDefault "now"
ProxyPass http://localhost:50080 retry=0 connectiontimeout=15 timeout=30
SSLVerifyClient require
</Location>
Laden Sie httpd neu:
systemctl reload httpd
Name | Beschreibung |
|---|---|
server1_ssl_cacert | Vollständiger Pfad zum Stamm-CA-Zertifikat; der Kollektor verwendet diese bestimmte Datei |
server1_ssl_capath | Pfad zu einem Verzeichnis, das das Stamm-CA-Zertifikat enthält; der Kollektor sucht nach dem richtigen Zertifikat |
server1_ssl_verify_peer | Wenn auf „true“ gesetzt (Standard), wird das Zertifikat des SKOOR Engine-Servers überprüft |
server1_ssl_verify_host | Wenn auf „true“ gesetzt (Standard), wird der Hostname des SKOOR Engine-Servers überprüft |
server1_ssl_cert_client_public_key | Der öffentliche Schlüssel, der für die Client-Authentifizierung verwendet wird (Zertifikat des Kollektors) |
server1_ssl_cert_client_private_key | Der für die Client-Authentifizierung verwendete private Schlüssel (privater Schlüssel des Kollektors) |
server1_ssl_cert_client_private_key_passwd | Passwort zum Lesen des privaten Schlüssels des Kollektors, falls festgelegt |
SKOOR Engine-Lizenz
Beziehen Sie eine gültige Lizenz von SKOOR und fügen Sie die erforderlichen Zeilen in die Datei ein:
/etc/opt/eranger/eranger-server.cfg
Beispiel mit einer Lizenz für 1000 Geräte:
license_name = Example customer license_feature_set = 3.1 license_devices= 1000 license_key = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxx… steht für den tatsächlichen Lizenzschlüssel. Stellen Sie sicher, dass der tatsächliche Schlüssel in einer einzigen Zeile ohne Zeilenumbrüche dazwischen eingefügt wird.
SKOOR Engine-Konfiguration
Erweitern Sie die PATH-Variable für root:
~/.bashrc
Fügen Sie hinzu:
PATH=$PATH:/opt/eranger/bin
Wenden Sie anschließend die Änderungen an und führen Sie „eRanger.sh start“ aus, um die SKOOR Engine-Dienste zu starten:
. ~/.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:
Der Webservice, IC Alerter und Ethd werden nur angezeigt, wenn das entsprechende Paket installiert ist.
Geben Sie a ein, um alle erforderlichen Dienste zu starten. Beenden Sie den Vorgang anschließend mit 0.
SKOOR Engine-Anmeldung
Nun sollte man sich über einen Webbrowser bei der SKOOR Engine anmelden können, indem man den FQDN oder die IP-Adresse der SKOOR Engine in die Adressleiste eingibt:
Die Standard-Anmeldedaten lauten:
Benutzername | admin |
|---|---|
Passwort | admin |
Installation des SSL-Zertifikats
Nach einer Standardinstallation meldet der Browser, dass die SSL-Sicherheitszertifikate nicht vertrauenswürdig sind. Akzeptieren Sie entweder das standardmäßige selbstsignierte Zertifikat oder generieren und installieren Sie ein benutzerdefiniertes SSL-Zertifikat.
Standardmäßig befinden sich die Zertifikate unter:
/etc/pki/tls/certs/
Die Konfigurationsdatei
/etc/httpd/conf.d/ssl.conf
muss angepasst werden, damit sie auf die richtigen Zertifikate verweist. Ein Beispiel-Eintrag sieht wie folgt aus:
SSLCertificateFile /etc/pki/tls/certs/wildcard_mycompany.ch.crt SSLCertificateKeyFile /etc/pki/tls/private/private-key_mycompany.ch.key
Starten Sie den Apache-Webserver mit dem folgenden Befehl neu:
systemctl restart httpd
HTTPS-Umschreibung deaktivieren
Beim Aufruf von http://skoor.company.com schreibt der Webserver die Adresse um, sodass https anstelle von http verwendet wird. Wenn nur http verwendet werden soll, deaktivieren Sie die Umschreibungsregel in der Konfigurationsdatei:
/etc/httpd/conf.d/eranger.conf
Kommentieren Sie die folgenden drei Zeilen aus (indem Sie ein Rautezeichen an den Anfang setzen):
# RewriteEngine On
# RewriteCond %{HTTPS} !=on
# RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]
Starten Sie den Apache-Webserver mit dem folgenden Befehl neu:
systemctl restart httpd
Optimierung von SKOOR in virtuellen Umgebungen
Wenn Sie die SKOOR Engine oder den SKOOR Collector in einer virtuellen Maschine ausführen, muss der IO-Scheduler aus Leistungsgründen angepasst werden. Standardmäßig wird Red Hat < 7 mit dem CFQ-IO-Scheduler installiert. Der empfohlene IO-Scheduler für Red Hat-Systeme, die in einer virtuellen Maschine laufen, ist der Noop-Scheduler unter Red Hat 7 und der None-Scheduler unter Red Hat 8 / 9.
Für Red Hat 7-Systeme
Führen Sie die folgenden Befehle aus, um den noop-Scheduler für ein laufendes System für das sda-Blockgerät zu aktivieren, das in der Regel der ersten Festplatte entspricht:
# echo noop > /sys/block/sda/queue/scheduler # cat /sys/block/sda/queue/scheduler [noop] anticipatory deadline cfq
Der noop-Scheduler ist nun als aktueller Scheduler markiert. Führen Sie diesen Befehl für jede der für das System konfigurierten virtuellen Festplatten aus (ersetzen Sie sda durch den Namen der virtuellen Festplatte). Die obige Einstellung
bleibt jedoch nach einem Neustart nicht erhalten. Verwenden Sie die folgende Anleitung, um den noop-Scheduler dauerhaft zu aktivieren.
Legen Sie „noop“ global für alle Geräte fest, indem Sie „the file /etc/default/grub“ wie unten gezeigt bearbeiten und anschließend die grub2-Konfigurationsdatei neu erstellen:
# 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)
Für Red Hat 8/9-Systeme
Führen Sie die folgenden Befehle aus, um den Noop-Scheduler für ein laufendes System für das sda-Blockgerät zu aktivieren, das in der Regel der ersten Festplatte entspricht:
# echo none > /sys/block/sda/queue/scheduler # cat /sys/block/sda/queue/scheduler [none] mq-deadline kyber bfq
Der None-Scheduler ist nun als aktueller Scheduler markiert. Führen Sie diesen Befehl für jede der für das System konfigurierten virtuellen Festplatten aus (ersetzen Sie sda durch den Namen der virtuellen Festplatte). Die obige Einstellung
bleibt jedoch nach einem Neustart nicht erhalten. Befolgen Sie die folgende Anleitung, um den None-Scheduler dauerhaft zu aktivieren.
Legen Sie „none“ global für alle Geräte fest, indem Sie „the file /etc/default/grub“ wie unten gezeigt bearbeiten und anschließend die grub2-Konfigurationsdatei neu erstellen:
# 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)
Erstellen eines Yum-Repositorys
Falls Remote-Collector-Hosts keinen Zugriff auf Red Hat-Repositorys haben, die SKOOR Engine jedoch schon, kann es hilfreich sein, ein einfaches Software-Repository auf dem Server zu erstellen, das alle für die Installation über yum benötigten RPM-Dateien enthält. Das Repository steht den Collector-Hosts über Port 443 zur Verfügung, der bereits offen ist. Hier sind die erforderlichen Schritte, um ein solches Repository einzurichten und von einem Remote-Collector-Host darauf zuzugreifen:
Erstellen Sie das Stammverzeichnis des Repositorys und kopieren Sie alle erforderlichen RPM-Dateien:
# cd /srv/eranger/html # mkdir repo # cp /path/to/*.rpm repo/ # yum install createrepo # createrepo ./repo
Ersetzen Sie /path/to/ oben durch den Pfad, in den die erforderlichen RPM-Dateien auf dem SKOOR Engine-Host kopiert wurden. Dadurch wird ein neues Unterverzeichnis namens repodata innerhalb des Verzeichnisses repo erstellt.
Fügen Sie nun das Repository als Paketinstallationsquelle auf Remote-Hosts hinzu (z. B. einem SKOOR Engine Collector-Host):
# vi /etc/yum.repos.d/SKOOR.repo
[SKOOR] name=SKOOR baseurl=https://<ip or hostname of repository>/repo/ sslverify=false gpgcheck=0 enabled=1
Überprüfen Sie den Zugriff auf das neu hinzugefügte Repository vom Remote-Host aus:
# yum clean all # yum repolist
Nun kann der Remote-Host Software unter Verwendung des SKOOR-Repositorys als Paketquelle installieren.
Hinzufügen einer DVD oder CD als Repository
Um Software von einem eingelegten RedHat-DVD- oder CD-Laufwerk zu installieren, fügen Sie ein neues Repository hinzu, indem Sie die folgende Datei erstellen:
vi /etc/yum.repos.d/RHEL_6.5_DVD.repo
[RHEL_6.5_DVD] name=RHEL_6.5_DVD baseurl="file:///cdrom/" gpgcheck=0
