Site icon Aris Krisna's Blog

Fail2ban: Amankan Server Dari SSh Brute Force

fail2ban akm.web.id aris krisna ubuntu server ssh brute force

Fail2ban sebuah package software yang dapat Kamu gunakan sebagai lapis kedua keamanan Kamu. Tugas utamanya adalah untuk memfiltrasi kondisi tertentu kemudian menerapkan atau melakukan ban (pemblokiran) pada aktifitas yang tidak memenuhi kondisi persyaratan.

Pada tulisan kali ini Saya hanya akan coba fokus membahas penerapan fail2ban dalam memfilter SSh Connection. Hal yang saja jelaskan disini juga berasal dari pengalaman pribadi.

Apa Itu Fail2ban?

Mungkin apa yang sudah Saya tulis di atas merupakan deskripsi pendapat Saya pribadi. Saya juga akan melampirkan dari Wikipedia agar lebih detail lagi.

Jadi Fail2ban menurut Wikipedia adalah perangkat lunak kerangka kerja yang memonitor pelanggaran keamanan khususnya berupa serangan brute force.

Kenapa Harus Menggunakan Fail2ban?

Seperti yang sudah Saya jelaskan di atas, dengan fail2ban, Kita dapat membuat filter tertentu sesuai dengan kondisi dan keadaan inftrastruktur yang Kita miliki. Dengan begitu Kita bebas menentukan parameter apa yang akan kita gunakan sebagai filter dan akan di arahkan kemana jika kondisi filter terpenuhi.

Implementasi

Untuk menggunakannya, Kamu harus menginstall terlebih dahulu. Dalam kasus ini Saya menggunakan Ubuntu server. Untuk penggunaan dalam OS lainnya, Kamu dapat membaca dokumentasi fail2ban[2].

Untuk menginstall bisa menggunakan perintah berikut;

sudo apt install fail2ban -y

Setelah proses installasi selesai, Kamu tidak di sarankan untuk mengedit file konfigurasi default pada /etc/fail2ban/jail.conf. Tapi yang paling aman itu dengan membuat sebuah file bernama jail.local yang nantinya akan berisi rules yang Kamu buat sesuai kebutuhan.

Selain itu alasan utama dari harusnya membuat file jail.local ini adalah agar jika sewaktu-waktu package dari fail2ban melakukan update ke versi yang lebih baru, konfigurasi Kamu akan tetap aman dan tidak tertimpa oleh package update tersebut.

Selanjutnya, Kamu dapat mengedit file konfigurasi tersebut dengan bantuan text editor. Dalam kasus ini Saya menggunakan nano.

sudo nano /etc/fail2ban/jail.local

Kemudian silahkan Kamu contek rules di bawah ini yang sudah saya modifikasi dan sesuaikan dengan kebutuhan umum yang sering di hadapi.

Biasanya Saya menambahkan parameter bantime, maxretry, dan banaction. Sehingga menjadi seperti berikut.

[sshd]
#mode   = normal
port    = ssh
logpath = %(sshd_log)s
backend = %(sshd_backend)s
maxretry = 3
bantime = -1
#banaction = ufw

Jika sudah selesai, selanjutnya hanya tinggal di save saja file tersebut, kemudian restart servicenya dengan perintah

sudo systemctl restart fail2ban

Cek Hasil Filter

Untuk melakukan apakah rules yang sudah di buat berjalan dengan baik atau tidak, Kamu dapat menggunakan perintah

sudo fail2ban-client status sshd

Lalu nanti akan di tampilkan beberapa informasi sebagai berikut

aris@li2015-115:~$ sudo fail2ban-client status sshd
Status for the jail: sshd
|- Filter
|  |- Currently failed: 1
|  |- Total failed:     26603
|  `- Journal matches:  _SYSTEMD_UNIT=sshd.service + _COMM=sshd
`- Actions
   |- Currently banned: 1
   |- Total banned:     1554
   `- Banned IP list:   45.9.20.25

Kesimpulan

Tools ini sangat membantu sekali jika Kamu ingin menerapkan filter untuk server yang Kamu pelihara. Selain di gunakan untuk filter SSh, biasanya ini umum di gunakan pada mail server untuk kebutuhan tertentu.

Tentu masih banyak lagi kegunaan dari tools satu ini dan dapat di aplikasikan sesuai dengan kebutuhan di infrastruktur Kamu. Selamat mencoba.

Refrensi

  1. https://en.wikipedia.org/wiki/Fail2ban
  2. https://www.fail2ban.org/wiki/index.php/Downloads
  3. https://blog.swmansion.com/limiting-failed-ssh-login-attempts-with-fail2ban-7da15a2313b
Exit mobile version