Installation

Diese Anleitung beschreibt die Installation der RPM-Pakete mit yum .

Diese Installationsanleitung soll für die Installation von SKOOR auf einem neuen System verwendet werden. Um ein bestehendes SKOOR-System zu aktualisieren, verwenden Sie bitte die Upgrade-Anleitung hier .

Voraussetzungen

Deaktivieren Sie SELinux

Vor der Installation SKOOR Engine muss SELINUX deaktiviert werden. SELinux-Status anzeigen:

sestatus

Überprüfen Sie, ob der Modus Folgendes erzwingt:

SELinux status:                 enabled
...
Current mode:                   enforcing

Wenn ja, ändern Sie es zumindest auf permissiv oder deaktivieren Sie es, indem Sie die SELinux-Konfiguration ändern:

vi /etc/selinux/config

Ändern Sie die Konfiguration in „Permissiv“ oder „Deaktiviert“:

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 Cron-Zugriff gewährt werden, indem sie der folgenden Datei hinzugefügt werden:

/etc/cron.allow

Benutzer:

postgres
eranger
reranger

GPG-Fingerabdrücke im SKOOR-Repository:

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 ( Server )

Für Systeme mit Datenbankreplikation müssen zwei separate Server installiert werden, wie in diesem Abschnitt beschrieben. Weitere Konfigurationsschritte finden Sie im Handbuch zur Datenbankreplikation

PostgreSQL-Installation

