Unternehmensweite Protokollierung von Systemereignissen

Syslog, bitte zum Diktat

2. November 2007, 17:38 Uhr |

Im Zusammenhang mit den aktuellen Compliance-Diskussionen gewinnt Syslog an Aktualität.

Als Eric Allman Anfang der 80er Jahre an der University of California in Berkeley den bekannten Mail-Transfer-Agent »Sendmail« entwickelte, suchte er nach einem Weg, Status- und Ereignisinformationen seines E-Mail-Systems an einer zentralen Stelle zu sammeln und abzulegen. Quasi als Nebenprodukt entstand so Syslog, dessen Funktionen von anderen Entwicklern schnell in ihre Anwendungen integriert wurden. Heute sorgt der Begriff Syslog manchmal für Verwirrung, da er für mehrere Dinge verwendet wird. So bezeichnet Syslog einerseits ein Protokoll, das definiert, wie Systemereignisse formatiert und über Computernetze übertragen werden. Gleichzeitig steht Syslog für Programme, die Ereignismeldungen generieren, entgegennehmen, weiterleiten oder speichern.

Grundsätzlich unterscheidet man in einer Syslog-Umgebung drei verschiedene Rollen: Ein so genanntes Syslog-Gerät (Device) generiert Syslog-Nachrichten. Ein solches »Gerät« kann dabei eine Anwendung wie ein Webserver, ein Teil eines Betriebsystems oder auch ein Router, Switch oder eine Firewall sein. Ein Syslog-Kollektor oder Syslog-Server nimmt diese Nachrichten entgegen und speichert sie. In größeren Umgebungen kommen zusätzlich so genannte Syslog-Relays zum Einsatz, die als Syslog-Kollektoren Meldungen von Clients entgegennehmen und dann in der Rolle eines Syslog-Geräts an andere Syslog-Server weiter leiten.

Obwohl es Syslog nach IT-Zeitrechnung schon eine halbe Ewigkeit gibt, existierte das Protokoll lange Zeit lediglich als De-facto-Standard, der von keiner offiziellen Stelle dokumentiert und daher von verschiedenen Softwareentwicklern entsprechend kreativ interpretiert wurde. Erst im August 2001 veröffentlichte die IETF in der RFC 3164 den aktuellen Status quo von Syslog. Einen formellen Standard gibt es nach verschiedenen gescheiterten Anläufen bis heute nicht. Seit Anfang 2007 ist jedoch bei der IETF eine erhöhte Aktivität zu beobachten.

Funktionsweise von Syslog

Eine Syslog-Nachricht eines Syslog-Geräts besteht grundsätzlich aus drei Teilen: einem Selektor (Priority), einem Header und dem eigentlichen Inhalt. Der Selektor ist genau ein Byte groß und beschreibt einerseits die Herkunft der Nachricht sowie deren Wichtigkeit beziehungsweise den Schweregrad (Severity). Zur Berechnung des Selektors multipliziert man den Wert des Herkunftsfelds (Facility) mit acht und addiert dazu den Wert des Schweregrads der Meldung. Mit Hilfe einer Syslog-Priority-Matrix lässt sich diese leicht berechnen und entschlüsseln. Die ersten 16 Quellen von Syslog-Nachrichten sind von der RFC 3164 vordefiniert. Ein Selektor mit dem Wert 19 würde so einen Fehler in einem Mailsystem signalisieren. Dies hilft Administratoren später dabei, für sie relevante Nachrichten aus der Menge aller gesammelten Log-Informationen herauszufiltern.

Auf den Selektor folgt in einer Syslog-Nachricht ein Header. Dort stehen ein Zeitstempel sowie Informationen über das Gerät, das die Syslog-Meldung abgesetzt hat. Dies kann entweder eine IP-Adresse oder ein aufgelöster Hostname sein. Darauf folgt schließlich der eigentliche Inhalt der Nachricht, den der Sender beziehungsweise der Softwareentwickler frei definieren kann. Eine so komponierte Nachricht schickt ein Syslog-Gerät dann im Klartext über UDP an den Port 514 eines Syslog-Servers. Die maximale Länge einer Syslog-Meldung beträgt ein kByte.


  1. Syslog, bitte zum Diktat
  2. Schwachstellen von Syslog
  3. Fazit

Jetzt kostenfreie Newsletter bestellen!

Matchmaker+