Open Source im professionellen Einsatz

Kontexte als Zwischenspeicher

Das Tool Logcheck könnte in diesem Szenario allenfalls die Logzeile »Failed password« herausfiltern, aber keine weiteren Informationen zur SSH-Session liefern. Alternativ könnte der Admin alle SSH-Logzeilen herausfiltern. Dann würde er aber mit zu vielen überflüssigen Informationen überschüttet und die wirklich wichtigen Zeilen dürften ihm entgehen. Logsurfer löst dieses Problem mit den so genannten Kontexten. Sie bieten die Möglichkeit, bestimmte Zeilen zwischenzuspeichern und bei Bedarf erneut zu verwenden.

Die drei Regeln in Listing 5 ergeben nur in ihrer Kombination einen Sinn. Auf Debian-basierten Systemen lassen sie sich auf die Logdatei »/var/log/auth.log« anwenden. Der Einfachheit halber geben sie alle Informationen direkt auf der Konsole aus. Es wären aber auch andere Aktionen möglich, und sei es nur die, eine Mail zu schicken.

Die erste Zeile erkennt alle Logzeilen des SSH-Daemon. Die Aktion »open« eröffnet einen neuen Kontext. Dabei benutzt die Regel die PID (in eckigen Klammern nach »sshd« ) der jeweiligen SSH-Sitzung, um jene Zeilen zu erkennen, die zu einer SSH-Session gehören. Zusätzlich definiert sie Timeouts. Laufen diese ab, geben die Regeln ebenfalls die Session-Daten aus. Wichtig ist an dieser Stelle das Schlüsselwort »continue« , damit auch die nachfolgenden Regeln zum Zuge kommen.

Enthält eine Logzeile den Eintrag »Failed password« (Zeile 5), gibt dieses Beispiel den kompletten Kontext der SSH-Session auf der Konsole aus. Wieder dient die PID der SSH-Session dazu, den Kontext zu identifizieren. Die Regel in Zeile 8 löscht den Kontext wieder, wenn eine SSH-Session geschlossen wird. Abbildung 2 zeigt die Ausgabe der Regeln im Praxiseinsatz.

Abbildung 2: Mit drei Logsurfer-Regeln lassen sich missglückte Anmeldeversuche am SSH-Port überwachen.

Wer den »tail« -Modus benutzt, darf nicht vergessen das Signal »SIGHUP« an den Logsurfer-Prozess zu schicken, wenn Logrotate oder ähnliche Tools das Logfile neu anlegen.

Leider gibt es Logsurfer nur als Sourcepaket, es existieren keine fertigen Binärpakete in den gängigen Linux-Distributionen. Das Kompilieren und Installieren sollte aber dem durchschnittlich erfahrenen Administrator leicht von der Hand gegen. Für Debian-basierte Distributionen stellt der Autor dieses Artikels unter [4] fertige Pakete bereit.

Sicherheit nicht vergessen

Bei allen Tools für die Loganalyse darf der Admin nicht vergessen, dass nicht nur das System und seine Dienste Logmeldungen erzeugen, denn auch externe Benutzer tun das mit ihren Aktionen. Ein Angreifer könnte beispielsweise das Postfach des Administrators zum Überlaufen bringen, im schlimmsten Fall aber auch mit geeigneten Ausdrücken Systeme außer Gefecht setzen oder beliebige Kommandos ausführen.

Das trifft insbesondere auf Tools wie Logsurfer zu, die das Systemprotokoll in Echtzeit analysieren und beliebige Skripte oder Programme ausführen können. Werden Teile der Logzeile einem externen Programm als Parameter oder via Standardeingabe übergeben – wie im ersten Beispiel –, erhielte ein Angreifer die Chance, das Programm zu manipulieren. Der Anwender solcher Tools muss also die Übergabeparameter und die Standardeingabe entsprechend absichern. Weitere Informationen zum Thema Sicherheit enthält die Manpage von »logsurfer.conf« , die auch online unter [5] zu finden ist.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 4 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

Als digitales Abo

Als PDF im Abo bestellen

comments powered by Disqus

Ausgabe 07/2013

Preis € 6,40

Insecurity Bulletin

Insecurity Bulletin

Im Insecurity Bulletin widmet sich Mark Vogelsberger aktuellen Sicherheitslücken sowie Hintergründen und Security-Grundlagen. mehr...

Linux-Magazin auf Facebook