Saya memiliki fail2ban yang dikonfigurasi seperti di bawah ini:
- memblokir ip setelah 3 upaya gagal
- lepaskan IP setelah batas waktu 300 detik
Ini berfungsi dengan baik dan saya ingin tetap seperti ini sehingga pengguna yang valid mendapat kesempatan untuk mencoba kembali login setelah batas waktu. Sekarang, saya ingin menerapkan aturan di mana jika IP yang sama terdeteksi sebagai serangan dan diblokir, diblokir 5 kali, memblokir IP secara permanen dan tidak pernah membuka blokir lagi. Bisakah ini dicapai dengan fail2ban sendirian atau saya perlu menulis skrip saya sendiri untuk melakukan itu?
Saya melakukan ini dalam centos.
Jawaban:
Sebelum 0.11, tidak ada fitur default atau pengaturan di fail2ban untuk mencapai ini. Tetapi mulai dengan rilis 0,11 mendatang, waktu larangan dihitung secara otomatis dan meningkat secara eksponensial dengan setiap pelanggaran baru yang, dalam jangka panjang, akan berarti lebih atau kurang blok permanen.
Sampai saat itu, pendekatan terbaik Anda mungkin mengatur fail2ban untuk memonitor file log-nya sendiri . Ini adalah proses dua langkah ...
Langkah 1
Kita perlu membuat filter untuk memeriksa BAN dalam file log (file log fail2ban)
Langkah 2
Kita perlu mendefinisikan jail , mirip dengan yang berikut ...
Secara teknis, ini bukan blok permanen , tetapi hanya blok untuk satu tahun (yang bisa kita tingkatkan juga).
Pokoknya, untuk pertanyaan Anda (Bisakah ini dicapai dengan fail2ban sendirian atau saya perlu menulis skrip saya sendiri untuk melakukan itu?) ... menulis skrip sendiri mungkin bekerja dengan baik. Menyiapkan skrip untuk mengekstrak IP yang sering dilarang dan kemudian memasukkannya ke dalam
/etc/hosts.deny
adalah yang saya rekomendasikan.sumber
sshd_config
, ini berpotensi hanya dapat memblokir 3 login gagal untuk "sesi" sshd - bukan 3 login gagal yang disediakan. Misalnya, secara default penyerang dapat mencoba ['pass1', 'pass2', 'pass3'] dalam satu sesi sebelum sshd terputus. Bergantung pada bagaimana sshd diatur ke log, ini bisa muncul ketika 1, 2 atau 3 mencoba gagal2ban.Saya percaya jika Anda memasukkan
bantime = -1
bagian konfigurasi itu, itu adalah blok permanen.sumber
bantime
nilai negatif apa pun adalah larangan permanen (per Fail2Ban ver. 0.6.1 (2006/03/16))Phil Hagen menulis artikel yang bagus tentang hal ini. "Secara permanen Ban Pelanggar Berulang Dengan fail2ban ".
Sarannya sama dengan Pothi tetapi memberikan panduan langkah demi langkah.
Ini termasuk:
sumber
Untuk memperluas jawaban Chin ini cukup sederhana. Edit saja 2 pengaturan
/etc/fail2ban/jail.local
untuk mencocokkan preferensi Anda.sumber
fail2ban sudah memiliki penjara untuk melarang residive. Jika Anda menonton
/etc/fail2ban/jail.conf
, Anda akan menemukan:Bagaimana cara menambahkan jail.local?
Untuk check Anda loglevel yang dapat Anda lakukan:
fail2ban-client get loglevel
.Dengan versi fail2ban yang lama, Anda bisa mendapatkan bug ini .
sumber
Pergi ke vim, buka /etc/fail2ban/jail.conf
dan cukup modifikasi setelah
fail2ban service restart
:sumber