> For the complete documentation index, see [llms.txt](https://docs.enginsight.com/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.enginsight.com/docs/manual/installation-und-konfiguration/architektur.md).

# Architektur

Das folgende Architekturdiagramm zeigt den schematischen Aufbau einer vollständigen Enginsight On-Premises-Installation inklusive aller Kernkomponenten, optionaler Erweiterungen und der zugehörigen Netzwerkkommunikation.

<figure><img src="/files/eOBTaHEjZGv7zncrlQgH" alt=""><figcaption></figcaption></figure>

***

### Zentrale Enginsight Server

Die zentralen Server-Komponenten einer Enginsight On-Premises-Installation sind der **Enginsight Applikationsserver** und der **Enginsight Datenbankserver**.

#### Applikationsserver

Der **Applikationsserver** ist zuständig für den Betrieb der Benutzeroberfläche der Enginsight Plattform, der API sowie aller Enginsight Services.

Er bildet den zentralen Kommunikationspunkt für die verschiedenen Enginsight Komponenten und ist standardmäßig über **Port 443** erreichbar für:

* die Benutzeroberfläche der **Enginsight Plattform** mittels Browser-Zugriff über das Internet.
* den oder die **Enginsight Komponentenserver** für die Enginsight Komponenten **Hacktor**, **Watchdog** und **Observer**.
* den **Enginsight Agenten Pulsar**, der auf Windows-, Linux- und macOS-Hosts installiert wird. Die Pulsare fungieren gleichzeitig als Log-Kollektoren für das Enginsight SIEM, falls dieses genutzt wird.
* den **SIEM Management Server**, falls das Enginsight SIEM genutzt wird.

Der Applikationsserver selbst greift für die Datenspeicherung über **Port 27017** auf den Datenbankserver zu.

Für Updates der Enginsight Plattform, Komponenten und Services sowie für aktuelle CVEs, APTs und mehr greift der Applikationsserver über **Port 443** auf den **Enginsight Update-Server** zu. Dieser wird standardmäßig über das Internet zur Verfügung gestellt.

#### Datenbankserver

Der **Datenbankserver** ist der zentrale Speicherort für alle Daten der Enginsight Plattform außer der Log-Daten des Enginsight SIEMs. Als Datenbank wird das dokumentenorientierte NoSQL-Datenbankmanagementsystem MongoDB eingesetzt.

Von allen Server-Komponenten greift ausschließlich der Applikationsserver auf den Datenbankserver über **Port 27017** zu.

***

### Komponentenserver und Pulsar

Die auf dem **Komponentenserver** installierten Komponenten Hacktor, Watchdog und Observer sowie der Enginsight Agent **Pulsar** dienen primär der Datensammlung auf und Überwachung von Hosts (Server und Clients) und Endpunkten (Webseiten und Domains).

#### Komponentenserver

Der oder die **Enginsight Komponentenserver** sind zuständig für den Betrieb folgender Enginsight Komponenten:

* Der **Hacktor** ist eine Enginsight Komponente, die in einem spezifischen Netzwerksegment als Dienst installiert wird, um auf Basis spezifischer Checks Penetrationstests auf erreichbaren Assets durchzuführen.
* Der **Watchdog** ist eine Enginsight Komponente, die in einem Subnetz als Dienst installiert wird, um unter anderem Netzwerkgeräte zu überwachen, auf denen kein Pulsar installiert werden kann, oder die ohne Einsatz eines Agenten inventarisiert werden sollen.
* Der **Observer** ist eine Enginsight Komponente, die als Dienst auf Servern installiert wird, die unterschiedliche (geografische) Standorte abbilden können, um Endpunkte (Webseiten und Domains) zu überwachen.

Es können alle drei Komponenten auf einem Server betrieben werden, wir empfehlen jedoch einen getrennten Betrieb.

Der Komponentenserver kommuniziert mit dem Applikationsserver standardmäßig über **Port 443**. Dabei spielt es keine Rolle, ob er in demselben Netzwerk wie auch die Enginsight On-Premises-Instanz installiert ist, oder bspw. in einem Kundennetzwerk.

#### Pulsare

Der **Pulsar** ist ein Agent, der auf einem Windows-, Linux- oder macOS-Host (einem Server oder Client) installiert wird, um diesen von innen heraus zu überwachen und Netzwerkattacken erkennen und blockieren zu können.

Im Kontext des Enginsight SIEMs dient der Pulsar zudem als Kollektor für Roh-Logs, die dann an das SIEM weitergeleitet werden.

Pulsare kommunizieren mit dem Applikationsserver standardmäßig über **Port 443**. Dabei spielt es keine Rolle, ob sie auf Hosts in demselben Netzwerk wie auch die Enginsight On-Premises-Instanz installiert sind, oder bspw. auf Hosts in einem Kundennetzwerk.

***

### Zentrale SIEM-Server

Das **Enginsight** **SIEM (Security Information and Event Management)** kann optional zusätzlich zu einer Enginsight On-Premises-Instanz installiert werden. Es sammelt Sicherheitsinformationen aus verschiedenen internen und externen Log-Quellen, analysiert eingehende Log-Daten und stellt diese für die Weiterverarbeitung zur Verfügung.

Die zentralen SIEM-Server sind dabei der **SIEM Management Server** und der **SIEM Index Server**.

#### SIEM Management Server

Der **SIEM Management Server** nutzt **Apache Zookeeper** und ist für den Betrieb des **Enginsight** **Loggernauten**, dem zentralen Steuerelement des SIEM, zuständig.

Er bildet den zentralen Kommunikationspunkt für die verschiedenen SIEM-Komponenten und ist standardmäßig über die folgenden Ports erreichbar:

* **Port 443** für die Kommunikation mit der Enginsight API auf dem Applikationsserver.
* **Port 2181** für den SIEM Index Server.
* Optional: **Port 443** für die Enginsight Komponente Tracer.
* Optional: **Port 443** bei Nutzung eines externen, S3-kompatiblen Backup-Servers.
* Optional: **Port 22** bei Nutzung eines externen SFTP-Backup-Servers.

#### SIEM Index Server

Der **SIEM Index Server** nutzt **Apache Solr**. Er ist die primäre Datenbank für das Enginsight SIEM, indexiert Logs und macht diese einfach durchsuchbar.

Der SIEM Index Server kann vom SIEM Management Server über **Port 8983** erreicht werden.

Es können mehrere SIEM Index Server parallel betrieben werden. Diese kommunizieren dabei ebenfalls über **Port 8983** miteinander.

***

### Tracer (optional)

Der **Tracer** ist eine Enginsight Komponente, die für die Machine Learning-basierte Zeitreihenanalyse im Enginsight SIEM (und in einem anderen Kontext auch auf Hosts) zuständig ist.

Der Tracer kann auf dem SIEM Management Server betrieben werden, es empfiehlt sich aber ein getrennter Betrieb.

Wird der Tracer auf einem gesonderten Server betrieben, kommuniziert er mit dem SIEM Management Server über **Port 443**.

***

### Externe Backup-Server (optional)

Die SIEM-Komponente **Loggernaut** unterstützt zwei Backup-Strategien für die automatisierte Sicherung von Roh-Logs außerhalb der lokalen Speicherung auf dem SIEM Management Server:

* **S3-kompatibler Backup-Server**: Die Roh-Logs werden zusätzlich zur lokalen Speicherung auf einem Amazon S3-kompatiblen Backup-Server gespeichert. Die Kommunikation zwischen externem Backup-Server und SIEM Management Server erfolgt dabei über **Port 443**.
* **SFTP-Backup-Server**: Die Roh-Logs werden zusätzlich zur lokalen Speicherung auf einem SFTP (Secure File Transfer Protocol)-Server gespeichert. Die Kommunikation zwischen externem Backup-Server und SIEM Management Server erfolgt dabei über **Port 22**.

***

### Kundennetzwerke (Beispiel)

Jede On-Premises-Installation von Enginsight ist an eine **Hauptorganisation** gekoppelt. Zu jeder Hauptorganisation können beliebig viele **Unterorganisationen** hinzugefügt werden. Diese Unterorganisationen haben alle eine eigene Enginsight Benutzeroberfläche.

Jede Unterorganisation kann dabei für bspw. einen Kunden und dessen Netzwerk stehen. Alle Kundennetzwerke laufen unabhängig voneinander und können gegenseitig keine Daten einsehen. Dies ist nur der Hauptorganisation möglich, die auch den Enginsight Applikationsserver und den Datenbankserver betreibt.

In jedem Kundennetzwerk können nun eigene **Komponentenserver** für den Betrieb der Enginsight Komponenten Hacktor, Watchdog und Observer eingerichtet sowie **Pulsare** installiert werden. Sowohl Komponentenserver als auch Pulsare senden ihre Daten über **Port 443** an den zentralen Applikationsserver der Hauptorganisation.

***
