ITS-LABOR NWM Syslog 1. Einführung Das Syslog Protokoll (RFC 3164) ermöglicht es einem Netzknoten „event notification messages“ über ein IP Netzwerk an einen „event notification collector“ oder auch Syslog Server zu versenden. Da grundsätzlich die Systemnachrichten von Betriebssystemen, Prozessen und Applikationen sehr unterschiedlich sein können, wurde bewusst der Inhalt von Systemnachrichten im Syslog Protokoll nicht spezifiziert. Das Protokoll ist lediglich dafür gedacht eine Systemnachricht zu transportieren. Da das Protokoll keine Quittierungsmechanismen vorsieht, ist es durchaus möglich, dass Nachrichten an einen Server gesendet werden der nicht läuft bzw. physikalisch gar nicht existiert. Der Standard sieht aber vor, dass beispielsweise Betriebssystemhersteller ihre „System Messages“ in definierte Kategorien einteilen. Dadurch wird eine flexiblere Konfiguration des Gesamtsystems erreicht. So wird es beispielsweise möglich „unwichtige“ Meldungen nur an einer Konsole auszugeben, alle anderen Meldungen lokal zu speichern und zusätzlich bestimmte Meldungen einer Kategorie an einen Syslog Server weiterzuleiten. Syslog ist ein Protokoll auf Anwendungsebene und verwendet UDP als Transportprotokoll. Dazu schlägt der Standard Port 514 sowohl für die Verwendung als Syslog Server als auch als Syslog Client vor. Syslog Message Format: Eine Syslog Nachricht besteht im Wesentlichen aus drei Komponenten: Einem Selektor Priority genannt -, einem Header und dem eigentlichen Inhalt. Der ein Byte große PrioritySelektor besteht aus zwei Teilen: dem Facility-Feld und dem Severity-Feld. Damit lassen sich die Syslog-Meldungen entsprechend ihrer Herkunft und ihres Schweregrades klassifizieren. Das die letzten drei Bits der Priority umfassende Severity-Feld enthält einen numerischen Wert zwischen 0 und 7, wobei 0 die kritischste oder dringlichste Stufe ist: 0 - emerg Emergency 1 - alert Alert 2 - crit Critical 3 - err Error 4 - warn Warning 5 - notice Notice 6 - info Informational 7 - debug Debug Das die ersten fünf Bits der Priority umfassende Facility-Feld enthält einen numerischen Wert, der den Dienst oder die Komponente angibt, der die Syslog Nachricht erzeugt hat. Die folgenden Werte sind laut RFC 3164 vordefiniert: 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 Seite 1 von 4 © Studiengang ITS -- FH Salzburg 13/14 nwm_syslog.docx ITS-LABOR NWM 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 local0 17 local1 18 local2 19 local3 20 local4 21 local5 22 local6 23 local7 Für allgemeine syslog-Nachrichten sind die Werte 16 - 23 vorgesehen (local0 bis local7). Es ist aber durchaus zulässig, auch die vordefinierten Werte 0 bis 15 für eigene Zwecke zu verwenden. Mit Hilfe des Priority-Selektors kann leicht nach bestimmten Meldungen gefiltert werden, wie beispielsweise: "Erfasse alle Mailserver-Nachrichten vom Schweregrad error". Der Header enthält einen Zeitstempel sowie Name oder IP-Adresse des Absenders der syslog-Nachricht. Der Zeitstempel wird vom Empfänger, also dem Syslog-Server, eingefügt. Er enthält das Datum und die lokale Uhrzeit zum Empfangszeitpunkt. Häufig wird zusätzlich Absendedatum und -uhrzeit in der eigentlichen Meldung untergebracht. 2. Übungen 2.1 Topologie Bauen sie für die Übung eine Topologie nach eigener Definition auf. (Cisco Hardware, Orinoco Proxim) 2.2 Console zu einem Cisco Router – Systemmessage erzeugen Stellen sie eine Consolen-Verbindung mit dem Router her und erzeugen sie eine Systemmessage. Router# conf t Router(config)# exit Router# 01:13:09: %SYS-5-CONFIG_I: Configured from console by console 2.3 Telnet – Systemmessage erzeugen Seite 2 von 4 © Studiengang ITS -- FH Salzburg 13/14 nwm_syslog.docx ITS-LABOR NWM Aktivieren sie am Router Telnet (line vty) und stellen sie dann von einem Arbeitsplatz PC eine Telnet-Verbindung zum Router her. Erzeugen sie wie unter 2.2 eine Systemmessage. Aufgabe: Lassen sie Systemmessages auch bei Telnet Verbindungen ausgeben (terminal monitor). Frage: Wie kann man den Severity Level für Telnet Ausgaben einstellen? 2.4 Debug – Systemmessages erzeugen Durch den Befehl debug im “enabled“ Modus können gezielt Nachrichten erzeugt werden: Router# debug ? Router# debug telnet Incoming Telnet debugging is on Router# exit Aktivieren sie abwechselnd Debug für console und telnet um dadurch An-/AbmeldeNachrichten zu erzeugen. Router# debug all ACHTUNG!!! Erzeugt viele Messages ? no debug all / undebug all 2.5 Speichern von Syslogs auf zentralem Syslog Server unter Windows Das Programm 3CDaemon bietet neben einem TFTP und FTP Server und Client auch einen Syslog Server für Windows. Aufgaben: • • • • 3CDaemon von der Kurs-Webseite herunterladen und installieren) 3CDaemon starten. Syslog Server konfigurieren Syslog Server starten Konfigurieren sie den Router so, dass er seine Lognachrichten an den Windows Syslog Server sendet. Router# conf t Router(config)# logging host 192.168.1.2 Seite 3 von 4 © Studiengang ITS -- FH Salzburg 13/14 nwm_syslog.docx ITS-LABOR NWM Router(config)# logging trap debug Router(config)# logging facility local1 Router(config)# logging on Router(config)# exit Router# show logging Router# debug all Im Programm 3CDaemon sollten sie nun die Syslog Nachrichten empfangen. Frage: • Was bedeuten diese Befehle? 2.6 Speichern von Syslogs auf zentralem Syslog Server unter Linux Bei dieser Übung soll der Windows Syslog Server durch einen Syslog Server unter Linux ersetzt werden. Die Konfiguration des Routers ist wie bei 2.5, jedoch muss die Host Adresse auf die IP des Linux PC geändert werden. Am Linux PC muss der Syslog Server konfiguriert und gestartet werden. Seite 4 von 4 © Studiengang ITS -- FH Salzburg 13/14 nwm_syslog.docx