
No meu /etc/rsyslog.conf
, tenho a seguinte linha para fazer login na auth
instalação /var/log/auth.log
:
auth,authpriv.* /var/log/auth.log
mas o arquivo está inundado com logs cron, como estes:
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
Eu gostaria de me livrar dos logs do cron e ter apenas eventos de "autenticação" reais sendo registrados nesse arquivo. Com isso quero dizer que quero ver quais usuários fizeram login no sistema ou criaram arquivos su -
.
Como posso conseguir isso?
Responder1
Se um invasor puder controlar parte da mensagem registrada, ele poderá mascarar eventos filtrando o conteúdo da mensagem.
Alternativamente, você pode filtrar mensagens do processo CRON com:
#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
Se você não quiser que nenhum evento CRON seja registrado, você pode colocar a linha do filtro primeiro no seu arquivo rsyslog.conf
.
Responder2
Acredito que é isso que você está procurando:
:msg, contains, "pam_unix(cron:session)" ~
auth,authpriv.* /var/log/auth.log
a primeira linha corresponde aos eventos de autenticação do cron e os exclui. A segunda linha é registrada de acordo com sua regra, menos as linhas excluídas anteriormente.
Responder3
Para mim, esse foi o motivo do mau comportamento:https://languor.us/cron-pam-unix-cron-session-session-opened-closed-user-root-uid0
conforme declarado aqui:https://askubuntu.com/a/280255/366528 adicionando esta linha
session [success=1 default=ignore] pam_succeed_if.so service in cron quiet use_uid
removeu aquelas entradas cron fictícias