Thematischer Schwerpunkt dieser Ausgabe ist die kontinuierliche Überwachung von Servern, Clients und anderen Geräten im Netzwerk: mit dem IPMI-Plugin, dem ... (mehr)

Prewikka

Die umfangreichen Informationen der bisweilen recht vielen Agenten stellt das Prelude-Webinterface Prewikka übersichtlich dar ( Abbildung 1 , [9] ). Installiert ist es unter Debian mit »aptitude install prewikka« und ein wenig Konfigurationsarbeit. Zum Beispiel ist eine Datenbank nötig, die der Admin mit dem Skript »/usr/share/prewikka/database/mysql.sql« einspielt.

Abbildung 1: Das Webinterface von Prelude hört auf den Namen Prewikka. In einer tabellarischen Übersicht zeigt es alle Ereignisse an, die die verschiedenen Agenten gemeldet haben.

Abschließend findet sich die Prewikka-Konfigurationsdatei in »/etc/prewikka/prewikka.conf« , hier sind die Variablen »software« , »place« und »title« nach Belieben zu setzen, zum Beispiel:

software: Prewikka
place: dotlike.net
title: Preludeconsole

Den Datenbankzugriff von Prewikka regelt der folgenden Abschnitt in der Konfigurationsdatei:

[database]
type: mysql
host: localhost
user: prewikka
pass: Passwort
name: prewikka

In der Regel hat bereits die Debian-Paketkonfiguration alles ordnungsgemäß befüllt. Nun kann »prewikka-httpd« das Webinterface mit dem eingebauten Webserver auf Port 8000 starten. Anwender, die lieber eine bestehende Apache-Installation verwenden, finden im Kasten "Prewikka als virtueller Host" eine kurze Anleitung.

Prewikka als virtueller Host

Wer Prewikkas Webinterface mit Apache betreiben will, hinterlegt unter Debian eine Datei mit folgenden Zeilen in »/etc/apache2/site-available/« :

<VirtualHost 192.168.0.1:80>
 ServerName preludehost
 ErrorLog /var/log/apache2/error_log
 CustomLog /var/log/apache2/access_logcombined  <Location "/">
   AllowOverride None
   Options ExecCGI
   <IfModule mod_mime.c>
     AddHandler cgi-script .cgi
   </IfModule>
   Order allow,deny
   Allow from all
  </Location>
Alias /prewikka/ /usr/share/prewikka/htdocs/ScriptAlias / /usr/share/prewikka/cgi-bin/prewikka.cgi</VirtualHost>

Um den Vhost zu aktivieren, bedarf es noch des Kommandos »a2ensite Vhost-Datei « . Auch die Auslagerung in eine separate Datei und das Einbinden über »Include« -Direktiven in »00_default_vhost.conf« ist eine geeignete Option.

Anschließend startet »/etc/init.d/apache restart« den Webserver neu. Der Prelude-Server braucht natürlich einen im DNS auflösbaren Namenseintrag. Je nach Netzwerkinfrastruktur ist hier ein A-Record für »preludehost« auf dem DNS-Server nötig.

Der Standardbenutzername wie auch dessen Passwort lauten bei Prewikka »admin« . Das sollte dieser unbedingt nach der ersten Anmeldung unter dem Menüpunkt »Settings | My Account« ändern, wo er auch die Sprache auf Deutsch setzt. Das Webinterface ist intuitiv gehalten und stellt Alarme übersichtlich dar. Alle Felder bieten Filtermöglichkeiten wie Quelle, Ziel, Analyzer oder Klassifikation. Das Menü rechts unten setzt den Zeitraum und die Anzahl der Ereignisse pro Seite.

Einer der für Linux-Admins wichtigsten Prelude-Sensoren ist Prelude Log Monitoring Lackey (LML, [8] ). Er arbeitet als Host-basiertes IDS und beobachtet definierte Logdateien und sendet Ereignisse an den Prelude-Manager. Die Installation erfolgt unter Debian mit »aptitude install prelude-lml« .

