Menjaga keamaan suatu server dari serangan luar adalah bagian yang
sangat terpenting. Berbagai cara pengaman dilakukan tergantung dari hal
pentingnya suatu server mulai dari tingkat dasar hingga tingkat
lanjutan.
Salah satu yang mendasar yakni dengan pemblokiran beberapa port menggunakan ufw kemudian kita bisa sedikit tingkatkan dengan Fail2ban.
Fail2ban adalah salah satu aplikasi sumber terbuka simpel dan mudah, yang digunakan untuk mencegah serangan brute force yakni dengan teknik serangan terhadap server dengan menggunakan percobaan terhadap semua kata kunci yang memungkinkan. Cara kerja fail2ban ini adalah dengan memblokir IP address yang memiliki ciri-ciri atau tanda-tanda serangan brute force terhadap server, dengan Fail2ban kita dapat menimalisir kemungkinan-kemungkinan seperti itu bisa saja terjadi, apalagi jika IP server tersebut sudah banyak tersebar.
Kelebihan
file2ban jika dibandingkan dengan aplikasi sejenis lainnya yakni lebih
simpel kita tidak perlu lagi memasukan data IP yang mencoba untuk
melakukan serangan brute force ke iptables untuk dilakukan pemblokiran
satu-persatu.
Langsung saja kita install fail2ban. Oiya, artikel ini sesuai judul dikhususkan untuk pengguna Ubuntu atau Debian Server.
Pertama tama update dulu untuk memastikan database dalam lokal tersinkronisasi dengan repositori:
$ sudo apt-get update
Kemudian baru kita install fail2ban nya:
$ sudo apt-get install fail2ban
Lalu copy konfigurasi default fail2ban menjadi konfigurasi lokal:
$ sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
Lalu sunting konfigurasi tersebut:
$ sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
sudo nano /etc/fail2ban/jail.local
Perhatikan gambar di atas berikut ini keterangannya saya ambil yang terpenting saja:
- ignoreip
jika dilihat dari namanya saja kita sudah tahu yakni mengabaikan IP
tertentu atau pengecualian walaupun salah memasukkan password
berkali-kali. Jika Anda ingin IP address berjumlah lebih dari satu,
silahkan pisahkan dengan spasi antara IP yang satu dengan yang lainnya.
Contoh 127.0.0.1/8 128.168.0.0/24 - findtime adalah jumlah waktu sebuah IP yang akan diblokir dalam satuan detik. Secara default fail2ban memberikan waktu 600 detik ini berarti 10 menit. Jika Anda menginkan diblokir selama satu hari tinggal ganti saja menjadi 86400.
- maxretry yakni jumlah percobaan yang dapat dilakukan oleh seseorang yang melakukan brute force, sebelum IP tersebut di blok dicatat dahulu oleh fail2ban jika sudah 3 kali maka dibanned. Secara default fail2ban memblokir 3 kali percobaan. Anda bisa mengubahnya menjadi 2 atau lebih banyak. Kalau hemat pribadi saya cukup 3 kali salah maka blokir.
Untuk beberapa pengaturannya silahkan ganti hal berikut:
- destemail ganti root@localhost dengan alamat email yang Anda inginkan misalnya lapor@array.my.id, pastikan terlebih dahulu bahwa Server a sudah mempunyai mail server.
- Kemudian lakukan pengaturan untuk beberapa service yang perlu misalnya ssh, dropbear, dan lain-lain. Anda bisa mengaktifkannya atau mengubah port yang disesuaikan jika memang beberapa port seperti SSH tidak Anda gunakan port defaultnya.
Langkah terkakhir yakni restart fail2ban untuk memastikan semuanya berjalan dengan baik:
$ sudo service fail2ban restart
Anda dapat mengecek iptabes apakah fail2ban sudah menangani masalah bruteforce ssh atau belum dengan cara:
$ sudo iptables -S
Oke sampai di sini dulu tulisan fail2ban selebihnya akan dibahas lagi.
Semoga bermanfaat.