Open-Source-Logserver für Windows- und Cisco- Clients
Zentrale Kontrolle
Ein zentraler Linux-Logserver sichert die Protokolldateien der Windows-Server und einer Cisco-Firewall. Für den Admin gibt's übersichtliche Web-GUIs dazu.
© TOM ANG, Fotolia.com
Ein zentraler Linux-Logserver sichert die Protokolldateien der Windows-Server und einer Cisco-Firewall. Für den Admin gibt's übersichtliche Web-GUIs dazu.
Auch wenn das Netzwerk sicher scheint, muss der Admin alle Möglichkeiten ausschöpfen, um beim Eindringen eines Angreifers die Spuren zurückverfolgen zu können. Ein zentraler Linux-Loghost ist da sinnvoll, Ressourcen-sparend und sicher. Die Logs sind sofort auf einem zweiten Server, ein Angreifer müsste beide Systeme hacken, um seine Spuren zu verwischen. Auch beim Fahnden nach harmloseren Beeinträchtigungen macht sich ein zentraler Loggingdienst gut.
Auf Linux-Maschinen ist das keine Hexerei, der moderne Protokolldienst Syslog-NG [1] bringt alles mit, was für einen zentralen Loghost notwendig ist. Spannend wird es, wenn der Server auch die Protokolle von anderen Betriebssystemen sichern soll, denn heterogene Landschaften mit Windows- und Linux-Maschinen sowie Appliances wie Ciscos Pix-Geräte sind der Normalfall im Unternehmen. In der Standardeinstellung protokolliert jedes System seine Fehler brav auf seine Art im lokalen Dateisystem.
Eine Suche in den Eventlogs - sei es zur Fehlerdiagnose oder nach einem Einbruch - gestaltet sich da schwierig. Allein das Prüfen und die Sicherung von Windows-Eventlogs stellt ein größeres Problem dar und gestaltet sich bei komplexen Netzwerk-Topologien aufwändig. Wer da nicht auf teure kommerzielle Softwarepakete zurückgreifen will, findet in der Open-Source-Welt Ressourcen-sparende Programme, die den kostenpflichtigen Lösungen in keiner Weise nachstehen.
Ein Linux-Logserver für Windows- und Cisco-Clients hat aber noch zwei weitere Vorteile: Der Admin legt einem potenziellen Eindringling eine weitere Schwelle in den Weg: Wenige Angreifer auf Windows-Netzwerke sind in der Lage, in einen Linux-Syslog-Server mit ausgefeilter IPtables-Firewall und einer minimalen Anzahl laufender Dienste einzudringen, um die eigenen Spuren zu verwischen. Kommt noch eine Firewall-Appliance hinzu, braucht er schon Know-how über drei verschiedene Architekturen.
Aber das wichtigste Argument für die meisten Admins ist der Komfort. Alle Logdateien an einem Platz zu archivieren und zu überblicken, am besten bequem und jederzeit erreichbar per Webfrontend, vereinfacht und beschleunigt die Suche und Kontrolle der Systeme enorm.
Der Standard-Protokolldienst aller neueren Linux-Systeme ist die zentrale Schnittstelle für eingehende Logs. In der Defaultkonfiguration überwacht er aber nur den lokalen Rechner. Damit er auch die Logs anderer Hosts annimmt, sind nur wenige Änderungen nötig. Mehr Details zu Syslog-NG, seinen Vorgängern und der kommerziellen Version von Balabit namens Premium Edition finden sich unter [2]. Im vorliegenden Beispiel braucht der Admin dem Dienst nur in der Konfiguration mitzuteilen, von wem er Protokolldaten annehmen soll. Das geschieht im Bereich »sources« der Konfigurationsdatei. Unter »sources_all« fügt er innerhalb der Klammern seine IP-Adresse(n), Protokoll und Port hinzu:
# Remote-Logs empfangen
Udp(port(514));
Tcp(ip("192.168.0.1") keep-alive(yes));
So verwendet Syslog-NG den Standardport 514 zum Empfang der Logs. Damit es den DNS-Namen beim Loggen heranzieht, sollte unter »options« der Eintrag »keep_hostname(yes);« stehen.
Zu guter Letzt bestimmt der Admin die Orte für die Logdateien, indem er die Zeilen aus Listing 1 am Ende der Datei »syslog-ng.conf« hinzufügt. Wie in Zeile 7 zu erkennen ist, legen Variablen wie »$YEAR« oder »$MONTH« den Speicherort beliebig fest. Hier ist es jedem Admin überlassen, eine für seine Netzwerktopologie passende Verzeichnisstruktur zu entwickeln. Noch ein Restart des Syslog-Daemon mit »/etc/init.d/syslog-ng restart«, und schon läuft der Server und wartet auf eingehende Logdaten.
|
Listing 1: |
|---|
01 # Filter/Destination für PIX-Firewall
02 filter f_pix {
03 host(pix);
04 };
05 # Zielort der Log-Dateien
06 destination loghost {
07 file ("/var/log/hosts/$YEAR-$MONTH/$HOST/$FACILITY-$YEAR-$MONTH-$DAY"
08 owner(root) group(root) perm(0600) dir_perm(0700) create_dirs(yes)
09 );
10 };
11 log {
12 source(s_all);
13 destination(loghost);
14 };
15 # Pix
16 log {
17 source(s_all);
18 filter(f_pix);
19 destination(loghost);
20 flags(final);
21 };
|
Alle Rezensionen aus dem Linux-Magazin
Im Insecurity Bulletin widmet sich Mark Vogelsberger aktuellen Sicherheitslücken sowie Hintergründen und Security-Grundlagen. mehr...