Memasang Fail2Ban pada SSH

Memasang Fail2Ban pada SSH Cover

Memasang Fail2Ban pada SSH di artikel ini menjelaskan cara Memasang Fail2Ban pada SSH serta penjelasan tentang Fail2Ban.

Intro

Salah satu metode yang sering digunakan oleh pihak yang melakukan penetrasi keamanan, disebut juga hacker, adalah teknik Brute Force. Teknik ini melibatkan serangkaian percobaan otentikasi dengan menggunakan daftar kata (wordlist) untuk mencocokkan kombinasi username dan password, menghasilkan sejumlah besar catatan kesalahan pada file log. Saat pelaksanaan Brute Force oleh hacker, terdapat potensi bahwa kinerja server atau layanan yang bersangkutan dapat melambat karena harus menanggapi banyak permintaan otentikasi.

Apabila hacker berhasil menemukan kombinasi username dan password yang tepat, mereka dapat mengakses server dan melancarkan serangan peretasan. Untuk mencegah potensi ini, digunakanlah layanan bernama Fail2Ban, yang berfungsi untuk memonitor log khususnya pada tingkat kesalahan. Dengan menganalisis log kesalahan, kita dapat menetapkan aturan, contohnya, jika suatu kesalahan terjadi sejumlah x kali dalam log, maka IP client terkait akan diblok atau dilarang akses.

Fail2Ban menjadi salah satu solusi untuk menangani permasalahan Brute Force dan menjaga keamanan server dengan mencegah hacker masuk ke dalamnya.

Install Package Fail2Ban

Pertama lakukan install package Fail2Ban dengan perintah berikut:

sudo apt install fail2ban

Cek Log SSH

Setelah Fail2Ban terinstall, lakukan pengecekan pada log SSH. Untuk pengecekan log, lakukan test gagal login SSH ke server untuk memastikan error terekam pada log.

Memasang Fail2Ban pada SSH di Ubuntu Test Gagal Login

Setelah melakukan test gagal login, cek log tersebut dengan perintah:

cat /var/log/auth.log

Berikut Output-nya:

Memasang Fail2Ban pada SSH di Ubuntu Cek Log

Untuk log service SSH ditandai dengan nama sshd.

Catatan: Lokasi dan nama file log yang merekam log ssh bisa jadi berbeda, sehingga sesuaikan dengan kondisi yang ada pada server Anda. Contoh Centos 7 = /var/log/secure , Ubuntu = /var/log/auth.log.

Konfigurasi Fail2Ban

Kemudian buat file ssh.local pada directory konfigurasi fail2ban.

nano /etc/fail2ban/jail.d/ssh.local

Isikan didalam file tersebut dengan konfigurasi berikut:

[sshd]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
bantime = 3600
ignoreip = 127.0.0.1

Jika sudah simpan dengan menekan tombol CTRL+O lalu Enter.

Keterangan:

[sshd] tag service yang dipasang fail2ban
enabled status rule
port port service yang digunakan (dapat diisi dengan angka)
filter filter keyword service yang ada di log
logpath lokasi log SSH
maxretry maksimal percobaan gagal
bantime durasi banned (satuan detik, jika 1 jam maka 3600, jika -1 maka permanent)
ignore whitelist ip

Start Service

Setelah konfigurasi selesai, aktifkan service Fail2Ban dengan perintah:

systemctl start fail2ban

Lalu buat servis Fail2Ban otomatis berjalan saat startup, sehingga jika komputer mati atau di restart saat menyala servis Fail2Ban akan langsung dijalankan.

systemctl enable fail2ban

Kemudian cek status rule fail2ban untuk memastikan rule sudah berjalan.

sudo fail2ban-client status
Status
|- Number of jail:	1
`- Jail list:	sshd

Output diatas Number of jail = 1 dan Jail list = sshd yang menandakan bahwa rule ssh sudah running.

Pengujian

Lakukan pengujian gagal login SSH pada server yang telah dipasangkan Fail2Ban.

Memasang Fail2Ban pada SSH di Ubuntu Pengujian Login

Pada gambar diatas dilakukan pengujian sebanyak 2 kali dan setiap pengujian terdapat 3 kali request login. Pada pengujian pertama dilakukan test gagal login sebanyak 3 kali. Kemudian pada pengujian kedua test gagal login dilakukan hanya sebanyak 2 kali karena saat memproses request login yang ke 2 server tidak memberikan respon output gagal login.

Asumsi jika digabung pengujian 1 dan 2 hanya terdapat 4 kali proses login yang lengkap (request & respond). Kesimpulannya pada rule di set maxretry sebanyak 3 kali, jika dikali ke 4 masih gagal login maka client tersebut akan di ban/block.

Berikut kita coba pengujian ke 3 yaitu setelah client di ban/block, maka akan langsung tampil Connection refused.

Memasang Fail2Ban pada SSH di Ubuntu Banned

Kemudian cek status total gagal login dan list IP client yang telah di ban/block dengan perintah:

sudo fail2ban-client status sshd
Status for the jail: sshd
|- Filter
|  |- Currently failed:	1
|  |- Total failed:	4
|  `- File list:	/var/log/auth.log
`- Actions
   |- Currently banned:	1
   |- Total banned:	1
   `- Banned IP list:	192.168.0.27

Konklusi

Penerapan Brute Force oleh pihak tidak sah dapat menyebabkan masalah serius dalam keamanan sistem. Teknik ini mencoba otentikasi dengan mencocokkan username dan password, mencatat kesalahan pada file log, dan dapat memperlambat kinerja server. Fail2Ban menjadi solusi efektif dengan memonitor log kesalahan, memungkinkan pengaturan aturan, seperti pemblokiran otomatis jika kesalahan terjadi sejumlah x kali. Proses instalasi dan konfigurasi Fail2Ban melibatkan pengecekan log SSH dan penyesuaian aturan maksimum percobaan gagal, durasi pemblokiran, dan daftar IP yang diabaikan. Dengan implementasi yang baik, Fail2Ban memberikan perlindungan proaktif, efektif memblokir akses dari IP tertentu saat terdeteksi percobaan login yang melanggar aturan. Ini menjadi langkah penting dalam menjaga keamanan server dan mencegah akses tidak sah oleh pihak yang tidak diinginkan.

Add a Comment

Your email address will not be published. Required fields are marked *