Hai!
Saya sedang mencari fitur bantime.increment
dan sekarang saya memiliki beberapa pertanyaan:
jail.conf
masih berisi bagian [recidive]
yang digunakan untuk memeriksa selflog untuk melarang ip yang sebelumnya dilarang, tetapi bantime.incement
yang baru persis untuk itu. Bukankah ini berlebihan sekarang?bantime.increment
tidak berbicara tentang bagaimana hubungannya dengan findtime
dan maxretry
. Jika larangan pertama selesai, maka larangan kedua akan segera diset begitu terdeteksi, atau harus terjadi di findtime
untuk maxretry
dan kemudian akan di set dengan peningkatan waktu?banTime * 1, 2, 4, 8, 16, 32...
yang bagi saya berarti ini dapat dilanjutkan tanpa batas waktu tetapi #bantime.formula = ban.Time * (1<<(ban.Count if ban.Count<20 else 20)) * banFactor
menunjukkan bahwa itu akan dimaksimalkan pada 2^20. Mana yang benar?bantime.multipliers
memiliki jumlah pengganda yang tidak terbatas atau hanya 20?1h
) bahkan dengan faktor 1 sudah setelah larangan ke-13 akan tumbuh menjadi hampir 1 tahun, setelah tanggal 15 adalah 4 tahun, setelah 18 - 30 tahun, setelah 19 - 60 tahun, dan larangan ke-20 akan menyebabkan 1h * 2<sup i="10">20</sup>
, yang setara dengan sekitar 120 tahun. Mempertimbangkan semua larangan bersama, penyusup dilarang selama hampir 240 tahun!bantime.maxtime
menjadi beberapa minggu atau 1 bulan. Larangan yang lebih lama hanya akan menumbuhkan iptables / ipsets, sehingga tidak perlu membebani subsistem jaringan dan tidak praktis sama sekali.Saya telah memodifikasi sendmail-whois.conf agar berisi <bantime>
dan <bancount>
seperti ini:
actionban = printf %%b "Subject: [Fail2Ban] <name>: banned <ip> from <fq-hostname> for <bantime> seconds # <bancount> time(s)
dan saya mendapatkan hasil yang aneh:
[Fail2Ban] ssh: banned 192.168.56.1 from localhost.localdomain for 2 seconds # 1 time(s)
[Fail2Ban] ssh: banned 192.168.56.1 from localhost.localdomain for 2 seconds # 2 time(s)
[Fail2Ban] ssh: banned 192.168.56.1 from localhost.localdomain for 8 seconds # 3 time(s)
[Fail2Ban] ssh: banned 192.168.56.1 from localhost.localdomain for 2 seconds # 4 time(s)
[Fail2Ban] ssh: banned 192.168.56.1 from localhost.localdomain for 32 seconds # 5 time(s)
[Fail2Ban] ssh: banned 192.168.56.1 from localhost.localdomain for 2 seconds # 6 time(s)
Saya dapat mengkonfirmasi bahwa waktu larangan meningkat setiap saat, tetapi dalam surat itu tidak selalu. Apakah saya melewatkan sesuatu, atau ini bug?
tapi dalam surat itu tidak selalu.
Karena perpanjangan dibuat benar-benar asinkron (penyusup harus diblokir sesegera mungkin), larangan dapat terjadi sebelum bantime benar-benar meningkat.
Jika diharapkan, parameter tindakan lain actionprolong
telah ditambahkan untuk tujuan ini, jadi gunakan itu sebagai ganti actionban
.
Komentar yang paling membantu
segera - rumus eksponensial yang sama akan digunakan untuk keduanya (kenaikan bantime dan pengurangan jumlah upaya maksimal);
1h
) bahkan dengan faktor 1 sudah setelah larangan ke-13 akan tumbuh menjadi hampir 1 tahun, setelah tanggal 15 adalah 4 tahun, setelah 18 - 30 tahun, setelah 19 - 60 tahun, dan larangan ke-20 akan menyebabkan1h * 2<sup i="10">20</sup>
, yang setara dengan sekitar 120 tahun. Mempertimbangkan semua larangan bersama, penyusup dilarang selama hampir 240 tahun!Larangan panjang seperti itu (serta larangan terus-menerus) jelek karena beberapa alasan, oleh karena itu bahkan disarankan untuk menetapkan
bantime.maxtime
menjadi beberapa minggu atau 1 bulan. Larangan yang lebih lama hanya akan menumbuhkan iptables / ipsets, sehingga tidak perlu membebani subsistem jaringan dan tidak praktis sama sekali.Jika seorang penyusup (dikenal sebagai jahat) melakukan 1 percobaan setelah larangan 1 bulan, itu akan segera diblokir (sekali lagi selama 1 bulan), jadi mengapa seseorang harus menggunakan larangan yang lebih lama? Bagaimanapun saya menggunakannya beberapa tahun dan melihat beberapa upaya yang sangat jarang setelah pemblokiran 2-3 bulan (baik mereka "diperbaiki", ubah IP/penyedia, atau cukup hapus host saya yang dilindungi dari daftar target serangannya).