Vienna calling

Sobald ein Samhain-Client mit Yule Kontakt aufnimmt, authentifiziert er sich mit dem Passwort. Anschließend handeln beide Parteien über das Secure Remote Passwort (SRP) Protokoll einen weiteren Schlüssel aus, den sie bei allen weiteren Aktionen benutzen. Der eigentliche Datenaustausch geschieht dann verschlüsselt über TCP.

Als nächstes holt Samhain seine Konfigurationsdatei ab. Diese sucht Yule auf dem Server unter »/var/lib/yule« in der Datei »rc.<rechnername>« , nach den bisherigen Beispielen also in »rc.client.example.com« . Am Besten schnappt man sich wieder die Beispielkonfiguration als Ausgangspunkt. Damit Samhain die Logs an den Server schickt, darf man nicht vergessen im Abschnitt »[Log]« die Einstellung »ExportSeverity« zu aktivieren.

Sobald die Konfigurationsdatei ausgewertet ist, fragt Samhain nach der Signatur-Datenbank aus dem Verzeichnis »/var/lib/yule« . Mit ihr in der Hand durchkämmt es wie gewohnt das System, erzeugt Log-Daten und sendet sie an Yule. Diese zeichnet die Log-Daten garantiert auf, egal welche Filtereinstellungen »/etc/yulerc« vorgibt. Um die eingehenden Meldungen auch noch durch Yule aussortieren zu lassen, gibt es im »[Misc]« -Abschnitt folgende Einstellungen:

UseClientSeverity = yes
UseClientClass = yes

Mit der vorgestellten Konfiguration liegen auf dem Server alle wichtigen Signaturdaten, die Log-Ergebnisse und die Einstellungen der Clients, er stellt somit das Herz der Samhain-Überwachung dar. Folglich sollte man ihn besonders gut gegen Angriffe abriegeln und am Besten mit einem eigenen Samhain-Daemon bestücken.

Informationssturm

Mit einem funktionierenden Duo aus Samhain und Yule fängt die Arbeit für den Administrator erst richtig an. So muss er die Logs regelmäßig auswerten und interpretieren. Samhain bietet hier als einzige Hilfestellung an, die Daten an externe Skripte und Programme weiterzureichen. Soll ein Logfile-Analyzer die Protokolle verarbeiten, bietet es sich unter Umständen an, sie auf das XML-Format umzustellen. Dazu akzeptiert Configure noch den Parameter »--enable-xml-log« . Zusätzlich kann Samhain als Sensor für das IDS Prelude arbeiten und seine Informationen in eine Datenbank schreiben. Beide Möglichkeiten muss man aber zuvor – Sie haben es sicher erraten – mit den »configure« -Parametern »--with-prelude« beziehungsweise »--with-database=mysql« einkompilieren und in der Konfigurationsdatei freischalten. Neben MySQL versteht sich Samhain noch mit PostgreSQL (»...=postgresql« ) und Oracle (»...=oracle« ).

Die Ausgabe in eine Datenbank muss auch erzwingen, wer zur Steuerung von Yule das schicke, separat erhältliche Web-Interface namens Beltane einsetzen möchte (Abbildung 4). Es hilft unter anderem bei der Einsicht in die Logs und beim Updaten der Signaturdatenbank. Die Benutzeroberfläche verlangt allerdings nach einer hoffnungslos veralteten PHP4-Umgebung – eigentlich untragbar für ein Sicherheitswerkzeug.

Abbildung 4: Dank Beltane lässt sich der Log-Server auch aus der Ferne steuern und überwachen.

Um gerade bei komplexen Systemen die Auswertung der Protokolle zu erleichtern, lassen sich die Filterstellschrauben noch weiter anziehen. Beispielsweise landen auf Wunsch nur noch ganz bestimmte Ereignisse im Logfile, wie etwa Informationen über geänderte Zeitmarken. Man darf sogar seine eigenen Policys definieren und die bestehenden modifizieren. Gegen Angriffe und Manipulationsversuche am Herzen beugen GnuPG signierte Konfigurationsdateien und Signaturdatenbanken vor. Solche Feinheiten setzen allerdings ein ausgiebiges Studium des beiliegenden Handbuchs voraus. Ein kleiner Tippfehler reicht aus, um Samhain von seiner eigenen Signatur-Datenbank auszuschließen oder wichtige Einbruchsspuren durch die zu restriktiven Filter rutschen zu lassen.

comments powered by Disqus

Artikel der Woche

Eigene Registry für Docker-Images

Wer selber Docker-Images herstellt, braucht auch eine eigene Registry. Diese gibt es ebenfalls als Docker-Image, aber nur mit eingeschränkter Funktionalität. Mit einem Auth-Server wird daraus ein brauchbares Repository für Images. (mehr)
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

Google+

Ausgabe /2019