
Ich verwende CentOS 5.5 und standardmäßig /var/log/audit/audit.log
sieht meins so aus:
type=USER_AUTH msg=audit(1331897657.359:8435): user pid=15610 uid=0 auid=4294967295 subj=system_u:system_r:unconfined_t:s0-s0:c0.c1023 msg='PAM: authentication acct="?" : exe="/usr/sbin/sshd" (hostname=c165-130.i02-2.onvol.net, addr=213.165.165.130, terminal=ssh res=failed)'
type=USER_LOGIN msg=audit(1331897657.360:8436): user pid=15610 uid=0 auid=4294967295 subj=system_u:system_r:unconfined_t:s0-s0:c0.c1023 msg='acct="oracle": exe="/usr/sbin/sshd" (hostname=?, addr=213.165.165.130, terminal=sshd res=failed)'
um genau zu sein, werden Logeinträge ohne Zeitstempel geschrieben. Das erschwert die Fehlersuche. Es gibt eine Manpage
man auditd.conf
aber in diesem Betreff steht nur:
log_format
The log format describes how the information should be stored on
disk. There are 2 options: raw and nolog. If set to RAW, the
audit records will be stored in a format exactly as the kernel
sends it. If this option is set to NOLOG then all audit informa-
tion is discarded instead of writing to disk. This mode does not
affect data sent to the audit event dispatcher.
Wie konfiguriere ich es, um am Anfang jedes Eintrags Datum/Uhrzeit zu drucken?
Antwort1
Obwohl es keine Optionen gibt, mit denen Sie das Auditd-Protokoll in einem für Menschen analysierbaren Datumsformat erstellen können, gibt es eine Option, -i
die eine für Menschen lesbare (oder vielleicht etwas besser lesbare) Ausgabe erzeugt, wenn Sie zum Durchsuchen Ihres Audit-Protokolls den Befehl „ausearch“ verwenden.
Wenn ich es beispielsweise ausearch -ts today
auf meinem neu gebooteten System ausführe, sehe ich:
# ausearch -ts today
----
time->Mon Mar 19 23:07:00 2012
type=DAEMON_START msg=audit(1332212820.421:3834): auditd start, ver=2.1.3 format=raw kernel=3.2.10-3.fc16.x86_64 auid=4294967295 pid=6438 subj=system_u:system_r:auditd_t:s0 res=success
Aber wenn ich ausführe ausearch -ts today -i
, sehe ich:
# ausearch -ts today -i
----
type=DAEMON_START msg=audit(03/19/2012 23:07:00.421:3834) : auditd start, ver=2.1.3 format=raw kernel=3.2.10-3.fc16.x86_64 auid=unset pid=6438 subj=system_u:system_r:auditd_t:s0 res=success
Funktioniert das für Sie? ausearch
ist wahrscheinlich das, was Sie ohnehin zum Anzeigen von Prüfdatensätzen verwenden werden. -i
führt auch Dinge wie UID->Benutzername-Suchen und andere Auflösungen durch.
BEARBEITEN: Oben können Sie sehen, dass ich Fedora 16 verwende, aber das Gleiche ausearch -i
gilt für RHEL5.
Antwort2
Die lange Zahl am Anfang ist ein Zeitstempel: Es sind Sekunden seit der Epoche. Vor ein paar Augenblicken habe ich Folgendes bekommen:
[0 1128 18:09:57] ~ % date +%s; date
1331917801
Fri Mar 16 18:10:01 CET 2012
Um die Zahl in etwas besser lesbares umzuwandeln, versuchen Sie
[0 1133 18:12:41] ~ % date -d @1331897657
Fri Mar 16 12:34:17 CET 2012
(Offensichtlich benötigen Sie also „übliche sed
Tricks“, um die Teile unter einer Sekunde abzuschneiden.)
Ich habe keine SE-fähige Maschine zur Hand, aber vielleicht sealert -a
können die Zeitstempel auch in etwas für Menschen Lesbares analysiert werden?
Antwort3
ausearch -i
Aus der Hilfe:
-i,--interpret Interpret results to be human readable
das ist nicht die richtige Antwort, dennAbonnierenschrieb.
Es ist nicht nötig, tail -f auszuführen!
PS: Verdammte Punkte stapeln! Deshalb konnte ich weder kommentieren noch positiv bewerten.
Antwort4
tail -f /var/log/audit/audit.log | ausearch -i