logging Flashcards
Welche logging daemons gibt es?
syslogd
syslog-ng
rsyslog
journald
Wo liegt das config file für rsyslog ?
/etc/rsyslog.conf
oder/etc/rsyslog.d/
Für was ist das Verzeichnis…/var/spool/rsyslog/
?
rsyslog verwendet dieses Verzeichnis normalerweise als Zwischenspeicher für Protokolle, bevor sie an ihre endgültigen Ziele weitergeleitet werden.
in welches Verzeichnis werden normalerweise logs geschrieben ?
/var/log/
da es sich um variable Daten handelt.
Was zeigen die Logs…
~~~
/var/log/wtmp
~~~
und wie werden sie abgefragt ?
Erfolgreiche Anmeldungen.
Log im Binärformat.
wird mit who wtmp
abgefragt.
was zeigt das Log…/var/log/btmp
und wie wird es abgefragt ?
Fehlgeschlagene Anmeldeversuche, z.B. Brute-Force-Angriffe über ssh.
Log im Binärformat.
wird mit utmpdump
oder last -f
abgefragt
Was zeigt das Log../var/log/faillog
und wie wird es abgefragt ?
Fehlgeschlagene Authentifizierungsversuche.
Log im Binärformat.
wird mit faillog -a
abgefragt
Wie werden Logs erzeugt ?
Anwendungen/Dienste/Kernel schreiben Nachrichten in spezielle Dateien.
z.B. /dev/log oder /dev/kmsg.
rsyslogd holt die Informationen aus den Sockets oder Speicherpuffern.
Abhängig von den Regeln in /etc/rsyslog.conf
verschiebt rsyslogd die Informationen in die entsprechende Protokolldatei, normalerweise /var/log.
In welchen 3 Sectionen ist rsyslog.conf unterteilt ?
Modules
Global Directives
Rules
In welcher Section wird das senden, bzw empfangen von Logs definiert, falls die Logs auf einen entfernten Server geschickt werden ?
Modules
Server config
provides UDP syslog reception $ModLoad imudp $UDPServerRun 514 provides TCP syslog reception $ModLoad imtcp $InputTCPServerRun 514
…
Client config
*.* @@suseserver:514 oder *.* @@192.168.0.1:514
…
@ steht für UDP
@@ steht für TCP
Wie lautet die syntax für die Regeln ?
facility.priority.action
Wie lauten die einzelnen Warnstufen der priority ?
0 emerg,panic
(System ist unbrauchbar)1 alert
(Sofortige Maßnahmen erforderlich)2 crit
(Kritischer Zustand)3 err, error
(Fehlerzustand)4 warn,warning
(Warnung)5 notice
(Normaler aber signifikanter Zustand)6 info
(Information)7 debug
(Debug-Level-Meldungen)
Erkläre…*.*;auth,authpriv.none -/var/log/syslog
Alle Facilities (*
) - außer ;auth,authpriv.none
und jede Priorität (.*
) und somit alle Meldungen
gehen nach /var/log/syslog
.
Semikolon (;) trennt den Selektor auf für (Suffix .none)
Minuszeichen (-) vor dem Pfad verhindert übermäßige Schreibvorgänge auf der Festplatte.
Erkläre…
*.=debug;\ auth,authpriv.none;\ news.none;mail.none -/var/log/debug
Nachrichten von allen Einrichtungen mit der Priorität debug und keiner anderen (=) werden nach /var/log/debug geschrieben
Mit Ausnahme aller Nachrichten, die von den Einrichtungen auth, authpriv, news und mail kommen (beachte die Syntax: ;\).
Welcher command logged manuell in /var/log/syslog
oder /var/log/messages
(falls die Protokollierung auf remote server geschickt wird)
logger
z.B. praktisch zum verwenden in Skriptslogger -t Backup "Datensicherung ausgeführt"
Was macht das Programm logrotate
komprimiert und rotiert logs, damit diese nicht zu groß werden
Wo liegt das config file für logrotate ?
/etc/logrotate.conf
oder
/etc/logrotate.d/
Wie und wann wird logrotate ausgeführt ?
logrotate liest die Konfigurationsdatei /etc/logrotate.conf und wird als automatisierter Prozess oder Cron-Job täglich durch das Skript /etc/cron.daily/logrotate ausgeführt.
Wie funktioniert logrotate ?
- /var/log/messages.4.gz wird gelöscht und geht verloren.
- Der Inhalt von messages.3.gz wird nach messages.4.gz verschoben.
- Der Inhalt von messages.2.gz wird nach messages.3.gz verschoben.
- Der Inhalt von messages.1 wird nach messages.2.gz verschoben.
- Der Inhalt von messages wird nach messages.1 verschoben —
- /var/log/messages ist leer und bereit, neue Protokolleinträge aufzunehmen.
Was bedeuten die folgenden infos in einer logrotate.conf ?
/var/log/messages { weekly rotate 4 missingok notifempty compress delaycompress postrotate invoke-rc.d rsyslog rotate > /dev/null endscript }
weekly - rotiert logs wöchentlich
rotate 4 - Bewahrt logs von 4 Wochen
missingok - Keine Fehlermeldung ausgeben wenn die logdatei fehlt
notifempty - nicht rotieren wenn das log leer ist.
compress - log mit gzip komprimieren
delaycompress - komprimierung auf den nächsten RotationsZyklus verschieben
Lese das log /var/log/syslog.7.gz
Welche commands verwendest du ?
zless /var/log/syslog.7.gz
oderzmore /var/log/syslog.7.gz
Lese /var/log/syslog
dynamisch
tail -f /var/log/syslog
Lese /var/log/faillog
faillog -a
Welche Regeln würden Sie zu /etc/rsyslog.conf hinzufügen, um folgende Aufgaben zu erfüllen:
◦ Alle Nachrichten der Facility mail mit einer Priorität/Schwere von crit (und höher) nach /var/log/mail.crit senden:
mail.crit /var/log/mail.crit
Welche Regeln würden Sie zu /etc/rsyslog.conf hinzufügen, um folgende Aufgaben zu erfüllen:
Alle Nachrichten der Facility mail mit den Prioritäten alert und emergency nach /var/log/mail.urgent senden:
mail.alert /var/log/mail.urgent
…
weil
nach alert kommt nur mehr emergency daher muss nur alert angegeben werden.
Priorität ist hierarchisch inklusiv, was bedeutet, dass rsyslog Nachrichten mit der angegebenen Priorität und auch alle mit höherer Priorität gesendet werden
Welche Regeln würden Sie zu /etc/rsyslog.conf hinzufügen, um folgende Aufgaben zu erfüllen:
Alle Nachrichten (unabhängig von Facility und Priorität) nach /var/log/allmessages senden, außer jenen, die von den Facilities cron und ntp kommen:
*.*;cron.none;ntp.none /var/log/allmessages
Welche Regeln würden Sie zu /etc/rsyslog.conf hinzufügen, um folgende Aufgaben zu erfüllen:
Sofern alle erforderlichen Einstellungen richtig konfiguriert sind, alle Nachrichten der Facility mail an einen entfernten Host mit der IP-Adresse 192.168.1.88 unter Verwendung von TCP und Angabe des Standardports senden:
mail.* @@192.168.1.88:514
Welche Regeln würden Sie zu /etc/rsyslog.conf hinzufügen, um folgende Aufgaben zu erfüllen:
Alle Meldungen mit der Priorität warning (und zwar nur warning) unabhängig von ihrer
Facility nach /var/log/warnings schreiben, um übermäßiges Schreiben auf die Festplatte
zu verhindern:
*.=warning -/var/log/warnings