Jak skonfigurować fail2ban z dziennikiem systemd?

10

Zainstalowałem fail2banna kontenerze Debian Jessie LXC, obecnie nie działa z powodu:

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

W systemie nie ma sysloglub nie jest generowany. Czy istnieje sposób, jak powiedzieć, aby użyć wyjścia ?rsyslog/var/log/auth.logfail2banjournalctl _COMM=sshd

Tombart
źródło

Odpowiedzi:

11

W przypadku systemów systemowych:

Musisz określić backend w /etc/fail2ban/jail.confcelu użycia systemdw następujący sposób:

backend = systemd

Następnie uruchom ponownie fail2ban:

systemctl restart fail2ban

Edytować:

Jestem ciężkim facetem CentOS / RHEL / Fedora, więc być może będziesz musiał trochę dostosować to, co mówię. Jeśli chodzi o tę odpowiedź, może być konieczne zaktualizowanie pakietu fail2ban do wersji, która obsługuje systemd jako backend, lub będziesz musiał zainstalować rsyslogi dodać następujące elementy do /etc/rsyslog.conf:

authpriv.*      /var/log/auth.log

To upewni się, że logują się dzienniki uwierzytelniania sshd, do /var/log/auth.logktórych zostanie odczytany domyślny pyinotifybackend w fail2ban:


źródło
systemdopcja nie wydaje się być obsługiwana przez fail2ban 0.8.13:fail2banERROR NOK: ("Unknown backend systemd. Must be among ['pyinotify', 'gamin', 'polling'] or 'auto'",)
Tombart
@Tombart Jaką wersję Debiana używasz? Wygląda na to, że potrzebujesz zaktualizowanego pakietu fail2ban, który obsługuje systemowy backend LUB możesz zainstalować rsyslog i dodać odpowiednią konfigurację do swojego rsyslog.conf
Jest to najnowsza wersja Debian 8 Jessie, która jest systemdobsługiwana.
Tombart
@MatthewSanabria, dlaczego have to install rsyslogw centach?
kittygirl
2

Będziesz potrzebował fail2ban w wersji 0.9.0, który może obsługiwać systemd, podczas gdy Debian Jessie ma 0.8.3 w repozytorium.

Spróbuj pobrać i zainstalować ze źródeł lub poszukaj alternatywnych repozytoriów.

Pozdrowienia.

Tim Connor
źródło
1

Mam ten sam problem. Zamiast tego rozgryźć, zakończyłem ponowną instalację syslogd w celu wygenerowania plików dziennika.

apt-get install inetutils-syslogd

Utworzenie pliku dziennika może potrwać kilka minut - Zostanie utworzony po dodaniu wpisu dziennika.

Nie poleciłbym tego na dłuższą metę (ponieważ tak naprawdę nie rozwiązuje problemu), ale jeśli chcesz, aby fail2ban działał natychmiast, robi to.

Glen Davies
źródło
0

Wystąpił problem z plikami konfiguracyjnymi.

Miałem jail.conf i jail.d/defaults-debian.conf

Treść tego drugiego była:

[sshd]
enabled = true

Ponieważ nie ustawiono tutaj backendu, używana jest wartość domyślna zamiast tej w jail.conf. Problem został szczegółowo opisany tutaj: https://github.com/fail2ban/fail2ban/issues/1372

dodanie backend = systemdzałatwiło sprawę.

defaults-debian.conf

[sshd]
enabled = true
backend = systemd
southz rgw
źródło