Plattformunabhängiges, korreliertes und erweiterbares IDS mit Prelude

Maxim Kazmin, 123RF

Alarmzentrale

Das hybride Security-Information-Management-System (SIM) Prelude empfängt sowohl Host- als auch Netzwerk-basierte IDS-Meldungen und zeigt diese in einem übersichtlichen Webinterface an. Selbst komplexe, korrelierte Alarme von unterschiedlichen Endgeräten mit eigenen Plugins sind da kein Problem.
Thematischer Schwerpunkt dieser Ausgabe ist die kontinuierliche Überwachung von Servern, Clients und anderen Geräten im Netzwerk: mit dem IPMI-Plugin, dem ... (mehr)

Im richtigen Moment schnell zu reagieren kann manchmal lebenswichtig sein. Systeme für Intrusion Detection und Prevention (IDS/IPS) helfen in modernen Rechenzentren den Administratoren dabei, Protokolldateien und Meldungen zahlreicher, meist unterschiedlicher Geräte und Betriebssysteme auszuwerten, Eindringlingen schnell auf die Schliche zu kommen und die richtigen Aktionen anzuleiern.

Prinzipiell zu unterscheiden sind dabei Host-basierte IDS (HIDS), die in der Regel nur Dateien auswerten und lokale Angriffe erkennen können, etwa Tripwire, sowie Netzwerk-basierte IDS (NIDS) wie Snort, die Spuren von Hackern auch im Netzwerktraffic suchen.

Prelude ( [1] , [2] ) als hybrides IDS vereint die Vorteile von HIDS und NIDS und bringt dabei zahlreiche Funktionen mit, zum Beispiel eine schicke Weboberfläche für die Administration und zahlreiche Agenten für Clients.

Die Entwickler haben Prelude in den letzten Jahren vorangetrieben, es ist ausgereift und bewährt sich in großen Szenarien. Mit seiner Plugin-Architektur und Features wie der Korrelator-Engine programmieren findige Admins auch eigene flexible Addons, die ihnen die tägliche Arbeit erleichtern.

Das Libprelude-API

Die Prelude-Bibliothek gestattet es darüber hinaus, vorhandene Programme an Prelude anzubinden: Die Libprelude stellt ein API für diverse Programmiersprachen, unter anderem C++, Python, Perl und Ruby, bereit [3] . Eine wichtige Hilfe ist dabei auch das von der Intrusion Detection Working Group (IDWG) entwickelte Intrusion Detection Message Exchange Format (IDMEF, [4] ). Es bietet ein standardisiertes Format für IDS-Meldungen, die mit Hilfe von Software wie den Tools des Libprelude-API in einer zentralen SQL-Datenbank landen.

Für den Admin entfällt so das Zusammentragen der Logeinträge des Netzwerks, weil die zahlreichen verfügbaren Prelude-Agenten ihre Daten über verschlüsselte SSL-Verbindungen zum zentralen Manager schicken. Der hinterlegt diese in Echtzeit in der Datenbank und stellt sie für Anfragen bereit. Heartbeats zu den Agenten informieren ihn dabei fortlaufend, ob deren Verbindung noch intakt ist. Bei Unterbrechungen halten die Agents nicht übertragene Einträge im Cache vor, um diese bei bestehender Verbindung nachzureichen.

Agenten gibt es unter anderem für folgenden Plattformen:

  • Für das Netzwerk-basierte IDS-System Snort ( [5] , [6] ).
  • Für das Host-basierte Open Source Security, Host-based Intrusion Detection System (OSSEC, [7] ).
  • Für die Linux System Logs über Prelude-LML [8] .
  • Für die PAM-Authentifizierung.

Zudem kann das Security-Information-Management-System (SIM) alle Logs der üblichen Hardware-Appliances und Dienste analysieren, darunter diverse Cisco-Appliances, Exim, Microsoft SQL, Clam AV, Nessus, Apache, Tripwire, Netfilter, IPchains und IPfw.

Über OSSEC kommen Features wie Rootkit-Erkennung, Windows-Registry-Überwachung und Datei-Integritätsüberprüfung ins Spiel. Das klappt dann weitgehend plattformunabhängig für Linux, Windows, VMware ESX, BSD, Solaris, AIX, HP-UX und Mac OS X. Remote-Syslog bindet Hardware-Appliances wie Cisco PIX/ASA, Juniper Netscreen und Sonic Wall Firewalls an.

Prelude-Manager

Als Zentrale der vier Prelude-Komponenten (Manager, Sensoren, Libprelude, Webinterface) nimmt der Manager die Daten entgegen, die die Sensoren über die von der Libprelude-Bibliothek verwalteten Verbindungen übertragen. Der Prelude-Manager ist unter Debian schnell installiert, einem »aptitude install prelude-manager libprelude« folgt ein Configure-Dialog von Dpkg mit der Auswahl der Datenbank (MySQL oder PostgreSQL) und der Eingabe des SQL-Rootpassworts. Anschließend generiert das System noch den SSL-Key.

Ist die DB fertig und das Managerprofil erzeugt, lässt sich die Konfiguration in der Datei »/etc/prelude-manager/prelude-manager.conf« anpassen. Hier sollte der Admin den »listen« -Eintrag auf seine Bedürfnisse korrigieren, am besten ersetzt er die Loopback-Adresse 127.0.0.1 durch seine IP, damit der Rechner später auch Logs von entfernten Agenten empfangen kann.

Meist hat er hier auch die SQL-Konfiguration unter »[db]« zu ändern:

[db]
type = mysql
host = localhost
port = 3306
name = Datenbankname
user = Benutzername
pass = Passwort

Unter Debian GNU Linux muss er noch die Variable »RUN« in »/etc/default/prelude-manager« auf »YES« setzen, dann startet der Prelude-Manager mit »/etc/init.d/prelude-manager start« .

comments powered by Disqus
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Ausgabe /2023