Syslog Grundlagen
Ich beschränke mich auf der MSXFAQ auf die "einfache" Form des Syslog über UDP ohne SSL, Absicherungen o.ä. Die meisten "einfachen Router" und Gateways nutzen einfach diesen Weg und auch als Windows Administrator sollten Sie das Protokoll zumindest können.
Syslog-Meldungen sind faktisch einfach Text-Strings, die in UDP-Paketen an vordefinierte Ziele auf Port 514 gesendet werden. Über UDP sollten die Pakete klein sein, und Verluste dürfen nicht kritisch sein, da keine Flusskontrolle vorhanden ist. Es gibt auf dem Sender daher auch keine Queue und wenn der Empfänger "offline" ist, dann gehen die Meldungen verloren. Es gibt auch keine Authentifizierung, Verschlüsselung, Sicherstellung der Reihenfolge oder Schutz gegen Veränderungen . Auch "Fälschungen" sind einfach möglich, wenn der Angreifer den Syslog-Server erreichen kann. All diese Kritikpunkte sind in der RFC5426 ebenfalls aufgeführt.
- RFC5424 The Syslog Protocol
http://tools.ietf.org/html/rfc5424 - RFC5426 Transmission of
Syslog Messages over UDP
http://tools.ietf.org/html/rfc5426 - RFC3164 The BSD syslog
Protocol (obsolet)
http://tools.ietf.org/html/rfc3164
Entsprechend einfach ist auch der Paketaufbau. Er besteht aus einem UDP-Paket und der Nutzlast als einfacher String. Hier habe ich mit WireShark mal solche Meldungen von zwei Systemen mitgeschnitten:
Beide Systeme senden UDP-Pakete aber nur eines davon nutzt die ersten 5 Byte zur Übermittlung standardisierter Daten.
- 192.168.100.107 - Audiocodes
Mediant
Hier beginnt das UDP-Paket mit einem besonderen String "<xxx>", in dem weitergehende Informationen codiert sind, die ein SYSLOG-Server auswerten kann. WireShark wertet die "<133>" z.B. als "Local0:Notice" aus. - 192.168.99.14 Grandstream
GXV3140-Telefon
Diese Telefon sendet einfach nur einen String. Das ist durchaus legitim, wenn der Syslog-Service einfach nur zum Protokollieren gedacht ist. für Debug-Funktionen ist das sicher i.O. aber schöner wäre es schon, wenn das Gerät eine Einordnung und Gewichtung der Meldungen vornehmen würde.
Facility, Severity und Zeit
Beim Design von Syslog hat man etwas mehr im Hinterkopf gehabt als einfach nur einen Textstring per UDP an einem Server zuzuwerfen, der diesen denn irgendwie protokolliert. Der Server "sieht" vom Absender neben der IP-Adresse und der Message auch noch zwei weitere Klassifizierungen, die am Anfang des Texts mit "<" und ">" eingerahmt stehen müssen. Diese Prefix gibt eine Facility und eine Severity vor.
- Facility
Die Facility ist ein Wert zwischen 0 und 23- 0 kernel messages
- 1 User-level messages
- 2 mail system
- 3 system daemons
- 4 security/authorization messages
- 5 messages generated internally by syslogd
- 6 line printer subsystem
- 7 network news subsystem
- 8 UUCP subsystem
- 9 clock daemon
- 10 security/authorization messages
- 11 FTP daemon
- 12 NTP subsystem
- 13 log audit
- 14 log alert
- 15 clock daemon
- 16-23 local10
- local17
Allgemeine Meldungen sollten diesen Bereich nutzen.
- Severity = Schweregrad
Dieser kann einen Wert von (0..7 annehmen)- 0 Emergency
- 1 Alert
- 2 Critical
- 3 Error
- 4 Warning
- 5 Notice
- 6 Informational
- 7 Debug
Eine Nummer wird daraus, indem man die Facility mit 8 multipliziert (und damit die 5 Bits um 3 Stellen nach rechts schiebt und dann die Severity addiert. Der alte BSD Syslog Standard (RFC3164) schreibt dann vor, dass ein Zeitstempel und dann die Message gesendet wird.
Weitere Links
- Überwachung von Exchange - Eventlog
- NTSyslog
- NXLog
-
Syslog
http://en.wikipedia.org/wiki/Syslog
http://de.wikipedia.org/wiki/Syslog - Security_Event_Manager
http://en.wikipedia.org/wiki/Security_Event_Manager - HP Procurve "auto DoS" feature causing network problems
http://louwrentius.blogspot.com/2010/04/hp-procurve-auto-dos-feature-causing.html
Wenn HP-Switches als "Firewall" agieren und SYSLOG stören - Syslog Daemong als PowerShell
http://www.indented.co.uk/index.php/2009/12/01/syslog-in-PowerShell/ - Eventtracker
http://www.eventtracker.com/products/features/unlimited-log-collection/ - RFC 3195 – Reliable Delivery für syslog
- RFC 5424 - The Syslog Protocol