Syslog Monitoring
Was dem Windows Administrator sein "Eventlog" ist dem UNIX oder Router-Admin eben Syslog. Syslog ist ein Protokoll, welches einem Syslog-Client erlaubt, per UDP und neuerdings auch per TCP und optional SSL und Anmeldung entsprechende Meldungen an einen Dienst zu senden, welcher diese Meldungen im einfachsten Fall in eine Textdatei aufzeichnet.
Achtung
Syslog ist in den meisten Fällen der
ungesicherte Versand von kurzen Text-Meldungen
per UDP. Die meisten Meldungen sind einfach
abzuhören und es gibt auch keine Sicherung, dass
die Meldung angekommen ist. Wenn der Syslog-Server
nicht online oder die Verbindung unterbrochen
ist, dann gehen die Meldungen unwiederbringlich
verloren. Es gibt kein Queueing oder eine
Siciherung.
Windows konnte lange Zeit gar nichts mit SYSLOG anfangen, da Windows mit dem Eventlog durchaus gut bedient ist. Um aber "Systemübergreifend" zu administrieren, ist es natürlich sinnvoll, die unterschiedlichen Systeme zu verbinden. So gibt es Zusatzprogramme, damit die Windows Eventlogs in SYSLOG-Meldungen überführt werden.
Eventlog zu SYSLOG
Auf der Seite NTSyslog habe ich am Beispiel einer Freeware gezeigt, wie Sie Meldungen aus dem lokalen Eventlog per SYSLOG an einen beliebigen SYSLOG-Server versenden können. Natürlich gibt es noch weitere Programme und Tools.
- NTSyslog
- SNARE Agent for Windows
http://sourceforge.net/projects/snare/
http://www.intersectalliance.com/projects/SnareWindows/
Freeware um Eventlogs per Syslog, Datei - Solarwinds Log Forwarder
Bestandteil von Kiwi Syslog Installation. Umfangreiche Filterfunktionen nach Quelle, Eventlog, Severity. - Snare Epilog for Windows
http://www.intersectalliance.com/projects/EpilogWindows/index.html
Client Agent zum Überwachen von Dateien auf Windows (z.B. IISLogs, ISA-Logs, Exchange Message Tracking etc) - Eventlog to Syslog, aka evtsys
Neu: http://code.google.com/p/eventlog-to-syslog/
Alt: https://engineering.purdue.edu/ECN/Resources/Documents/UNIX/evtsys/
Der Versand von Meldungen per Syslog ist aber in anderen Umgebungen sehr viel häufiger. Ein paar Beispiele
- Router und Switches
Fast jeder Router oder Switch kann Vorgänge per SYSLOG versenden, z.B.: wenn sich ein Benutzer auf der Console anmeldet, wenn sich der Status eines Link verändert etc. - VPN-Knoten, Firewalls
VPN-Knoten können über SYSLOG jeden Anmeldevorgang protokollieren während Firewalls z.B. Einbruchsversuche weitergeben können. - VoIP Gateways
Am Beispiel eines Audiocodes Mediant 1000 können Sie auch gut erkennen, dass das zentrale Einsammeln von Systemmeldungen z.B. für die Erfassung von Verbindungsdaten sehr effektiv sein kann. - Drucker
Auch scheinbar "dumme" Geräte haben heute einen direkte Netzwerkanschluss und können Statusmeldungen (z.B. Toner fast leer, Fach offen) etc. melden - UNIX-Systeme
Fast jeder Prozess auf einem UNIX-System kann Meldungen per SYSLOG versenden. Viele kleinere Systeme senden die Meldungen auf den SyslogD auf "localhost", um die Logs dann einfach lokal zu behalten. - Telefonanlagen
Hier könnte der klassische "Verbindungsnachweis" gemeldet werden.
Zum Testen eines Syslog Servers und dessen Reaktionen können folgende beiden Testprogramme gute Dienste tun.
- Kiwi SyslogGen 2.2.0
http://www.kiwisyslog.com/kiwi-sysloggen-download/ - Syslog Sender
http://www.theonesoftware.com/syslog_sender.php
Generiert wahlfreie SYSLOG Meldungen zum Testen von Implementierungen
In die Gegenrichtung geht es natürlich auch
-
http://www.codeproject.com/KB/IP/Syslogd.aspx
Syslog Meldungen ins Eventlog schreiben
Syslog-Meldung per .NET versenden
Wenn Sie nun selbst mit dem .NET Framework Software entwickeln, dann schreiben Sie natürlich primär Fehler in das Eventlog und überlassen es anderen Programmen, um diese entsprechend weiter zu melden. Um zu zeigen, die einfach es aber ist, aus .NET einfach eine Meldung an einen SYSLOG-Server zu senden, habe ich hier einen Codeschnipsel aus Der Webseite von Glen Scales extrahiert (http://gsexdev.blogspot.com/2005/06/syslogging-message-tracking-logs-on.html).
void sendsyslog(string mtMessagetxt,string iaIpaddress, int
spPriority){
UdpClient ucUdpclient = new UdpClient(iaIpaddress, 514);
byte[] rawMsg;
string strParams = System.String.Format("<{0}>{1}",spPriority, mtMessagetxt);
rawMsg = System.Text.Encoding.ASCII.GetBytes(string.Concat(strParams));
ucUdpclient.Send(rawMsg, rawMsg.Length);
ucUdpclient.Close();
ucUdpclient=null;
}
So langsam kann man sich wirklich an .NET gewöhnen, da das Framework viele Aktionen doch sehr einfach macht.
Syslog per Powershell
Wenn sie sich den .NET-Code anschauen, dann ist es nur ein kurzer Schritt um das ganze in Powershell umzusetzen
[string]$sysloghost = "1.2.3.4"
[string]$syslogmesage = "Meldung an Syslog"
$udpclient = New-Object system.net.sockets.udpclient($sysloghost,514)
$rawmessage = [System.Text.Encoding.ASCII]::GetBytes($syslogmesage)
$udpclient.send($rawmessage, $rawmessage.length)
$udpclient.close()
$udpclient = $null
Es ist schon erstaunlich, wie leistungsfähig in Powershell mal eben schnell ein Syslog-Sender geschrieben werden. Noch faszinierender ist, dass man sogar einen einfachen Syslog-Server in Powershell schreiben kann
- syslogsender.ps1
http://wannemacher.us/?page_id=27
http://wannemacher.us/wp-content/uploads/2009/01/syslogsender.ps1
Powershell-Funktion zum Senden von Nachrichten aus Powershell an einen Syslog-Daemon - SysLogServer in PowerShell
http://www.indented.co.uk/index.php/2009/12/01/syslog-in-powershell/
Syslog Server
Auf der Empfängerseite muss natürlich ein SYSLOG-Server die Daten annehmen. Auch hier gibt es eine ganze Auswahl von Produkten, die teils "Freeware" teils kommerziell sind und auf Windows oder Unix laufen. Die Frage dabei ist natürlich, wie sie mit den eingehenden Meldungen umgehen. Der reine Empfang und die Ablage in einer einfachen Textdatei ist nicht mehr als ein Pflichtprogramm. Interessant wird das ganze natürlich, wenn ein zentraler Server die Daten annimmt und speichert. Neben der besseren Speicherung erlaubt eine zentrale Anlage auch eine Korrelation der Vorgänge und das Erkennen von Zusammenhängen. Aber auch bezüglich der Sicherheit hat so eine zentrale Ablage Vorteile, da ein Angreifer vielleicht das einzelne System kompromittieren kann aber entsprechend weitergegebene Meldungen nicht wieder "zurückgezogen" werden können.
Vielleicht haben Sie schon eine entsprechende Management Software, die SYSLOG Meldungen annimmt und entsprechend aufbereitet. Ansonsten müssen Sie sich einen Syslog Server besorgen. Auch auch diese gibt es im Internet häufig kostenfrei oder als beschränkte Version. Das sollte Sie natürlich nicht davon abhalten, bei Bedarf eine Profiversion zu kaufen. Insbesondere wenn Sie ein echtes "Management" damit verbinden wollen. Dazu zählen z.B. Regeln um auf Events zu reagieren oder Events z.B. "als Erledigt" zu kennzeichnen.
Syslog mit Operation Manager
Auch wenn man auf den ersten Blick nicht erkennt, dass Operation Manager auch Syslog verkraftet (Ein Netstat zeigt nicht an, dass etwas auf Port 514/UDP lauscht) so kann man auch OM beibringen, Syslogmeldungen anzunehmen und darauf zu reagieren. Das geht über den Bereich "Authoring", in dem einfach eine entsprechende Regel angelegt wird. Sie sollten nur wissen, dass der OM Server nicht selbst die Meldungen annimmt, sondern ein Agent auf einem Server

Es kommt noch einige weitere Fenster, mit denen Sie Filterregeln und Zielsätze (z.B.: die Agenten, die SYSLOG dann annehmen und weiter geben) einstellen können, auf die ich hier nicht weiter eingehe. Die folgenden Links und andere Seiten helfen hier weiter.
- Linux, Syslog and System Center Operations Manager 2007
http://contoso.se/blog/?p=158 - Generating Alerts from UNIX/Linux SysLog messages in Operations
Manager 2007
http://blogs.technet.com/b/cliveeastwood/archive/2007/09/07/generating-alerts-from-unix-linux-syslog-messages-in-operations-manager-2007.aspx - Syslog Monitoring Walkthrough with Systems Center Operations Manager
2007
http://cornasdf.blogspot.com/2010/06/syslog-monitoring-walkthrough-with.html - 555450 HOWTO: Configure Microsoft Operation Manager 2000 or 2005 to monitor Unix devices by using Syslog
- 942863 How to collect and monitor UNIX Syslogs in System Center Operations Manager 2007 or in System Center Essentials 2007
Syslog Server Kiwi Syslog
Ein relativ einfach einzusetzender SYSLOG-Daemon ist der Syslog Server von Kiwi an. Sie erhalten ihn unter http://www.kiwisyslog.com. Laden Sie besser die Version herunter, die als "Dienst" laufen. Sie funktioniert zwar erst ab Windows NT und nicht auf Windows 95 und älter, aber dafür läuft sie auch, wenn niemand angemeldet ist. Die Konsole selbst stellt sich einfach und übersichtlich dar. Danke umfangreicher Optionen können Sie auch "Skins" nutzen und die Farben anpassen.

Viel wichtiger sind aber die Funktionen dahinter. Auf jeden eingehenden Event können Filter und Aktionen ausgelöst werden. Die Basisevents bewirken, dass alle Meldungen auf dem Bildschirm angezeigt und in eine Datei protokolliert werden. Zusätzlich sind aber auch SMTP-Mail, SNMP Traps, Datenbankablagen, Ausführen von Skripten, ICQ und vieles mehr möglich. Spielen Sie einfach etwas mit den Optionen.
Natürlich gibt es eine ganze Menge anderer Produkte. Letztlich bleibt es eine Frage der Anforderungen, welches Produkt dann zum Einsatz kommen soll.
- Wikipedia Syslog
http://en.wikipedia.org/wiki/Syslog -
http://www.codeproject.com/KB/IP/Syslogd.aspx
Syslog Meldungen ins Eventlog schreiben - Solarwinds Kiwi Syslog Server
http://www.kiwisyslog.com/kiwi-syslog-server-features-and-benefits/ - Splunk - Zentraler Logserver
http://www.splunk.com/ Kostenfreie Version verarbeitet bis zu max. 500MB/Tag
http://tmgblog.richardhicks.com/2010/04/04/configuring-syslog-on-isa-and-tmg-with-splunk-log-management/
Zentraler Log-Server mit Splunk http://www.arnebrodowski.de/blog/329-Zentraler-Log-Server-mit-Splunk.html
Vergleich Free/Paysoft http://www.splunk.com/view/free-vs-enterprise/SP-CAAAE8W - Snare
http://www.intersectalliance.com/snareserver/index.html - syslogd(8) manpage
http://linux.die.net/man/8/syslogd -
http://www.codeproject.com/KB/IP/Syslogd.aspx
Syslog Daemon zu Eventlog
Basis für Syslog zu SMTP (?) oder Syslog2WebService Oder Syslog zu Datenbank und Datenbank Filter - Lan-Secure Syslog Monitor Windows Syslog Server
Daemon
http://www.lan-secure.com/WindowsSyslogMonitor.htm 73 Euro -
http://www.theonesoftware.com/syslog_manager.php
Braucht MySQL 39/59 US-$ -
http://www.winsyslog.com/en/
100 Hosts ca. 8000 Euro - TriAction Syslog Daemon 30 day free trial, $30
license
http://www.tedon.com/Products.asp
http://www.triaction.nl/syslog.htm
Syslog Dienst mit Regeln. Der eventlog Agent hingegen pollt ungünstig - Microtik syslog daemon [Win95,98,NT,2000] Freeware
http://www.mt.lv/3index.html#utils
Einfacher SyslogD von einem Hardware-Hersteller - Netlogger [MacOs] $10 Shareware
- SL4NT [Windows]
http://www.netal.com/sl4nt.htm
60 Tage Trial, $95 für SingleUser - 3COM free syslog daemon 3CDaemon
ftp://ftp.3com.com/pub/utilbin/win32/3CSyslog.zip
http://support.3com.com/software/utilities_for_windows_32_bit.htm - LogZilla - GUI Frontend für SyslogNG
http://nms.gdd.net/index.php/LogZilla
Weitere Links
- Überwachung von Exchange - Eventlog
- NTSyslog
- 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/









