Bagaimana cara mengkonfigurasi fail2ban dengan jurnal systemd?

10

Saya telah menginstal fail2banpada wadah Debian Jessie LXC, saat ini gagal karena:

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

Tidak ada syslogatau rsyslogpada sistem dan dengan demikian /var/log/auth.logtidak dihasilkan. Apakah ada cara bagaimana mengatakan fail2banmenggunakan output journalctl _COMM=sshd?

Tombart
sumber

Jawaban:

11

Untuk sistem systemd:

Anda harus menentukan backend in /etc/fail2ban/jail.confuntuk digunakan systemdsebagai berikut:

backend = systemd

Kemudian mulai kembali fail2ban:

systemctl restart fail2ban

Edit:

Saya seorang pria CentOS / RHEL / Fedora yang berat sehingga Anda mungkin harus menyesuaikan apa yang saya katakan sedikit. Sejauh jawaban ini, Anda mungkin harus memperbarui paket fail2ban ke versi yang mendukung systemd sebagai backend atau Anda harus menginstal rsyslogdan menambahkan berikut ini ke Anda /etc/rsyslog.conf:

authpriv.*      /var/log/auth.log

Ini akan memastikan log sshd auth log masuk /var/log/auth.logyang akan dibaca oleh pyinotifybackend default di fail2ban:


sumber
systemdOpsi tampaknya tidak didukung oleh fail2ban 0.8.13:fail2banERROR NOK: ("Unknown backend systemd. Must be among ['pyinotify', 'gamin', 'polling'] or 'auto'",)
Tombart
@ Combart Versi Debian apa yang Anda jalankan? Sepertinya Anda memerlukan paket fail2ban yang diperbarui yang mendukung sistem backend ATAU Anda dapat menginstal rsyslog dan menambahkan konfigurasi yang tepat ke rsyslog.conf Anda
Ini adalah versi terbaru dari Debian 8 Jessie yang hadir dengan systemddukungan.
Tombart
@ MatthewSanabria, mengapa have to install rsyslogdalam centos?
kittygirl
2

Anda membutuhkan fail2ban versi 0.9.0 yang dapat mendukung systemd, sementara Debian Jessie memiliki 0.8.3 di repositori.

Coba unduh dan instal dari sumber, atau cari repo alternatif.

Salam.

Tim Connor
sumber
1

Saya memiliki masalah yang sama. Daripada mencari tahu, saya menginstal ulang syslogd untuk menghasilkan file log.

apt-get install inetutils-syslogd

Diperlukan beberapa menit setelah instalasi untuk file log dibuat - Ini akan dibuat ketika entri log ditambahkan.

Saya tidak akan merekomendasikannya untuk jangka panjang (karena ini tidak benar-benar memperbaiki masalah), tetapi jika Anda ingin fail2ban segera bekerja, itu akan berfungsi.

Glen Davies
sumber
0

Ada masalah dengan file konfigurasi.

Saya punya jail.conf dan jail.d/defaults-debian.conf

Isi yang terakhir adalah:

[sshd]
enabled = true

Karena backend tidak disetel di sini nilai default digunakan sebagai ganti yang masuk jail.conf. Masalahnya dijelaskan secara rinci di sini: https://github.com/fail2ban/fail2ban/issues/1372

menambahkan backend = systemdmemang berhasil.

defaults-debian.conf

[sshd]
enabled = true
backend = systemd
southz rgw
sumber