web-dev-qa-db-ja.com

auth.logにcronイベントを記録しないでください

私の/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 -を作成したかを確認したいということです。

どうすればそれを達成できますか?

6
Martin Vegter

私はこれがあなたが探しているものだと信じています:

:msg, contains, "pam_unix(cron:session)" ~
auth,authpriv.* /var/log/auth.log

最初の行はcron認証イベントと一致し、それらを削除します。次に、2行目は、以前に削除された行を除いたルールに従ってログに記録されます。

5
Robert Hayek

攻撃者がログに記録されたメッセージの一部を制御できる場合、メッセージの内容をフィルタリングすることでイベントをマスクする可能性があります。

または、次の方法でプロセス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の最初にフィルター行を配置できます。

5
R. Lewis