
Я использую CentOS 5.5 и по умолчанию мой /var/log/audit/audit.log
выглядит так:
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)'
если быть точным, записи в журнале пишутся без временной метки, что затрудняет устранение неполадок. Доступна страница man
man auditd.conf
но все, что там говорится по этому поводу, это:
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.
Как настроить печать даты/времени в начале каждой записи?
решение1
Хотя нет никаких параметров, которые можно задать для создания журнала аудита с форматом даты, понятным человеку, если вы используете команду «ausearch» для поиска в журнале аудита, есть параметр, -i
который создает вывод, понятный человеку (ну, может быть, немного более понятный человеку).
Например, если я запустил его ausearch -ts today
на только что загруженной системе, я вижу:
# 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
Но если я побегу ausearch -ts today -i
, то увижу:
# 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
Это у вас работает? ausearch
Вероятно, вы в любом случае будете использовать его для просмотра записей аудита. -i
Также выполняет такие действия, как поиск uid->имя пользователя и другие разрешения.
РЕДАКТИРОВАТЬ: Из вышесказанного видно, что я использую Fedora 16, но то же самое ausearch -i
относится и к RHEL5.
решение2
Это длинное число в начале — временная метка: это секунды с начала эпохи. Несколько минут назад я получил:
[0 1128 18:09:57] ~ % date +%s; date
1331917801
Fri Mar 16 18:10:01 CET 2012
Чтобы преобразовать число в более удобочитаемое, попробуйте
[0 1133 18:12:41] ~ % date -d @1331897657
Fri Mar 16 12:34:17 CET 2012
(Поэтому, судя по всему, вам понадобятся «обычные sed
трюки», чтобы отсечь части длительностью менее секунды.)
У меня нет под рукой машины с поддержкой SE, но, может быть, он sealert -a
также преобразует временные метки в нечто понятное для человека?
решение3
ausearch -i
Из справки:
-i,--interpret Interpret results to be human readable
это не правильный ответjsbillingsнаписал.
Нет необходимости запускать tail -f!
P.S. Черт, стек-пойнты! Вот почему я не мог комментировать или голосовать.
решение4
tail -f /var/log/audit/audit.log | ausearch -i