Installationsschritte
Diese Anleitung beschreibt die Installation der RPM-Pakete mit yum.
Diese Installationsanleitung ist für die Installation von SKOOR auf einem neuen System gedacht. Um ein bestehendes SKOOR-System zu aktualisieren, verwenden Sie bitte die Upgrade-Anleitung hier.
Voraussetzungen
Deaktivieren Sie SELinux
Vor der Installation der SKOOR Engine muss SELINUX deaktiviert werden. SELinux-Status anzeigen:
sestatus
Prüfen Sie, ob der Modus erzwingend ist:
SELinux status: enabled ... Current mode: enforcing
Wenn ja, ändern Sie ihn mindestens auf permissiv oder deaktivieren Sie ihn durch Änderung der SELinux-Konfiguration:
vi /etc/selinux/config
Ändern Sie die Konfiguration auf permissiv oder deaktiviert:
SELINUX=disabled
Aktivieren Sie die Konfiguration und überprüfen Sie sie mit sestatus:
setenforce 0
Cron für Benutzer zulassen
Wenn cron eingeschränkt ist, müssen die Benutzer, die von der SKOOR-Software benötigt werden, den Zugriff auf cron erlauben, indem sie in die folgende Datei eingetragen werden:
/etc/cron.allow
Benutzer:
postgres eranger reranger
SKOOR-Repository GPG-Fingerabdrücke:
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
SKOOR Engine Installation (einzelner Server)
Für Systeme mit Datenbankreplikation müssen zwei separate Server wie in diesem Abschnitt beschrieben installiert werden. Siehe Anleitung zur Datenbankreplikation für weitere Konfigurationsschritte
PostgreSQL-Installation
PostgreSQL 13 ist der Datenbank Server, der von der SKOOR Engine benötigt wird. Er muss vor der SKOOR Software installiert werden:
Installieren Sie den PostgreSQL Server mit dem SKOOR PostgreSQL Installer Paket:
dnf install eranger-postgresql
Dieses Paket führt die folgenden Schritte durch:
Installiert
postgresql13-server
,timescaledb-2-postgresql-13
,eranger-database-utils
durch seine Abhängigkeiten.Initialisiert einen Datenbank-Cluster mit
initdb
Stimmt
postgresql.conf
für TimescaleDB abInitialisiert eine Datenbank (einfache Datenbank, weder Schema noch Daten), die vom SKOOR Server verwendet werden kann
Öffnet den TCP-Port 5432 auf der Firewall
PgBouncer-Installation
PgBouncer wird als Verbindungspool verwendet und sitzt zwischen SKOOR und PostgreSQL Server.
Installieren Sie PgBouncer mit dem SKOOR PgBouncer Installer Paket:
dnf install eranger-pgbouncer
Dieses Paket führt die folgenden Schritte durch:
Installieren Sie
pgbouncer
über seine Abhängigkeiten.Rekonfiguriert PostgreSQL (postgresql.conf)
listen_addresses = 'localhost'
lauscht nur auf lokale Verbindungenunix_socket_directories = '/var/run/postgresql-backend'
benutze nicht den Standard PostgreSQL UNIX Socketmax_connections = 300
erlaube 300 Verbindungen
Konfiguriert PgPool
listen_addr = *
listen_port = 5432
unix_socket_dir = /var/run/postgresql
max_client_conn = 300
default_pool_size = 60
Standard Server Installation
Für Kunden, die nur die Basissoftware benötigen (d.h. die meisten Kunden), führen Sie den folgenden Befehl aus, um die benötigten 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 Engine Collector Installation
Seit dem Release 5.5 gibt es zwei Optionen für einen externen Kollektor, die Vollinstallation und die Basisinstallation. Die Basisinstallation kommt mit einem eingeschränkten Funktionsumfang und weniger Abhängigkeiten und kann später mit zusätzlichen Paketen zu einer vollständigen Installation erweitert werden.
Vollständige SKOOR Engine Collector Installation:
Um einen externen SKOOR Engine Collector zu installieren, verwenden Sie den folgenden Befehl für die vollständige Installation:
dnf install eranger-collector eranger-collector-eem eranger-collector-mail
Grundlegende Skoor Engine Collector Installation:
Um einen einfachen externen SKOOR Engine Collector 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 zur 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, dies zu erreichen.
Allgemein
Für die SKOOR Engine ist ein Kollektor eine besondere Art von Benutzer. Daher muss jeder externe Kollektor in der UI konfiguriert werden. Erstellen Sie einen lokal authentifizierten Benutzer mit der Rolle Kollektor in /root /Users /Users und setzen Sie ein Passwort.
Die weitere Konfiguration erfolgt in der Kollektor-Konfigurationsdatei 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_id in der Konfiguration (wenn er wie im folgenden Beispiel auskommentiert ist, ist die ID 1):
#server_id = 1
Wenn ein externer Kollektor Messungen an mehr als eine SKOOR Engine liefert, muss der Parameter server_id auf jeder SKOOR Engine anders lauten.
TCP
Dies ist der Standardweg, über den Kollektoren mit der SKOOR Engine kommunizieren. Die Kommunikation ist nicht verschlüsselt.
Die folgenden Parameter müssen in eranger-collector.cfg konfiguriert werden:
Setzen Sie den Parameter server1_id auf den Wert, der auf dem SKOOR Engine Server als server_id konfiguriert ist (Standard 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. Falls dies aus irgendeinem Grund erforderlich ist, muss der httpd Server auf der SKOOR Engine zunächst so konfiguriert werden, dass diese Art der Kommunikation möglich ist.
Kollektoren, die HTTP(S) für die Kommunikation verwenden, können nicht automatisch umgeschaltet werden, wenn ein Failover in einer Primär-/Standby-Konfiguration durchgeführt wird.
Im folgenden Abschnitt wird beschrieben, wie eine verschlüsselte Kommunikation über HTTPS eingerichtet wird. Zur Verschlüsselung muss das vom SKOOR Engine Server verwendete Root-CA-Zertifikat auf das Kollektorsystem kopiert werden. Es kann über Standard-Linux-Pfade im Dateisystem abgelegt werden.
Konfigurieren Sie die erforderlichen Parameter in eranger-collector.cfg:
Setzen Sie den Parameter server1_id auf den Wert, der auf dem SKOOR Engine Server als server_id konfiguriert ist (Standard 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 sonst die Kommunikation unterbrochen wird.
Setzen Sie server1_user und server1_passwd wie in der SKOOR Engine konfiguriert
Konfigurieren Sie entweder server1_ssl_cacert oder server1_ssl_capath auf den Ort, 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 zuerst auf der SKOOR Engine aktiviert werden. Öffnen Sie dazu die entsprechende Konfigurationsdatei des Webservers:
/etc/httpd/conf.d/skoor-engine-over-http.conf
Dekommentieren Sie die Direktive 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 Root-CA-Zertifikat, der Kollektor verwendet diese spezifische Datei |
server1_ssl_capath | Pfad zu einem Verzeichnis, das das Root-CA-Zertifikat enthält, der Kollektor wird nach dem richtigen Zertifikat suchen |
server1_ssl_verify_peer | Bei true (Standard) wird das Zertifikat des SKOOR Engine Servers überprüft |
server1_ssl_verify_host | Bei true (Voreinstellung) 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 (das Zertifikat des Kollektors) |
server1_ssl_cert_client_private_key | Der private Schlüssel, der für die Client-Authentifizierung verwendet wird (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
Besorgen Sie sich 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 aktuellen Lizenzschlüssel. Achten Sie darauf, dass der tatsächliche Schlüssel in einer einzigen Zeile ohne Zeilenumbruch dazwischen eingefügt wird.
SKOOR Engine Konfiguration
Erweitern Sie die PATH-Variable für root:
~/.bashrc
Hinzufügen:
PATH=$PATH:/opt/eranger/bin
Übernehmen Sie dann die Änderungen 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 aufgeführt, wenn das entsprechende Paket installiert ist.
Geben Sie a ein, um alle erforderlichen Dienste zu starten. Beenden Sie dann mit 0.
SKOOR Engine Anmeldung
Nun sollte man in der Lage sein, sich mit einem Webbrowser an der SKOOR Engine anzumelden, indem man den FQDN oder die IP-Adresse der SKOOR Engine in die Adresszeile eingibt:
Die Standard-Anmeldedaten sind:
Benutzername | admin |
---|---|
Kennwort | admin |
Nach einer Standardinstallation wird sich der Browser über nicht vertrauenswürdige SSL-Sicherheitszertifikate beschweren. Akzeptieren Sie entweder das standardmäßige selbstsignierte Zertifikat oder erstellen und installieren Sie ein eigenes SSL-Zertifikat.
Standardmäßig befinden sich die Zertifikate unter:
/etc/pki/tls/certs/
Die Konfigurationsdatei
/etc/httpd/conf.d/eranger.conf
muss so angepasst werden, dass sie auf die richtigen Zertifikate verweist. Ein Beispieleintrag sieht so aus:
SSLCertificateFile /etc/pki/tls/certs/wildcard_mycompany.ch.crt SSLCertificateKeyFile /etc/pki/tls/private/private-key_mycompany.ch.key
Wenn http://skoor.company.com aufgerufen wird, schreibt der Webserver die Adresse so um, dass https statt http verwendet wird. Wenn nur http verwendet werden soll, deaktivieren Sie die Rewriting-Regel in der Konfigurationsdatei:
/etc/httpd/conf.d/eranger.conf
Kommentieren Sie die folgenden drei Zeilen aus (setzen Sie ein Rautenzeichen an den Anfang):
# RewriteEngine On # RewriteCond %{HTTPS} !=on # RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]
Starten Sie den Apache-Webserver mit dem Befehl neu:
eRanger.sh restart httpd
oder:
systemctl restart httpd
Optimieren von SKOOR auf virtuellen Umgebungen
Wenn SKOOR Engine oder SKOOR Collector innerhalb einer virtuellen Maschine ausgeführt werden, 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 normalerweise 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 nicht über Neustarts hinweg erhalten. Verwenden Sie die folgende Anleitung, um den noop-Scheduler dauerhaft zu aktivieren.
Setzen Sie noop global für alle Geräte, indem Sie the file /etc/default/grub
wie unten gezeigt bearbeiten und dann 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 normalerweise 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 nicht über Neustarts hinweg bestehen. Verwenden Sie die folgende Anleitung, um den none-Scheduler dauerhaft zu aktivieren.
Setzen Sie none global für alle Geräte, indem Sie the file /etc/default/grub
wie unten gezeigt bearbeiten und dann 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
Für den Fall, dass entfernte Kollektor-Hosts keinen Zugriff auf Red Hat Repositories haben, die SKOOR Engine aber schon, kann es hilfreich sein, ein einfaches Software-Repository auf dem Server zu erstellen, das alle RPM-Dateien enthält, die für die Installation über yum verwendet werden. Das Repository wird für die Kollektor-Hosts über Port 443 verfügbar sein, der bereits ein offener Port ist. Im Folgenden werden die Schritte beschrieben, die erforderlich sind, um ein solches Repository einzurichten und von einem entfernten Kollektor-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/ 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 Repository-Verzeichnisses erstellt.
Fügen Sie nun das Repository als Paketinstallationsquelle auf entfernten Rechnern hinzu (z.B. auf einem SKOOR Engine Collector Rechner):
# 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 auf dem entfernten Rechner:
# yum clean all # yum repolist
Jetzt kann der entfernte Rechner Software installieren, indem er das SKOOR-Repository als Paketquelle verwendet.
Hinzufügen einer DVD oder CD als Repository
Um Software von einer eingelegten RedHat-DVD oder -CD 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