Wie aktualisiere ich Enginsight in einem Air-Gapped-System?
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.
- 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.
-
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.
Alternativer Update-Pfad für Air-Gapped-Systeme: Teil 1
curl -fsSLO https://get.enginsight.com/airgap/airgap.sh
chmod +x airgap.sh
sudo docker login registry.enginsight.com
2.2 Du wirst nun aufgefordert, Benutzername (Username) und Passwort (Password) für die Docker Registry einzugeben.
Login Succeeded angezeigt.sudo ./airgap.sh export
- 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.tar.gz.
chmod +x airgap.sh
sudo ./airgap.sh import enginsight.airgap
-
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.
chmod +x airgap.sh
sudo ./airgap.sh import -d <AlternativerVerzeichnispfad> enginsight.airgap
<AlternativerVerzeichnispfad> entsprechend zu ersetzen.cd /opt/enginsight/enterprise
sudo docker compose down
sudo docker compose up -d
Bitte beachte: Wenn du in Schritt 6 ein anderes Verzeichnis als das Standard-Verzeichnis /opt/enginsight/enterprise
Bitte beachte: Wir empfehlen dringend, diesen Update-Pfad mindestens einmal täglich durchzuführen, um die CVE-Datenbank und APT-Erkennungsregeln tagesaktuell zu halten.
1. Benötigte Dateiarchive auf den DMZ-Server herunterladen
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.
2. Dateiarchive auf dem Air-Gapped-System einspielen
Bitte beachte: Um die CVE-Datenbanken und die APT-Erkennungsregeln tagesaktuell zu halten, empfehlen wir dringend, diesen Schritt z.B. per Skript zu automatisieren.
3. Dateiarchive auf dem Air-Gapped-System entpacken
tar -xzf airgap.tar.gz config.json deiner Enginsight Installation auf dem Air-Gapped-System an.sudo nano /opt/enginsight/enterprise/conf/services/config.json
4.3 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 2 liegen.
"updateRepositoryUrl": "<URLUpdateVerzeichnis>",
"api": {
...
},
4.4 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).
cd /opt/enginsight/enterprise
4.6 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:
sudo ./setup.sh