Ein Linux – ein Syslog. Der Klassiker aus BSD-Zeiten erfüllt seine Aufgabe ohne viel Aufhebens, zeigt aber auch große Schwächen. Vom wichtigsten Konkurrenten Syslog-NG gibt es neuerdings eine kommerzielle Premium Edition, die sich dem Linux-Magazin-Test stellt.
Es ist ein unterschätztes Feature jedes Betriebssystems, das leider oft erst bei Fehlern oder Einbrüchen in den Mittelpunkt rückt: das Systemprotokoll. Linux-Distributionen kombinieren meist den Klogd mit dem BSD-Syslogd. Der eine nimmt Meldungen vom Kernel entgegen, der andere von Userspace-Programmen. Die ungarische Firma Balabit und deren Chefentwickler Balázs Scheidler haben mit Syslog-NG seit 1998 einen Konkurrenten im Angebot, der den Weg in viele Distributionen gefunden hat. Jetzt erweitert Balabit das Open-Source-Angebot um eine kommerzielle Premium Edition für den Unternehmenseinsatz.
Der klassische BSD-Syslogd nimmt Meldungen über einen lokalen Socket »/dev/log« entgegen und speichert sie in lokalen Protokolldateien oder reicht sie per UDP an andere Server weiter. Die Konfiguration in »/etc/syslog.conf« legt fest, welche Meldungen der Daemon wo ablegt. Eric Allman entwickelte das Programm und dessen Protokoll in den 80er Jahren als Teil des Sendmail-Projekts. Als es seine Nützlichkeit unter Beweis stellte, begannen auch andere Entwickler den Syslog-Dienst für Systemmeldungen zu nutzen. Heute gibt es eine Vielzahl von Implementierungen für die verschiedensten Betriebssysteme.
Die Schattenseite
Das Original leidet an vielen Schwächen. Der BSD-Syslogd kann Nachrichten lediglich nach Facility (Quelle) und Severity (Schweregrad) filtern. Benötigt ein Analysewerkzeug ein bestimmtes Format, muss der Admin einen zusätzlichen Bearbeitungsschritt einflechten, da Syslog keine Modifikationen erlaubt.
Wichtig ist in der Praxis oft, die Meldungen auf einem zentralen Server zu sammeln. Syslogd kann das zwar, er sendet jedes Ereignis in einem UDP-Paket. Leider garantiert UDP nicht die Übertragung der Daten. Es führt in fehlerhaften oder überlasteten Netzwerken zu unbemerkten Paket- und damit Nachrichtenverlusten. Außerdem sendet Syslog die Daten ohne Authentifizierung, ohne Integritätssicherung und unverschlüsselt.
Bei dieser Fülle an Schwächen wundert es nicht, dass mehrere verbesserte Alternativen bereitstehen. Zu den wichtigsten Open-Source-Vertretern gehören Syslog-NG [1], Modular Syslogd [3] und Rsyslog [4]. Am beliebtesten ist Syslog-NG, unter anderem weil Novell/Suse ihn seit Jahren als Default-Syslog verwenden. Alle drei Programme erlauben es, teils mit zusätzlichen Hilfsmitteln, die erwähnten Probleme zu lösen.
Premium
Nun schickt Balabit eine weitere Variante auf den Markt. Die kommerzielle Premium Edition erweitert Syslog-NG im Wesentlichen um fünf Funktionen:
- TLS-Verschlüsselung
- Windows-Client
- Fluss-Steuerung
- Pufferung auf der Festplatte
- SQL-Unterstützung
Dank TLS authentifizieren sich Server und Client gegenseitig mit einem Zertifikat – und sie verschlüsseln die Verbindung. Kein Open-Source-Syslog bietet dieses Feature, aber mit Stunnel oder ähnlichen Programmen könnte es jeder Admin nachrüsten [5]. Voraussetzung hierzu ist der Einsatz von TCP als Transportprotokoll. Im Test gelang sogar ein Mischbetrieb der Premium Edition zusammen mit der Kombination aus Open-Source-Syslog-NG und Stunnel. Authentifizierung und Verschlüsselung funktionierten auf Anhieb.
Auch der Windows-Client ist übrigens nicht konkurrenzlos. Microsoft geht zwar eigene Wege beim Eventlog, es gibt aber seit vielen Jahren kommerzielle und freie Syslog-Implementierungen für Windows. Kiwi-Syslog [6] zum Beispiel ist kostenlos und unterstützt die Protokollierung auch über TCP.
|
Syslog-NG-PE |
|---|
|
Produkt: Syslog-NG Premium Edition 2.1 [1] Hersteller: Balabit Zweck: Syslog-Ersatz (Systemprotokollierer) Lizenz: Während Syslog-NG unter der GPL steht, ist Syslog-NG Premium Edition ein proprietärer Ableger. Die Lizenzkosten hängen von der Anzahl der Clients ab, die ihre Meldungen an den Syslog-Server schicken, sowie vom gewählten Support-Paket. Ihr Preis beginnt bei etwa 460 Euro für maximal fünf Clients, 100 Clients kosten rund 6700 Euro. Balabit bietet auch unlimitierte Versionen (21500 Euro) sowie Doppellizenzen für HA-Server an. Alle Preise enthalten E-Mail-Support und Updates für ein Jahr. |
Es gilt die Maxime: Nur nichts wegwerfen
Interessanter sind Fluss-Steuerung und Pufferung. Ein Syslog-Daemon nimmt auf Wunsch Meldungen von beliebigen Quellen entgegen, verarbeitet sie und liefert sie aus (Abbildung 1). Kommt es zu Engpässen, verwirft er jedoch Nachrichten. Durch Einschalten der Flusskontrolle (»flow-control«) überwacht Syslog-NG-PE hingegen ständig den Zustand seiner Puffer und nimmt keine Meldungen mehr entgegen, wenn er diese nicht ans Ziel zustellen kann. Mit dem Verfahren bremst ein Empfänger notfalls einen Sender auch über Zwischenstationen hinweg und verhindert damit, dass er Meldungen verwerfen muss.

