
In meinem /etc/rsyslog.conf
habe ich die folgende Zeile, um mich auth
bei der Einrichtung anzumelden /var/log/auth.log
:
auth,authpriv.* /var/log/auth.log
aber die Datei ist überflutet mit Cron-Protokollen, wie diesen:
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
Ich möchte die Cron-Protokolle loswerden und nur echte „Auth“-Ereignisse in dieser Datei protokollieren lassen. Damit meine ich, ich möchte sehen, welche Benutzer sich beim System angemeldet oder welche … gemacht haben su -
.
Wie kann ich das erreichen?
Antwort1
Wenn ein Angreifer einen Teil der protokollierten Nachrichten kontrollieren kann, könnte er Ereignisse maskieren, indem er den Nachrichteninhalt filtert.
Alternativ können Sie Nachrichten aus dem CRON-Prozess wie folgt herausfiltern:
#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
Wenn Sie nicht möchten, dass CRON-Ereignisse protokolliert werden, können Sie die Filterzeile an den Anfang Ihrer Datei setzen rsyslog.conf
.
Antwort2
Ich glaube, das ist, wonach Sie suchen:
:msg, contains, "pam_unix(cron:session)" ~
auth,authpriv.* /var/log/auth.log
Die erste Zeile gleicht Cron-Authentifizierungsereignisse ab und löscht sie. Die zweite Zeile protokolliert dann gemäß Ihrer Regel, abzüglich der zuvor gelöschten Zeilen.
Antwort3
Für mich war das der Grund für das Fehlverhalten:https://languor.us/cron-pam-unix-cron-session-session-opened-closed-user-root-uid0
wie hier angegeben:https://askubuntu.com/a/280255/366528 Hinzufügen dieser einen Zeile
session [success=1 default=ignore] pam_succeed_if.so service in cron quiet use_uid
diese Dummy-Cron-Einträge wurden entfernt