Wie aktualisiere ich Enginsight in einem Air-Gapped-System?
VorherigeWillkommen in der Enginsight Knowledge BaseNächsteWie konfiguriere ich in Enginsight Alarm-Benachrichtigungen in Slack?
Zuletzt aktualisiert
War das hilfreich?
Ein Air-Gapped-System (von engl. air gap, „Luftspalt“) ist ein Gerät oder Netzwerk, das physisch und logisch vollständig von anderen Geräten und Netzwerken sowie dem Internet abgeschottet ist.
Eine Datenübertragung kann damit prinzipiell nur über zweierlei Wege stattfinden:
manuell über entsprechende transportable Speichermedien.
über die Vorschaltung einer sog. demilitarisierten Zone (DMZ), die eine abgesicherte Verbindung zum Internet oder zu anderen Netzwerken hat. Die Kommunikation zwischen dem Air-Gapped-System und dem DMZ-Server erfolgt ausschließlich ausgehend vom Air-Gapped-System.
Für die Aktualisierung der Enginsight Plattform und ihrer Komponenten bedeutet dies, dass der direkte Zugriff durch das Air-Gapped-System auf das Update-Repository von Enginsight über das Internet (https://get.enginsight.com) nicht möglich ist.
--------------------
Enginsight stellt für diesen Fall zwei zusätzliche, alternative Update-Pfade zur Verfügung. Diese müssen beide durchgeführt werden, um die komplette Enginsight Instanz zu aktualisieren:
Alternativer Update-Pfad für Air-Gapped-Systeme: Teil 1: Hiermit werden die Docker-Container, die auf dem Enginsight Applikationsserver laufen, aktualisiert.
Alternativer Update-Pfad für Air-Gapped-Systeme: Teil 2: Hiermit werden unter anderem die Enginsight Komponenten Pulsar, Observer, Hacktor, Watchdog und Loggernaut, das Enginsight SIEM, die CVE-Datenbank sowie die YARA-Regeln zur Erkennung von APTs (Advanced Persistent Threats) aktualisiert.
Bitte beachte: Für die Durchführung der Updates wird eine Maschine mit Internetverbindung und installierter Docker Engine benötigt. Wir empfehlen hierfür einen DMZ-Server zu nutzen.
Nimm folgende Schritte vor, um die Docker-Container, die auf dem Enginsight Applikationsserver laufen, zu aktualisieren:
Melde dich mit folgendem Befehl in der Docker Registry an:
sudo docker login registry.enginsight.comDu wirst nun aufgefordert, Benutzername (Username) und Passwort (Password) für die Docker Registry einzugeben.
Bitte beachte: Die Zugangsdaten für die Enginsight Docker Registry erhältst du von uns. Nimm dazu Kontakt mit uns auf unter insidesales@enginsight.com.
Wenn die Anmeldung erfolgreich war, wird dir die Meldung Login Succeeded angezeigt.
Führe nun das Update-Skript mit folgendem Befehl auf dem DMZ-Server aus:
sudo ./airgap.sh exportDas Update-Skript:
lädt das komplette Enginsight Enterprise-Repository von GitHub herunter.
extrahiert die aktuelle Datei docker-compose.yml und liest die Versionen der Docker-Container aus.
erstellt die Datei airgap.versions.
zieht alle Enginsight Docker-Images und Dependencies (z.B. MongoDB, Redis).
verpackt alles in einem einzigen Datei-Archiv, enginsight.airgap.
Dieser Prozess kann je nach Geschwindigkeit deiner Internetverbindung eine Weile dauern.
Nun musst du sowohl das in Schritt 1 heruntergeladene Update-Skript, airgap.sh, als auch das in Schritt 3 erstellte Dateiarchiv, enginsight.airgap, auf deinem Air-Gapped-System einspielen.
Kopiere dazu die Dateien manuell mithilfe eines transportablen Speichermediums auf dein Air-Gapped-System oder nutze einen anderen Übertragungsweg deiner Wahl.
Bitte beachte: Wir empfehlen, diesen Schritt mindestens einmal im Monat durchzuführen.
Führe nun mit folgenden Befehlen das Update-Skript auf deinem Air-Gapped-System aus:
chmod +x airgap.sh
sudo ./airgap.sh import enginsight.airgapDas Update-Skript:
lädt alle Enginsight Docker-Images und Dependencies.
aktualisiert alle Versionen der Docker-Images in der Datei docker-compose.yml.
kopiert die Datei airgap.versions und das Dateiarchiv enginsight.airgap in das Standard-Verzeichnis /opt/enginsight/enterprise/.
Bitte beachte: Deine Enginsight Konfigurationsdateien unter ./conf/ werden durch das Update-Skript nicht beeinflusst.
Wenn du die Datei airgap.versions und das Dateiarchiv enginsight.airgap in einem anderen Verzeichnis als /opt/enginsight/enterprise/ abspeichern möchtest, lauten die Befehle zum Ausführen des Update-Skripts wie folgt:
chmod +x airgap.sh
sudo ./airgap.sh import -d <AlternativerVerzeichnispfad> enginsight.airgapVergiss dabei nicht, <AlternativerVerzeichnispfad> entsprechend zu ersetzen.
Starte nun mit folgendem Befehl die Docker-Container auf deinem Air-Gapped-System neu, um die Änderungen zu übernehmen:
cd /opt/enginsight/enterprise
sudo docker compose down
sudo docker compose up -dBitte beachte: Wenn du in Schritt 6 ein anderes Verzeichnis als das Standard-Verzeichnis /opt/enginsight/enterprise/ angegeben hast, musst du den Verzeichnispfad entsprechend anpassen.
Mit Teil 2 des Updates werden unter anderem die Enginsight Komponenten Pulsar, Observer, Hacktor, Watchdog und Loggernaut, das Enginsight SIEM, die CVE-Datenbank sowie die YARA-Regeln zur Erkennung von APTs aktualisiert.
Bitte beachte: Wir empfehlen dringend, diesen Update-Pfad mindestens einmal täglich durchzuführen, um die CVE-Datenbank und APT-Erkennungsregeln tagesaktuell zu halten.
Nimm folgende Schritte vor:
Für Teil 2 des Updates stehen drei Dateiarchive zur Verfügung, die aus Sicherheitsgründen auf verschiedenen Servern liegen:
Vollständiger Speicherabzug auf dem Content Delivery Network (CDN) von AWS: https://dls.enginsight.com/airgap.tar.gz
Dieses Dateiarchiv ist für die Aktualisierung obligatorisch.
Speicherabzug der Prüfwerte (Hashes) im regulären Update-Repository von Enginsight: https://get.enginsight.com/airgap.tar.gz.sha1 https://get.enginsight.com/airgap.tar.gz.sha256
Diese Dateiarchive sind optional.
Lade das oder die Dateiarchive, die du benötigst, auf deinen DMZ-Server über die angegebenen URLs herunter.
Kopiere das oder die heruntergeladenen Dateiarchive manuell mithilfe eines transportablen Speichermediums auf dein Air-Gapped-System oder nutze einen anderen Übertragungsweg deiner Wahl.
Bitte beachte: Um die CVE-Datenbank und die APT-Erkennungsregeln tagesaktuell zu halten, empfehlen wir dringend, diesen Schritt z.B. per Skript zu automatisieren.
Speichere das oder die Dateiarchive in einem Verzeichnis deiner Wahl ab. Der Pfad zu dem Verzeichnis, in dem die Dateiarchive gespeichert werden, wird zur Anpassung der Enginsight Konfigurationsdatei in Schritt 4.3 benötigt.
Passe nun die Konfigurationsdatei deiner Enginsight Installation auf dem Air-Gapped-System an.
Bitte beachte: Die folgenden Schritte müssen auf dem Enginsight Applikationsserver durchgeführt werden.
Logge dich auf dem Enginsight Applikationsserver ein.
Öffne mit folgendem Befehl die Enginsight Konfigurationsdatei:
Füge der Konfigurationsdatei auf Root-Ebene das Attribut "updateRepositoryUrl" hinzu und ergänze als Wert <URLUpdateVerzeichnis> die URL, die auf das Verzeichnis zeigt, in dem die entpackten Dateien aus Schritt 3 liegen.
Bitte beachte: Die Angabe des Verzeichnispfades muss hier inklusive https:// oder http:// erfolgen. Es reicht nicht, nur die Domain anzugeben.
Speichere die Änderungen in der Konfigurationsdatei (Strg + o) und bestätige den Speicherprozess. Schließe die Datei (Strg + x).
Enginsight greift nun auf das angegebene Verzeichnis zu statt auf das standardmäßige Update-Repository (https://get.enginsight.com).
Navigiere nun mit folgendem Befehl zum Enginsight Installationsverzeichnis:
Führe das Enginsight Setup-Skript für den Applikationsserver mit folgendem Befehl erneut aus und bestätige alle Abfragen, damit die Änderungen wirksam werden:
Zuletzt aktualisiert
War das hilfreich?
War das hilfreich?
tar -xzf airgap.tar.gzsudo nano /opt/enginsight/enterprise/conf/services/config.json "updateRepositoryUrl": "<URLUpdateVerzeichnis>",
"api": {
...
},cd /opt/enginsight/enterprise sudo ./setup.sh