Mencegah Serangan Brute Force SSH dengan Fail2Ban (Ubuntu)

Dapatkan update terbaru Linuxku.com di kanal Telegram https://telegram.me/linuxkudotcom.
 
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 (bisa baca tulisan lama saya: http://www.linuxku.com/2016/06/mudah-mengatur-firewall-dengan-ufw.html) 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 [email protected], 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 di linuxku.com, simak terus artikel terbarunya. Juga Anda bisa berlanganan kanal kami via telegram: https://telegram.me/linuxkudotkom.

Semoga bermanfaat.

Yakin Ngga Mau Diskusi ?

Yuk diskusi cerdas. Gunakan nama asli agar komentar Anda disetujui.