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:
- Cek Kesehatan Hard Disk Linux
- Install Nginx Proxy Manager di Docker
- Monitoring Kesehatan Server dengan Scrutiny
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.
