저는 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 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
auditd 로그를 사람이 구문 분석할 수 있는 날짜 형식으로 만들기 위해 설정할 수 있는 옵션은 없지만 "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
(그래서 당연히 1초 미만의 부분을 잘라내려면 "일반적인 트릭"이 필요합니다 .)
SE를 사용할 수 있는 기계가 없지만 sealert -a
타임스탬프를 사람이 읽을 수 있는 것으로 구문 분석하는 것이 가능할 수도 있습니까?
답변3
ausearch -i
도움말에서:
-i,--interpret Interpret results to be human readable
이건 정답이 아니야제스 빌링스썼다.
tail -f를 실행할 필요가 없습니다!
PS 젠장 스택 포인트! 그래서 댓글을 달거나 투표를 할 수 없습니다.
답변4
tail -f /var/log/audit/audit.log | ausearch -i