Syslog senden
Wenn Sie irgendwo einen Syslog Server aufgebaut haben, können Sie nun auf den verschiedensten Clients den Versand an diesen Server einrichten.
Windows 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
- NXLog
-
eventlog-to-syslog
http://code.google.com/p/eventlog-to-syslog/ - SNARE Agent für 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 für 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/ - Syslogs annehmen und an mehrere andere Server weiter
geben (Relay und Duplizierung)
http://www.manageengine.com/free-syslog-forwarder-tool/free-syslog-forwarder-index.html
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 senden
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
- POSH Syslog
https://www.powershellgallery.com/packages/Posh-SYSLOG/ - 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/ - PowerShell Function to Send UDP SYSLOG Message
Packets
https://cyber-defense.sans.org/blog/2016/06/01/powershell-function-to-send-udp-syslog-message-packets
Syslog und IoT
Auch wenn hier MQTT das dominante Protokoll zur Meldung von Werten und Steuerung ist, nutze ich dennoch gerne Syslog für Debug-Ausgaben. Entsprechend gibt es auch Libraries und Code für ESP8266, ESP32, Arduino und Clone
- An Arduino library for logging to Syslog
server in IETF format (RFC 5424) and BSD
format (RFC 3164)
https://GitHub.com/arcao/Syslog - ESPSyslog
https://GitHub.com/jerryr/EspSyslog - ericgu/UdpLogger (nicht Syslog)
https://GitHub.com/ericgu/UdpLogger
Sehr einfacher Logger, der einfach einen Test per UDP-Broadcast an einen hinterlegten Port sendet. - chaeplin/syslog.ino
https://gist.GitHub.com/chaeplin/8f4b06aa2bd454232892
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