Sicherheit · 5 min read · Oct 16, 2025
Einbruchserkennung: Snort (IDS), OSSEC (HbIDS) und Prelude (HIDS) auf Ubuntu Gutsy Gibbon
Einbruchserkennung: Snort (IDS), OSSEC (HbIDS) und Prelude (HIDS) auf Ubuntu Gutsy Gibbon
Jeder kennt das Problem, man hat ein oder mehrere IDS-Tools installiert und jedes Tool hat seine eigene Benutzeroberfläche.
Prelude ermöglicht es, alle Ereignisse in der Prelude-Datenbank zu protokollieren und über eine einzige Benutzeroberfläche (prewikka) abzurufen. Dieses Howto beschreibt, wie man die verschiedenen Tools installiert und konfiguriert, die die vollständige Lösung ausmachen.
Dieses Howto basiert auf Bits und Stücken, die ich gefunden habe, um einige Probleme zu lösen, Teilen aus den Handbüchern und meiner eigenen Erfahrung mit der Installation der vollständigen Lösung.
Für weitere Informationen zu Snort besuchen Sie: www.snort.org
Für weitere Informationen zu OSSEC besuchen Sie: www.ossec.net
Für weitere Informationen zu Prelude besuchen Sie: www.prelude-ids.org
Voraussetzungen:
Nehmen wir einfach an, Sie haben dem Howto “The Perfect Server - Ubuntu Gutsy Gibbon (Ubuntu 7.10)” gefolgt. Wenn nicht, folgen Sie diesem Howto und installieren/addieren Sie nur die Teile, die Sie noch nicht auf Ihrem System installiert haben.
Die folgenden Pakete sind nützlich, also überprüfen Sie bitte, ob sie korrekt installiert sind:
apt-get install ntpdate
apt-get install dbconfig-common
Installation und Konfiguration von Prelude
Normalerweise müssten wir libprelude, libpreludedb kompilieren und installieren und dann die Datenbanken erstellen. Glücklicherweise werden die Pakete von den Ubuntu-Repositories bereitgestellt.
Prelude-Manager
apt-get install prelude-managerVerwendung der Standard-TLS-Einstellungen aus /etc/prelude/default/tls.conf:
Generierte Schlüssellänge: 1024 Bit.
Lebensdauer des Autoritätszertifikats: unbegrenzt.
Lebensdauer des generierten Zertifikats: unbegrenzt.
Erstellen des Analysators prelude-manager.
Erstellen von /etc/prelude/profile/prelude-manager…
Identifikator für prelude-manager zugewiesen: 4232957740008155.
Generierung des RSA-Privatschlüssels… Dies kann sehr lange dauern.
[Erhöhte Systemaktivität beschleunigt den Prozess.]Generierung des 1024-Bit-RSA-Privatschlüssels…
Während der Installation erstellt der Manager das Profil für den Benutzer prelude. Es kann (sehr) lange dauern, da GnuTLS versucht, auf /dev/random anstelle von /dev/urandom (aus Sicherheitsgründen) zuzugreifen. Dies könnte sich in Zukunft ändern (vielleicht mit einer Option für eine schnellere Generierung, aber kryptographisch weniger sicher).
dbconfig wird Sie dann fragen, ob Sie die Datenbank automatisch konfigurieren möchten. Wenn Sie das nicht möchten, sagen Sie einfach nein und konfigurieren Sie alles manuell (die SQL-Skripte befinden sich im Verzeichnis /usr/share/libpreludedb/). Nehmen wir an, die Antwort ist ja.
Hinweis: Die Anzahl der Fragen kann variieren, abhängig von der Debconf-Verbosity (festgelegt mit dpkg-reconfigure debconf) und den dbconfig-Parametern in der Datei /etc/dbconfig-common/config.
Datenbank mit dbconfig-common konfigurieren: ja
Datenbanktyp:Setzen Sie den Typ auf die Datenbank, die Sie zuvor installiert haben. In diesem Fall mysql.
Datenbank-Admin-Passwort: ******dbconfig-common wird nach einem Passwort für den Benutzer ‘prelude’ fragen. Wenn Sie kein Passwort angeben (einfach Enter drücken), wird ein zufälliges generiert. Keine Sorge, die Konfigurationsdatei wird automatisch aktualisiert.
dbconfig-common: Konfiguration wird in /etc/dbconfig-common/prelude-manager.conf geschrieben
Erstellen der Konfigurationsdatei /etc/dbconfig-common/prelude-manager.conf mit neuer Version
Zugriff auf die Datenbank prelude für prelude@localhost gewährt: Erfolg.
Zugriff für prelude@localhost überprüfen: Erfolg.
Datenbank prelude erstellen: Erfolg.
Überprüfen, ob die Datenbank prelude existiert: Erfolg.
Datenbank über SQL befüllen... erledigt.
dbconfig-common: Administratives Passwort wird gelöscht
Starte Prelude Manager: prelude-manager.Das Ubuntu-Paket erstellt automatisch den Benutzer und die Datenbank für Prelude. Wenn Sie das Passwort ändern möchten, tun Sie dies zuerst in mysql und danach in /etc/prelude-manager/prelude-manager.conf.
Prelude-Manager sollte jetzt laufen:
ps auxw | grep managerprelude 28530 0.0 0.1 59384 4480 ? Ssl 13:49 0:00 /usr/sbin/prelude-managerDer erste Teil ist vorbei, Sie haben jetzt einen Manager, der läuft.
Listen-Adresse:Die Standard-Listen-Adresse ist localhost (127.0.0.1). Das bedeutet, dass Sie dies ändern müssen, um Sensoren auf verschiedenen Hosts hinzuzufügen, damit die Agenten den Prelude-Manager erreichen können.
Bearbeiten Sie /etc/prelude-manager/prelude-manager.conf:
listen = xxx.xxx.xxx.xxxStarten Sie den Server neu und überprüfen Sie die Adresse (wenn Sie die Adresse geändert haben):
# /etc/init.d/prelude-manager stop Stoppe Prelude Manager: prelude-manager.# /etc/init.d/prelude-manager startStarte Prelude Manager: prelude-manager.# netstat -pantu | grep preludetcp 0 0 192.168.66.1:4690 0.0.0.0:* LISTEN 30544/prelude-managerPrelude-LML
Sie müssen prelude-lml auf jedem Host installieren, den Sie überwachen möchten. Prelude-LML analysiert Ihre Protokolle und berichtet Ereignisse an die Manager.
# apt-get install prelude-lml…
Starte Prelude LML: prelude-lml.
Bevor es verwendet werden kann, müssen zwei Dinge erledigt werden:
- Die Adresse des Managers muss auf dem LML konfiguriert werden
- Der Manager vertraut Sensoren nicht, bis sie registriert sind
Manager-Adresse
Wenn Sie die Adresse geändert haben, auf der der Manager lauscht, müssen Sie die Adresse in der Client-Konfiguration auf jeder Maschine ändern, auf der Sie prelude-lml installieren.
Die Adresse des Managers wird in der Datei /etc/prelude/default/client.conf gespeichert:
[prelude]
server-addr = 127.0.0.1 Registrierung des Sensors
Die Registrierung des Sensors ist ein vierstufiger Prozess, der erfordert, dass Befehle sowohl auf dem Sensor als auch auf dem Manager ausgeführt werden:
Führen Sie auf dem LML-Client den Registrierungsbefehl aus:
prelude-adduser register prelude-lml "idmef:w" --uid 0 --gid 0 Hinweis: Wenn Sie sich nicht an den Befehl erinnern, führen Sie einfach prelude-lml aus. Da es nicht registriert ist, wird es fehlschlagen, aber es ist schlau genug, um die Hilfe anzuzeigen:
# prelude-lml
- Abonnieren des Plugins pcre[default]
- pcre-Plugin geladen 394 Regeln.
- Überwachen von /var/log/messages über pcre[default]
* WARNUNG: /var/log/everything/current existiert nicht.
prelude-client: Fehler beim Starten von prelude-client: konnte '/etc/prelude/profile/prelude-lml/analyzerid' nicht zum Lesen öffnen
Profil 'prelude-lml' existiert nicht. Um es zu erstellen, führen Sie bitte aus:
prelude-adduser register prelude-lml "idmef:w" --uid 0 --gid 0. LML muss mit uid und gid 0 registriert werden, da der Prozess als root ausgeführt wird (um Protokolle analysieren zu können).
LML wird dann nach dem Einmal-Passwort (OTP) fragen, das vom Manager bereitgestellt wird:
Geben Sie das Einmal-Passwort ein, das vom Programm "prelude-adduser" bereitgestellt wird:
- Geben Sie das Registrierungs-Einmal-Passwort ein:Führen Sie auf dem Manager Folgendes aus:
prelude-adduser registration-server prelude-manager…
- Starte den Registrierungsserver.
- generiertes Einmal-Passwort ist “dummypass”.
…
Geben Sie das Passwort an der LML-Eingabeaufforderung ein:
- Geben Sie das Registrierungs-Einmal-Passwort ein:
- Bestätigen Sie das Registrierungs-Einmal-Passwort:
- Verbindung zum Registrierungsserver (127.0.0.1:5553) wird hergestellt…
- Anonyme Authentifizierung beim Registrierungsserver erfolgreich.
- Zertifikatsanforderung wird gesendet.
LML wartet jetzt darauf, dass der Manager das Zertifikat signiert.
Überprüfen Sie auf dem Manager die Zertifikatsanforderung:
- Anonyme Authentifizierung Einmal-Passwort-Überprüfung erfolgreich.
- Warten auf Zertifikatsanforderung des Clients.
- Analysator mit ID=”3559090256170900” bittet um Registrierung mit Berechtigung=”idmef:w”.
Genehmigen Sie die Registrierung [y/n]: y
Das Zertifikat wird generiert und an den Client gesendet: - Registriere Analysator “3559090256170900” mit Berechtigung “idmef:w”.
- Generiere signiertes Zertifikat für den Client.
- Sende Serverzertifikat an den Client.
- ::ffff:127.0.0.1:47054 erfolgreich registriert.
Auf dem Client sehen Sie:
LML-Registrierung war erfolgreich
- Erhalte signiertes Zertifikat.
- Erhalte CA-Zertifikat.
- prelude-lml-Registrierung bei 127.0.0.1 erfolgreich.
Jetzt haben der Manager und der Sensor eine Vertrauensbeziehung und können Nachrichten aneinander senden.
Dieser Prozess dauert einige Zeit, erhöht jedoch die Sicherheit, und die Kommunikation zwischen dem Sensor und dem Manager ist verschlüsselt.
Schließlich sollte der LML-Sensor auch laufen:
/etc/init.d/prelude-lml startStarte Prelude LML: prelude-lml.
ps auxw | grep lml
root 1946 0.3 0.0 20856 3424 ? Ss 14:35 0:00 /usr/bin/prelude-lml -d -q -P /var/run/prelude-lml.pid
Damit endet der erste Teil.
Erhalte neue Beiträge in deinem Posteingang.
Kein Spam. Jederzeit abmelden.