Abbildung 1: Syslog-NG kann auch als Relay für Systeme dienen, die aus Sicherheitsgründen den zentralen Protokollserver nicht erreichen dürfen oder nur eine Protokollierung im klassischen Syslog-Protokoll per UDP unterstützen.
Das funktioniert jedoch nur, wenn die Quellen ihre Meldungen zwischenpuffern. Bei den meisten Diensten trifft das aber nicht zu, da sie für die Zustellung ein Unix-Datagramm-Socket einsetzen. Das ist verbindungslos und garantiert nicht das Zustellen der Nachrichten. Handelt es sich bei der Quelle aber um einen weiteren Syslog-NG-PE, kann dieser die Nachrichten auf seiner Festplatte zwischenspeichern, wenn der Zielserver streikt. Es erfolgt quasi ein Failover auf die Festplatte. Dieses clevere Feature ist bei größeren Pannen im Netz ein Segen und zudem leicht zu konfigurieren:
destination d_tcp {
tcp("192.168.0.1"
log_disk_fifo_size(4194304));
};
Als netten Nebeneffekt speichert die Premium Edition bei einem Stop alle noch nicht versandten Meldungen und liest sie beim Start wieder ein. Das verhindert Nachrichtenverluste beim Neustart. Leider ist der Speicherort (»/var/lib/syslog-ng/«) fest vorgegeben, der Administrator kann ihn nicht ändern. Da die Premium Edition nur als Binary und nicht im Quelltext vorliegt, fällt auch ein eigenmächtiges Patch aus. Also heißt es, in Balabits Lieblingspfad für ausreichend Speicher zu sorgen.
Im mehrwöchigen Test kam es nur zu Datenverlusten, wenn der konfigurierte Puffer größer war als der zur Verfügung stehende Speicherplatz. Davon abgesehen blieb Syslog-NG-PE völlig unauffällig. Dies ist das beste Zeichen für einen Protokolldienst. Es war aber auch nichts anderes zu erwarten, da die Premium Edition auf der stabilen Open-Source-Version basiert. Viele Anwender werden noch die direkte Protokollierung in eine Datenbank wie MySQL, PostgreSQL oder Oracle schätzen. Das beherrschen aber auch andere Syslog-Alternativen wie Modular Syslog [3] oder Rsyslog [4].
Gut und teuer
In den meisten Unternehmen ist es Standard, Systemprotokolle verteilt zu verwalten. Viele setzen dazu auf die bewährte Open-Source-Variante Syslog-NG, da diese Implementierung Nachrichten per TCP überträgt. Vertraulichkeit und Authentizität – ein Feature der hier getesteten Premium Edition – lassen sich aber auch bei ihr leicht nachrüsten [5].
Interessant an der Premium Edition sind vor allem deren Flusskontrolle und der Datenpuffer auf der Festplatte. Sie verhindern, dass in einer verteilten Umgebung Protokollmeldungen verloren gehen, wenn der Logserver ausfällt. Bleibt zu hoffen, dass die freien Alternativen bald Vergleichbares anbieten. Zu den genannten Features gibt Balabit Käufern der kommerziellen Version kein Werkzeug zur Konfiguration und Überwachung mit auf den Weg. Alles eingerechnet erscheint der Preis deutlich zu hoch: fast 500 Euro für fünf Clients. (fjl)
|
Infos |
|---|
|
[1] Syslog-NG: [http://www.balabit.com/network-security/syslog-ng/] [2] Handbuch: [http://www.balabit.com/dl/html/syslog-ng-admin-guide_en.html/index.html] [3] Modular Syslog: [http://sourceforge.net/projects/msyslog/] [4] Rsyslog: [http://www.rsyslog.com] [5] Beispiel für Syslog-NG plus Stunnel: [http://www.stunnel.org/examples/syslog-ng.html] [6] Kiwi-Syslog: [http://www.kiwisyslog.com] |






