
내 에는 시설에 /etc/rsyslog.conf
로그인하는 다음 줄이 있습니다 .auth
/var/log/auth.log
auth,authpriv.* /var/log/auth.log
하지만 파일은 다음과 같은 cron 로그로 가득 차 있습니다.
CRON[18620]: pam_unix(cron:session): session opened for user root by (uid=0)
CRON[18620]: pam_unix(cron:session): session closed for user root
cron 로그를 제거하고 실제 "인증" 이벤트만 해당 파일에 기록되도록 하고 싶습니다. 즉, 어떤 사용자가 시스템에 로그인했거나 su -
.
어떻게 이를 달성할 수 있나요?
답변1
공격자가 기록된 메시지의 일부를 제어할 수 있는 경우 메시지 내용을 필터링하여 이벤트를 마스킹할 수 있습니다.
또는 다음을 사용하여 CRON 프로세스에서 메시지를 필터링할 수 있습니다.
#Continue logging CRON to syslog
*.*;auth,authpriv.none -/var/log/syslog
#Filter events from the process CRON out of auth.log
:programname, isequal, "CRON" ~
auth,authpriv.* /var/log/auth.log
CRON 이벤트를 기록하지 않으려면 rsyslog.conf
.
답변2
나는 이것이 당신이 찾고 있는 것이라고 믿습니다:
:msg, contains, "pam_unix(cron:session)" ~
auth,authpriv.* /var/log/auth.log
첫 번째 줄은 cron 인증 이벤트와 일치하여 삭제합니다. 그런 다음 두 번째 줄은 이전에 삭제된 줄을 제외하고 규칙에 따라 기록됩니다.
답변3
나에게는 이것이 잘못된 행동의 이유였습니다.https://languor.us/cron-pam-unix-cron-session-session-opened-closed-user-root-uid0
여기에 명시된 바와 같이 :https://askubuntu.com/a/280255/366528 이 한줄 추가
session [success=1 default=ignore] pam_succeed_if.so service in cron quiet use_uid
해당 더미 크론 항목을 제거했습니다.