Danach registriert der Admin jeden Sensor am Prelude-Manager über eine verschlüsselte Verbindung, bei Prelude-LML zum Beispiel mit:

prelude-admin register prelude-lml "idmef:w admin:r" Listen_IP_des_Prelude-Managers -uid 0 -gid 0

Nach einer kurzen Wartezeit fordert Prelude den Admin auf, den Befehl »prelude-admin registration-server prelude-manager« in einer zweiten Shell auszuführen. Der stellt ein Einmal-Passwort (One-Shot-Passwort) bereit, mit dem sich der Sensor in der vorherigen Konsolensitzung authentifiziert. Danach erhält der Admin in der Konsole, in der dieser Befehl läuft, die mit [Y] zu bestätigende Ausgabe:

Approve registration? [y/n]: y

Das Ändern der Serveradresse in der Konfigurationsdatei »/etc/prelude/default/client.conf« (in der Zeile »server-addr = IP« ) sorgt dafür, dass die lokalen Agenten künftig ihre Daten an den angegebenen Server senden.

Snort

Wer die etablierte Network-Intrusion-Detection-Software Snort an Prelude anbindet, kann die Netzwerkangriff-Erkennung per Signatur aktivieren. Da die Entwickler dessen Regelwerk stetig erweitern, sollte der Admin seine Angriffsignaturen immer auf dem aktuellen Stand halten. Über eine kostenlose Registrierung auf der Webseite von Snort [5] erhält er einen Code für automatische Signatur-Updates, die für 30 Tage nach der offiziellen Veröffentlichung verfügbar sind. Drittsoftware wie Oinkmaster [10] oder Pulled Pork erlauben es, diese Signaturen mit einem Cronjob automatisiert zu beziehen.

Eine Alternative zu den offiziellen Snort-Regeln, die in ähnlicher Form auch die kommerziellen Sourcefire-Appliances [11] verwenden, bietet Bleeding Snort [12] . Die Webseite des Projekts veröffentlicht kontinuierlich Snort-Regeln von Netzwerk- und Sicherheitsspezialisten. Auch einer Kombination der Regelsätze steht nichts im Wege.

Die Installation von Snort klappt mit einer MySQL-Datenbank im Hintergrund mit »aptitude install snort-mysql« , als Startmethode empfiehlt sich »Systemstart« , der »Promiscuous Mode« sollte angeschaltet bleiben. In diesem Modus überprüft Snort alle Pakete, auch wenn sie nicht direkt an die IP-Adresse des Netzwerkinterface gerichtet sind. Die E-Mail-Protokollierung bleibt optional und als Protokoll-Datenbank soll jetzt Prelude dienen.

In der Konfigurationsdatei »/etc/snort/snort.conf« muss der Admin jetzt einige Änderungen durchführen: Um Snort aufzufordern, seine Daten an Prelude zu senden, bedarf es dort noch des folgenden Abschnitts:

output alert_prelude: profile=snort

Das zu überwachende Netzwerk definieren folgende Einstellungen:

# für IPv4:
var HOME_NET 192.168.0.0/24
# mit IPv6 USE flag:
ipvar HOME_NET 192.168.69.0/24
# Das externe Netz kann auf any bleiben
var EXTERNAL_NET any

Viele Präprozessoren sind für die Funktionsweise von Snort verantwortlich, etwa für die Erkennung von Portscans. Sie lassen sich mit detaillierten Feineinstellungen optimieren. Es ist durchaus sinnvoll, dazu die Konfigurationsdatei einmal in voller Länge durchzugehen.

Auch Snort braucht jetzt ein Prelude-Profil:

prelude-admin register snort "idmef:wadmin:r" Listen_IP_des-Prelude-Managers-uid 0 -gid 0

Und schon klappt die Zusammenarbeit zwischen Snort und Prelude.

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