syslogd / klogd

Systemlogging ist ein effektives Mittel um Angriffe und Fehler zu



www.net-tex.de erkennen int Einführung Ein weitverbreitetes Paar ist syslogd/klogd.
Der syslogd bearbeitet Systemmeldung vom lokalen Host und aus dem Netz.
Der klogd bearbeitet Ausgaben des Kernels.

sys syslogd Wie schon eingangs erwähnt protokolliert dieser Daemon selbstständig im Hintergrund
Systemmeldung vom lokalen Host und aus dem Netz. Lokale Meldungen werden aus /dev/log
entnommen, Netzmeldungen müssem per -r explizit angeschaltet werden, da eine Überwachung
des UDP-Ports zu einem DoS führen kann.
Die syslogd-Meldung besteht aus zwei Teilen : der Warnung und Typeninformationen.
typ Typen Die Typeninformationen bestehen aus dem Typ:

Typen Herkunft
LOG_SYSLOG syslog
LOG_KERN Kernel
LOG_USER User
LOG_MAIL eMail-System
LOG_DAEMON div. Daemons
LOG_LPR Drucker-System
LOG_UUCP Unix-to-Unix-Copy-Protocol
LOG_NEWS News-System
LOG_CRON Cron
LOG_AUTHPRIV Authorisierungen
LOG_LOCAL0-7 lokaler Bedarf
der Priorität
Priorität Bedeutung
LOG_DEBUG unwichtig
LOG_INFO normal
LOG_NOTICE bedeutend aber normal
LOG_WARNING Warnung
LOG_ERR normaler Fehler
LOG_CRIT kritisch
LOG_ALERT kurz vor Overkill
LOG_EMERG System tot
einer Zeitangabe sowie des Absenderhosts.
Anhand der Level und Typen kann syslogd dann entscheiden wohin die Meldung gehen soll.
Dies wird in der Datei /etc/syslog.conf konfiguriert, und zwar nach folgendem Schema:
typ.level ; typ.level /file
typ und level ohne LOG_, das niedrigste Level das eingeschlossen werden soll, wird angegeben.
/file ist der Wunschfile in den gelogt werden soll. z.B.
lpr.crit /etc/log_print
schreibt alle Meldungen ab LOC_CRIT in /etc/log_print
Ein Merkmal des Linux syslogd, im Gegensatz zum "echten" BSD, ist der Joker *
der alle Typen/Level einschließt bzw. das Gegenteil none das angegebenen Typ/Level
ausschließt. Weiterhin kehren der Bang ! die Definition um, während
das = nur diese Eigenschaft zuläßt.
Weiterhin kann man natürlich auch /file konfigurieren.
/file Datei
@host Umleiten an genannten Host
user Terminal des angegebenen Users
* auf alle Terminals schreiben
| in pipe schreiben
Parameter:
-d Debug; nutzt stdout und bleibt im Vordergrund
-s definiert eine Domain als lokal
-l definiert Host als lokal
-n läßt Daemon im Vordergrund
-h Meldungen aus dem Netz weiterleiten
-m time Intervall in der die Funktion des Daemon bestätigt wird
-p /verz anderes Verzeichnis als /dev/log
-r schaltet Netznachrichten an
-l liste setzt Rechner aus Liste lokal und schreibt einfache Namen
-s liste setzt Domains aus Liste lokal und schreibt einfache Namen
-v Versionsausgabe
klo klogd Der klogd ist ein Daemon der syslogd ergänzt und Kernelmeldungen analysiert.
Dies geschieht indem zuerst die Priorität ermittelt wird und anhand dieser
der weitere Weg entschieden wird.
Meist werden die Nachrichten an stdout gesendet (z.B. beim Booten)
und um den Typ Kernel erweitert, an syslogd geschickt.

Der klogd verfügt aber über eine weitere wichtige Funktion, denn mittels
der system.map kann der Daemon herausfinden welche Funktion eine Schutzverletzung
verursacht hat, um diese leichter zu debuggen. Da die Funktionstabelle lediglich nach dem
kompilieren erzeugt wird, sollten die modutils ein Signal an den klogd senden,
um ihn von einem neuen Modul zu informieren.

Parameter:
-d Debug; zeigt mehr Infos an
-n läßt Daemon im Vordergrund
-s nutzt syscal statt /proc um Meldungen zu lesen
-v Versionsausgabe
-i Modul-Symbole neu laden
-I system.map neu einlesen
-p lädt Schutzverletzungstabelle neu ein
-o liest neue Meldungen und beendet
-f file schickt meldung an file statt an syslogd
-k file liest file statt system.map

net-tex.de, Index
$Id: log.html,v 1.22 2010/06/09 06:31:33 stefan Exp $ 
Autor: Stefan Schumacher, stefan@net-tex.de, PGP-Key 0xB3FBAE33
für net-tex.de/cryptomancer.de

Bitte beachten Sie, das die Seite inhaltlich seit Ende 2007 nicht mehr gepflegt wird!
Aktuellere Informationen erhalten Sie auf Kaishakunin.com