Cara Mengamankan Server Ubuntu dari Brute Force dengan Fail2Ban

Diposting pada

Serangan brute force di server Ubuntu bukan teori. Saya mengalaminya sendiri ketika log SSH tiba-tiba penuh percobaan login dari IP luar negeri. Awalnya server masih stabil. Namun setelah dicek lebih dalam, beban CPU naik perlahan dan log auth terus bertambah. Dari situ saya memutuskan memasang Fail2Ban sebagai lapisan pengaman tambahan.

Artikel ini membahas cara menggunakan Fail2Ban di Ubuntu secara nyata, bukan sekadar instalasi. Saya sertakan juga contoh konfigurasi yang saya pakai di server produksi agar bisa langsung kamu terapkan.

Apa Itu Fail2Ban dan Kenapa Penting

Fail2Ban adalah tool keamanan yang memantau log layanan seperti SSH, Nginx, atau Apache. Ketika ada percobaan login gagal berulang, Fail2Ban langsung memblokir IP penyerang melalui firewall. Dengan cara ini, server tetap responsif dan risiko pembobolan berkurang drastis.

Saya memilih Fail2Ban karena ringan, stabil, dan tidak mengganggu service lain yang sudah berjalan.

Kondisi Server yang Saya Gunakan

  • Ubuntu Server 22.04 LTS
  • SSH aktif di port default
  • Firewall UFW sudah aktif
  • Server berjalan 24 jam

Jika kondisi server kamu mirip, langkah di bawah ini akan sangat relevan.

Langkah 1: Update Sistem

Sebelum instalasi, saya selalu memastikan sistem dalam kondisi terbaru.

sudo apt update && sudo apt upgrade -y

Langkah ini penting agar tidak ada konflik paket saat instalasi Fail2Ban.

Langkah 2: Install Fail2Ban

Ubuntu sudah menyediakan Fail2Ban di repository resmi. Saya cukup menjalankan perintah berikut:

sudo apt install fail2ban -y

Setelah selesai, saya cek status servicenya.

sudo systemctl status fail2ban

Jika statusnya aktif, berarti Fail2Ban sudah siap dikonfigurasi.

Langkah 3: Konfigurasi Dasar Fail2Ban

Saya tidak pernah mengedit file jail.conf secara langsung. Sebagai gantinya, saya membuat file jail.local agar aman saat update.

sudo nano /etc/fail2ban/jail.local

Isi konfigurasi dasar yang saya gunakan:

[DEFAULT]
bantime = 1h
findtime = 10m
maxretry = 5

[sshd]
enabled = true
port = ssh
logpath = %(sshd_log)s
backend = systemd

Dengan konfigurasi ini, Fail2Ban akan memblokir IP selama 1 jam jika gagal login SSH sebanyak 5 kali dalam 10 menit.

Langkah 4: Restart dan Aktifkan Fail2Ban

Setelah konfigurasi selesai, saya restart service Fail2Ban.

sudo systemctl restart fail2ban
sudo systemctl enable fail2ban

Langkah ini memastikan Fail2Ban aktif otomatis saat server reboot.

Cara Mengecek IP yang Terblokir

Saya sering mengecek apakah Fail2Ban bekerja dengan benar menggunakan perintah berikut:

sudo fail2ban-client status

Lalu cek jail SSH:

sudo fail2ban-client status sshd

Dari sini terlihat IP mana saja yang sedang diblokir. Di server saya, IP asing langsung terdeteksi dalam beberapa jam pertama.

Baca Juga:

Pengalaman Setelah Menggunakan Fail2Ban

Setelah aktif, jumlah percobaan login aneh langsung turun drastis. Log auth menjadi lebih bersih dan server terasa lebih stabil. Saya tidak lagi khawatir dengan serangan brute force sederhana yang biasanya menyasar SSH.

Fail2Ban memang bukan solusi tunggal. Namun sebagai lapisan awal keamanan, tool ini sangat efektif dan mudah dikelola.

Tips Tambahan Agar Lebih Aman

  • Gunakan SSH key, bukan password
  • Ganti port SSH jika perlu
  • Pastikan firewall aktif
  • Update sistem secara rutin

Dengan kombinasi ini, server Ubuntu akan jauh lebih sulit ditembus.

Penutup

Fail2Ban memberi saya ketenangan saat menjalankan server produksi. Konfigurasinya sederhana, dampaknya besar, dan resource yang digunakan sangat kecil. Jika kamu mengelola server sendiri, saya sangat menyarankan tool ini sebagai pengaman dasar.

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *