私の/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 -
を作成したかを確認したいということです。
どうすればそれを達成できますか?
私はこれがあなたが探しているものだと信じています:
:msg, contains, "pam_unix(cron:session)" ~
auth,authpriv.* /var/log/auth.log
最初の行はcron認証イベントと一致し、それらを削除します。次に、2行目は、以前に削除された行を除いたルールに従ってログに記録されます。
攻撃者がログに記録されたメッセージの一部を制御できる場合、メッセージの内容をフィルタリングすることでイベントをマスクする可能性があります。
または、次の方法でプロセス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
の最初にフィルター行を配置できます。