감사 로그의 모든 항목에 날짜와 시간을 인쇄하도록 SELinux를 구성하려면 어떻게 해야 합니까?

감사 로그의 모든 항목에 날짜와 시간을 인쇄하도록 SELinux를 구성하려면 어떻게 해야 합니까?

저는 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어쨌든 감사 기록을 보는 데 이를 사용할 것입니다. -iuid->사용자 이름 조회 및 기타 구문 분석과 같은 작업을 수행할 수도 있습니다. 편집하다: 위에서 볼 수 있듯이 저는 Fedora 16을 실행하고 있지만 ausearch -iRHEL5에도 동일하게 적용됩니다.

답변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

관련 정보