PostgreSQL 13 ist der von der SKOOR Engine benötigte Server . Es 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 postgresql13-server , timescaledb-2-postgresql-13 und eranger-database-utils über seine Abhängigkeiten.

  • Initialisiert einen Datenbankcluster mit initdb

  • Optimiert postgresql.conf für TimescaleDB

  • Initialisiert eine Datenbank (einfache Datenbank, kein Schema oder 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-Installationspaket:

dnf install eranger-pgbouncer

Dieses Paket führt die folgenden Schritte aus:

  • Installieren Sie pgbouncer über seine Abhängigkeiten.

  • Konfiguriert PostgreSQL neu (postgresql.conf)

    • listen_addresses = 'localhost' wartet nur auf lokale Verbindungen

    • unix_socket_directories = '/var/run/postgresql-backend' verwendet keinen Standard-PostgreSQL-UNIX-Socket

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

Für Kunden, die nur den Basissatz an Software 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>

Installation SKOOR Engine Kollektor

Seit dem Release 5.5 gibt es zwei Optionen für einen externen Kollektor : Vollinstallation und Basisinstallation. Die Basisinstallation verfügt über einen 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 Kollektor Installation:

Um einen externen SKOOR Engine Kollektor zu installieren, verwenden Sie den folgenden Befehl für die vollständige Installation:

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

Grundlegende Installation des Skoor Engine Kollektor :

Um einen einfachen externen SKOOR Engine Kollektor zu installieren, verwenden Sie den folgenden Befehl:

dnf install eranger-collector

Zusätzliche Pakete für den minimalen Skoor Engine Kollektor :

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 SKOOR Engine

Nach der Installation eines neuen externen Kollektor muss die Kommunikation zur SKOOR Engine konfiguriert werden. Im folgenden Abschnitt werden verschiedene Möglichkeiten aufgezeigt, dies zu erreichen.

Allgemein

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 in /root /Users /Users und legen Sie ein Passwort fest.

Die weitere Konfiguration erfolgt in der Kollektoren Konfigurationsdatei auf dem Kollektor Server :

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

Zunächst muss die server_id der SKOOR Engine identifiziert werden. Öffnen Sie auf dem SKOOR Engine Host die eranger- Server :

/etc/opt/eranger/eranger-server.cfg

Suchen Sie den Parameter server_id in der Konfiguration (wenn er wie im folgenden Beispiel kommentiert wird, 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 unterschiedlich sein.

TCP

Dies ist die Standardmethode, mit Kollektoren mit der SKOOR Engine kommunizieren. Die Kommunikation ist nicht verschlüsselt.

Folgende Parameter müssen in eranger- Kollektor 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).

  • Legen Sie den Parameter server1_address auf den Hostnamen oder die IP-Adresse der SKOOR Engine fest (Unix-Sockets werden nur für lokale Kollektoren verwendet).

  • Legen Sie server1_user und server1_passwd wie in der SKOOR Engine konfiguriert fest

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 aus irgendeinem Grund erforderlich, muss zunächst der httpd- Server auf der SKOOR Engine so konfiguriert werden, dass er diese Art der Kommunikation zulässt.

Kollektoren , die HTTP(S) für die Kommunikation verwenden, können nicht automatisch umgeschaltet werden, wenn ein Failover in einem Primär-/Standby-Setup durchgeführt wird

Im folgenden Abschnitt wird beschrieben, wie Sie eine verschlüsselte Kommunikation über HTTPS einrichten. Zur Verschlüsselung muss das vom SKOOR Engine Server verwendete Root-CA-Zertifikat auf das Kollektor System kopiert werden. Zur Platzierung im Dateisystem können Standard-Linux-Pfade verwendet werden.

Konfigurieren Sie die erforderlichen Parameter in eranger- Kollektor :

  • Setzen Sie den Parameter server1_id auf den Wert, der auf dem SKOOR Engine Server als server_id konfiguriert ist (Standard ist 1).

  • Legen Sie den Parameter server1_address auf den Hostnamen oder die IP-Adresse der SKOOR Engine in Form einer URL fest, wie unten gezeigt

  • Stellen Sie sicher, dass der Parameter server1_port kommentiert ist, andernfalls wird die Kommunikation unterbrochen

  • Legen Sie server1_user und server1_passwd wie in der SKOOR Engine konfiguriert fest

  • Konfigurieren Sie entweder server1_ssl_cacert oder server1_ssl_capath für den Speicherort, an dem 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 jeweilige Server Konfigurationsdatei:

/etc/httpd/conf.d/skoor-engine-over-http.conf

Kommentieren Sie die SSLVerifyClient- Direktive aus:

<Location "/skoor-collector">
        ExpiresActive On
        ExpiresDefault "now"
        ProxyPass http://localhost:50080 retry=0 connectiontimeout=15 timeout=30
    SSLVerifyClient require
</Location>

httpd neu laden:

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 sucht nach dem richtigen Zertifikat

server1_ssl_verify_peer

Wenn es auf „true“ (Standard) gesetzt ist, wird das Zertifikat des SKOOR Engine Server überprüft

server1_ssl_verify_host

Wenn auf „true“ (Standard) gesetzt, wird der Hostname des SKOOR Engine Server überprüft

server1_ssl_cert_client_public_key

Der für die Client-Authentifizierung verwendete öffentliche Schlüssel ( Kollektor -Zertifikat)

server1_ssl_cert_client_private_key

Der private Schlüssel, der für die Client-Authentifizierung verwendet wird ( Kollektor privater Schlüssel)

server1_ssl_cert_client_private_key_passwd

Passwort zum Lesen des privaten Schlüssels des Kollektor , falls festgelegt

SKOOR Engine

Besorgen Sie sich eine gültige Lizenz von SKOOR und fügen Sie der Datei die erforderlichen Zeilen hinzu:

/etc/opt/eranger/eranger-server.cfg

Beispiel mit einer Lizenz von 1000 Geräten:

license_name   = Example customer
license_feature_set = 3.1
license_devices= 1000
license_key    = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

xxxx… stellt den tatsächlichen Lizenzschlüssel dar. Stellen Sie sicher, dass der eigentliche Schlüssel in einer einzelnen Zeile ohne dazwischen liegende Zeilenumbrüche eingefügt wird.

SKOOR Engine

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 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. Dann beenden Sie mit 0 .

SKOOR Engine -Login

Jetzt sollte man sich über einen Webbrowser bei SKOOR Engine anmelden und den FQDN oder die IP-Adresse von SKOOR Engine in die Adressleiste eingeben können:

Die Standard-Anmeldeinformationen sind:

Nutzername

Administrator

Passwort

Administrator

Nach einer Standardinstallation beschwert sich der Browser über nicht vertrauenswürdige SSL-Sicherheitszertifikate. Akzeptieren Sie entweder das selbstsignierte Standardzertifikat 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/eranger.conf

muss angepasst werden, um auf die richtigen Zertifikate zu verweisen. Ein Beispieleintrag sieht so aus:

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

Beim Aufruf von http://skoor.company.com schreibt der Webserver die Adresse so um, dass sie https anstelle von http verwendet. 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 (mit einem Rautezeichen am Anfang):

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

Starten Sie den Apache-Webserver mit dem folgenden Befehl neu:

eRanger.sh restart httpd

oder:

systemctl restart httpd

Optimierung von SKOOR in virtuellen Umgebungen

Wenn SKOOR Engine oder SKOOR Kollektor in 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 ausgeführt werden, ist der Noop -Scheduler auf Red Hat 7 und demng>none-Scheduler auf 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- Planer ist jetzt als aktueller Planer markiert. Führen Sie diesen Befehl für jedes der für das System konfigurierten virtuellen Laufwerke aus (ersetzen Sie sda ​​durch den Namen des virtuellen Laufwerks).
Die obige Einstellung bleibt jedoch bei Neustarts nicht bestehen. 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 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 Nicht- Planer ist nun als aktueller Planer markiert. Führen Sie diesen Befehl für jedes der für das System konfigurierten virtuellen Laufwerke aus (ersetzen Sie sda ​​durch den Namen des virtuellen Laufwerks).
Die obige Einstellung bleibt jedoch bei Neustarts nicht bestehen. Verwenden Sie die folgende Anleitung, um den None- Planer dauerhaft zu aktivieren.

Legen Sie „Keine“ global für alle Geräte fest, 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

Falls Remote- Kollektor 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 verwendeten RPM-Dateien enthält. Das Repository steht den Kollektor Hosts über Port 443 zur Verfügung, der bereits offen ist. Hier sind die Schritte, die erforderlich sind, um ein solches Repository einzurichten und von einem Remote- Kollektor Host darauf zuzugreifen:

Erstellen Sie das Repository-Stammverzeichnis 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 mit dem Namen „repodata“ im Repo-Verzeichnis erstellt.

Fügen Sie nun das Repository als Paketinstallationsquelle auf Remote-Hosts hinzu (z. B. einem SKOOR Engine Kollektor 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 Repo vom Remote-Host aus:

# yum clean all
# yum repolist 

Jetzt kann der Remote-Host Software mithilfe 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