Fail2ban adalah kerangka kerja pencegahan intrusi, yang bekerja bersama dengan sistem kontrol paket atau firewall yang terpasang di server Anda dan umumnya digunakan untuk memblokir upaya koneksi setelah sejumlah percobaan gagal.
Menginstal Fail2ban
Ia beroperasi dengan memantau berkas log untuk jenis entri tertentu dan menjalankan tindakan yang telah ditentukan berdasarkan temuannya. Karena Fail2ban tidak tersedia langsung dari CentOS, Anda perlu menginstal EPEL terlebih dahulu sebelum dapat menginstal Fail2ban. EPEL berisi paket tambahan untuk Enterprise Linux, termasuk CentOS.
sudo yum install epel-release
sudo yum install fail2ban
Setelah terinstal, salin file jail.conf default untuk membuat konfigurasi lokal dengan perintah ini
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
Kemudian buka file konfigurasi lokal baru untuk diedit dengan editor teks favorit Anda, misalnya
sudo vi /etc/fail2ban/jail.local
Scroll ke bawah untuk melihat beberapa pengaturan yang tersedia di file konfigurasi.
Yang pertama adalah default dasar untukignipip , yang memungkinkan Anda mengecualikan alamat IP tertentu agar tidak diblokir, misalnya, jika komputer Anda memiliki IP tetap, Anda dapat memasukkannya di sini. Selanjutnya atur bantime yang menentukan berapa lama host yang melanggar akan tetap diblokir hingga diblokir secara otomatis. Terakhir periksa jumlah findtime dan maxretry , yang mana waktu find mengatur jangka waktu untuk upaya coba ulang maksimal sebelum IP host yang mencoba menyambung diblokir.
[DEFAULT]
ignoreip = 127.0.0.1/8 ::1
bantime = 10m
findtime = 10m
maxretry = 5
Jika Anda memiliki layanan sendmail yang dikonfigurasi pada server cloud Anda, Anda dapat mengaktifkan pemberitahuan email dari Fail2ban dengan memasukkan alamat email Anda ke dalam parameter destemail dan mengubah tindakan = %(action_)s menjadi action = %(action_mw)s.
Setelah Anda melakukan konfigurasi dasar, periksa berbagai jail yang tersedia dalam opsi konfigurasi. Jail adalah aturan yang diterapkan fail2ban pada aplikasi atau berkas log apa pun.
Pengaturan jail SSH, yang dapat Anda temukan di bagian atas daftar jail, dinonaktifkan secara default. Anda harus mengaktifkannya dengan menambahkan enabled = true di bagian jail SSH.
[sshd]
enabled = true
Anda dapat mengaktifkan modul jail lainnya dengan cara yang sama dengan menambahkan baris yang sama tepat di bawah header jail seperti [sshd] pada contoh di atas.
Ketika Anda telah mengaktifkan semua jail yang Anda inginkan, simpan file konfigurasi dan keluar dari editor. Kemudian Anda harus me-restart monitor dengan perintah berikut
sudo systemctl restart fail2ban
Setelah itu selesai, Anda sekarang harus memeriksa aturan iptable Anda untuk bagian jail yang baru ditambahkan pada setiap modul aplikasi yang Anda aktifkan.
sudo iptables -L
Alamat IP apa pun yang dilarang akan muncul di rantai tertentu tempat terjadinya upaya login yang gagal. Anda juga dapat secara manual melarang dan membatalkan larangan alamat IP dari layanan yang Anda tetapkan jail dengan perintah berikut.
sudo fail2ban-client set <jail> banip/unbanip <ip address>
# For example
sudo fail2ban-client set sshd unbanip 83.136.253.43