Syslog
Artikel geschrieben 2002-11-28 von
Rainer
Gerhards.
Was ist Syslog?
Syslog ist zunächst einmal nur ein
Datenübertragungsprotokoll. Darüber hinaus ist es aber auch eine Art Konzept:
Die Idee hinter Syslog ist, dass wichtige Systemmeldungen an einer zentralen
Stelle gesammelt werden sollten. Solche Meldungen umfassen z. B.
Eindringversuche von Hackern, sich ankündigende Hardwaredefekte oder auch
einfach nur Informationen über das Volumen des über einen Router fließenden
Datenstroms. Alle diese Informationen sind für einen Systemadministrator sehr
hilfreich - sei es, um Störungen frühzeitig zu erkennen oder das Netz gegen
Angriffe von Außen zu schützen.
Die "Syslog-Idee" ist es nun, dass (möglichst) alle
Netzwerkgeräte solche Meldungen an eine (oder wenige) zentrale Stellen
schicken. Dort können Sie dann gesammelt und ausgewertet werden. Diese zentrale
Stelle wird oft "Loghost" oder "Log Archiv" genannt. Dort können
dann auch umfangreichere Auswertungen und Archivierungen vorgenommen werden.
Unter dem Namen "Syslog"
werden also oftmals gleich drei - eigentlich verschiedene - Komponenten
verstanden:
- Die Meldung sendenden Geräte und Programme
(die "Sender")
- Das eigentlich Syslog-Protokoll
- Die Speicherung der Meldungen (die "Empfänger")
Oft kommt es auch zu einer gewissen Verwirrung
durch die Verwendung des Begriffs für eigentlich unterschiedliche Dinge.
Das Syslog-Protokoll selbst beschreibt
lediglich, wie die Daten vom Sender
(z. B. Router) zum Empfänger (z. B. Archiv)
gelangen. Es werden die zu verwendenden Formate bestimmt. Das Protokoll bietet
jedoch keine Unterstützung dafür, den "Sinn" einer Meldung zu
erfassen. Denn es ist leider nicht genormt, welchen Inhalt ein Syslog-Paket
haben sollen, wenn beispielsweise ein fehlgeschlagener Login erkannt wird. Hier
steht jedem Hersteller eine ganz eigene Implementierung frei. Die Norm selbst
sagt lediglich aus, dass eine Syslog-Meldung im wesentlichen aus einem (für
einen Menschen verständlichen) Text mit maximal ca. 1000 Zeichen bestehen soll.
Mehr leider nicht...
Aufbau
Der Hauptbestandteil der Meldung besteht aus Text.
Weiterhin beinhaltet die Meldung die Priorität und die Facility. Weiterhin
werden übermittelt der Absenderdienst und der Host.
Bei RFC kompatiblen Geräten wird auch ein Zeitstempel eingefügt.
Die maximal unterstützte Größe der einzelnen Meldung beträgt 1024 Byte.
Protokollstruktur
---------- Hardware ---------
-------------- IP ------------
------------ UDP ------------
----------- Syslog -----------
Text
Ausgabe von Meldungen, Warnungen und Fehlern.
Priorität
Unterschieden wird hier in folgenden Stufen:
|
emerg |
= |
Sehr schwerer Fehler, Ausfall |
|
alert |
= |
Schwerer Fehler, der sofortige Aktionen erfordert |
|
crit |
= |
Fehler, kritischer Zustand, Teilausfall
|
|
err
|
= |
Normale
Fehler, Störungen
|
|
warning
|
= |
Warnungen |
|
notice
|
= |
Normale Meldung, wichtig
|
|
info
|
= |
Normale Meldung, Information
|
|
debug
|
=
|
meist unbedeutende Informationen
|
Facility
|
Kern
|
= |
Kernelnachrichten, Hardwaremeldungen
|
|
|
User
|
= |
Usernachrichten,
Benutzersystem
|
|
|
Mail |
= |
Mailmeldungen
|
|
|
Daemon
|
= |
Meldungen zu verschiedenen Daemonen,
allgemeine Dienste
|
|
|
Syslog
|
= |
eigene Syslog-Meldungen
|
|
|
Lpr
|
= |
Meldungen zum Druckersystem
|
|
|
News
|
= |
Meldungen des Newssystems
|
|
|
UUCP
|
= |
Meldungen des Unix-Unix-Copy
|
|
|
Cron
|
= |
Meldungen der Cronjobs
|
|
|
Authpriv
|
= |
Autorisierungsmeldungen
|
|
|
Local
|
= |
Reserviert für den eigenen Bedarf Local 0 - 7
|
|
Nutzen
aus Priorität und Facility
Durch
entsprechende Konfiguration kann man zielgerichtet Meldungen getrennt erfassen
und unterschiedlich ausgeben lassen.
Absenderdienst
und Host
Die Information der sendenden Hardware wird erfasst.
Zeitstempel
Bei RFC-kompatibler Hardware kann Monat, Tag und Uhrzeit enthalten sein.
Nachteil: Keine Jahresangabe und keine Berücksichtigung von Zeitzonen u.ä.
Sicherheit
Da Syslog auf dem UPD-Protokoll aufbaut,
werden Syslog-Meldungen gesendet ohne zu prüfen, ob diese auch empfangen
werden. Bei hoher Netzauslastung gehen so manchmal Nachrichten verloren ohne
dass der Sender es bemerkt.
Arbeiten
mit Syslog
Die "Sender" erzeugen Meldungen, die in Ihrem Format dem Syslog-Protokoll
entsprechen. Wie schon gesagt, verwendet jeder Sender seine ganz eigenen
Meldungstexte - je nach Hersteller gibt es hier leider sehr unterschiedliche
Textinhalte.
Die Empfänger wiederum empfangen Syslog-Meldungen. Sie werden als Syslog-Server
oder auch Syslog-Daemon bezeichnet - letzteres als Tribut an die
UNIX-Umgebung, in der Syslog ursprünglich entwickelt wurde. Je nach
Leistungsumfang des Empfängers kann dieser die Meldungen dann lediglich
speichern oder auch z. B. komplexe Operationen ausführen. So ist es
beispielsweise denkbar, dass bei Attacken auf die Netzwerksicherheit
Warnmeldungen an das Funktelefon eines Administrators gesendet werden und außerdem gewisse Dienste beendet oder gestartet werden. Die Leistungsfähigkeit
der Syslog-Empfänger unterscheidet sich stark von Hersteller zu
Hersteller. In Unix ist ein kleiner "Syslog-Daemon", Syslogd,
enthalten. Er kann einkommende Meldungen ins Dateisystem speichern. Unter
Windows wird kein Syslog-Server mitgeliefert. Hier ist also auf jeden
Fall eine zusätzliche Software erforderlich, also auch dann wenn nur das simple
Speichern in eine Datei gewünscht ist.
Es ist noch wichtig anzumerken, dass Syslog extrem stark verbreitet ist.
Dies ist auch eine der großen Stärken dieses Protokolls. Nur Syslog ermöglicht
es, Meldungen wirklich unterschiedlichster Geräte und Programme zentral zu
verwalten. Syslog ist für quasi alle Netzwerkgeräte verfügbar.
Empfang von Syslog
auf Windows-Umgebungen
|