Wie konfiguriere ich fail2ban mit systemd journal?

9

Ich habe fail2banauf Debian Jessie LXC Container installiert , derzeit schlägt es fehl, weil:

Starting authentication failure monitor: fail2ban
ERROR  No file(s) found for glob /var/log/auth.log
ERROR  Failed during configuration: Have not found any log file for ssh jail

Es gibt kein syslogoder rsyslogauf dem System und wird daher /var/log/auth.lognicht generiert. Gibt es eine Möglichkeit fail2ban, die Ausgabe von zu verwenden journalctl _COMM=sshd?

Tombart
quelle

Antworten:

10

Für systemd Systeme:

Sie müssen das Backend angeben /etc/fail2ban/jail.conf, um es systemdwie folgt zu verwenden:

backend = systemd

Starten Sie dann fail2ban neu:

systemctl restart fail2ban

Bearbeiten:

Ich bin ein schwerer CentOS / RHEL / Fedora-Typ, daher müssen Sie möglicherweise das, was ich sage, etwas anpassen. Bei dieser Antwort müssen Sie möglicherweise das Paket fail2ban auf eine Version aktualisieren, die systemd als Backend unterstützt, oder Sie müssen rsyslogFolgendes installieren und zu Ihrem hinzufügen /etc/rsyslog.conf:

authpriv.*      /var/log/auth.log

Dadurch wird sichergestellt, dass sshd-Authentifizierungsprotokolle protokolliert werden, /var/log/auth.logdie vom Standard- pyinotifyBackend in fail2ban gelesen werden :


quelle
systemdOption scheint nicht unterstützt zu werden von fail2ban 0.8.13:fail2banERROR NOK: ("Unknown backend systemd. Must be among ['pyinotify', 'gamin', 'polling'] or 'auto'",)
Tombart
@Tombart Welche Version von Debian verwenden Sie? Sieht so aus, als ob Sie ein aktualisiertes fail2ban-Paket benötigen, das das Systemd-Backend unterstützt, ODER Sie können rsyslog installieren und die richtige Konfiguration zu Ihrer rsyslog.conf hinzufügen
Es ist die neueste Version von Debian 8 Jessie, die systemdUnterstützung bietet.
Tombart
@ have to install rsyslogMatthew Sanabria, warum in Centos?
Kittygirl
2

Sie benötigen die fail2ban-Version 0.9.0, die systemd unterstützen kann, während Debian Jessie 0.8.3 im Repository hat.

Versuchen Sie, von Quellen herunterzuladen und zu installieren, oder suchen Sie nach alternativen Repos.

Grüße.

Tim Connor
quelle
1

Ich habe das gleiche Problem. Anstatt es herauszufinden, habe ich syslogd neu installiert, um die Protokolldatei (en) zu generieren.

apt-get install inetutils-syslogd

Nach der Installation kann es einige Minuten dauern, bis die Protokolldatei erstellt wird. Sie wird erstellt, wenn ein Protokolleintrag hinzugefügt wird.

Ich würde es nicht langfristig empfehlen (da es das Problem nicht wirklich behebt), aber wenn Sie möchten, dass fail2ban sofort funktioniert, erledigt es den Job.

Glen Davies
quelle
0

Es liegt ein Problem mit den Konfigurationsdateien vor.

Ich hatte jail.conf und jail.d/defaults-debian.conf

Der Inhalt des letzteren war:

[sshd]
enabled = true

Da hier kein Backend festgelegt ist, wird der Standardwert anstelle des in verwendet jail.conf. Das Problem wird hier ausführlich beschrieben: https://github.com/fail2ban/fail2ban/issues/1372

Hinzufügen backend = systemdhat den Trick getan.

defaults-debian.conf

[sshd]
enabled = true
backend = systemd
Southz Rgw
quelle