Raznar Blog
  • 🇮🇩Blog
    • I. Prakata
    • II. Administrasi Server
      • Sistem Operasi
        • Linux
          • ⚡SSH
            • Autentikasi PAM
            • SSH Hardening
              • 🔐Metode SSH Hardening
                • SSH Key
                • Mengnonaktifkan User Root
                • Mengubah Port Default SSH
                • Firewall Rate-Limit
                • Fail2ban
                • Google Authenticator (2FA)
                • IP Whitelist
              • 🚨Cara Paling Aman di Dunia untuk Melindungi SSH dari Serangan
              • 📖Menjalankan Protokol SSH Hardening (Advanced)
        • Windows
      • Games
        • FiveM
        • Minecraft
          • Mengganti Versi [Java]
            • List Java & Versi Minecraft
            • Pterodactyl Panel
            • Catatan Penting
          • Setup GeyserMC
            • Spigot
              • Geyser [Spigot]
              • Floodgate [Spigot]
          • ViaVersion Tutorial
      • Website
        • Melindungi website dari serangan DDoS
    • Komputer
Powered by GitBook

Social Media

  • Tiktok
  • Instagram

Links

  • Website

© 2025 Raznar

On this page
  • Apa Itu Fail2Ban?
  • Mengapa Fail2Ban Penting?
  • 1️⃣ Instalasi Fail2Ban
  • 2️⃣ Konfigurasi Fail2Ban untuk SSH
  • 3️⃣ Penjelasan Parameter Konfigurasi
  • 4️⃣ Melihat Status dan Log Fail2Ban
  • 5️⃣ Cara Membuka Blokir IP di Fail2Ban
  • Kesimpulan

Was this helpful?

  1. Blog
  2. II. Administrasi Server
  3. Sistem Operasi
  4. Linux
  5. SSH
  6. SSH Hardening
  7. Metode SSH Hardening

Fail2ban

PreviousFirewall Rate-LimitNextGoogle Authenticator (2FA)

Last updated 1 month ago

Was this helpful?

Apa Itu Fail2Ban?

Fail2Ban adalah alat keamanan berbasis log yang berfungsi untuk memantau dan melindungi server dari serangan brute-force. Jika ada terlalu banyak upaya login yang gagal dalam waktu tertentu, Fail2Ban akan otomatis memblokir alamat IP yang mencurigakan.

Mengapa Fail2Ban Penting?

Serangan brute-force adalah metode umum yang digunakan peretas untuk mencoba berbagai kombinasi username dan password hingga berhasil masuk. Dengan Fail2Ban, kita bisa membatasi jumlah percobaan yang diperbolehkan dan memblokir IP penyerang sebelum mereka berhasil.


1️⃣ Instalasi Fail2Ban

🔹 Debian/Ubuntu:

sudo apt update && sudo apt install fail2ban -y

🔹 CentOS/RHEL:

sudo dnf install epel-release -y
sudo dnf install fail2ban -y

Setelah terinstal, jalankan dan aktifkan layanan:

sudo systemctl enable --now fail2ban

2️⃣ Konfigurasi Fail2Ban untuk SSH

Fail2Ban menggunakan file konfigurasi di /etc/fail2ban/jail.conf. Namun, kita tidak boleh mengedit file ini langsung. Sebagai gantinya, buat file override di /etc/fail2ban/jail.local:

sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
sudo nano /etc/fail2ban/jail.local

Kemudian cari bagian [sshd] dan atur seperti berikut:

[sshd]
enabled = true        # Mengaktifkan proteksi SSH
port = 22             # Sesuaikan dengan port SSH yang digunakan
maxretry = 3          # Jumlah maksimal kesalahan sebelum IP diblokir
findtime = 600        # Rentang waktu (detik) untuk mendeteksi gagal login (10 menit)
bantime = 3600        # Lama IP diblokir (1 jam)

Simpan file lalu restart Fail2Ban:

sudo systemctl restart fail2ban

3️⃣ Penjelasan Parameter Konfigurasi

📌 enabled = true → Mengaktifkan proteksi untuk SSH. 📌 port = 22 → Port SSH yang akan dipantau (sesuaikan jika SSH menggunakan port lain). 📌 maxretry = 3 → Jika ada 3 kesalahan login dalam rentang waktu findtime, maka IP akan diblokir. 📌 findtime = 600 → Jika dalam 600 detik (10 menit) terjadi maxretry percobaan gagal, maka IP akan diblokir. 📌 bantime = 3600 → IP yang terblokir akan tetap diblokir selama 3600 detik (1 jam).

🔹 Format waktu dalam Fail2Ban:

  • s → detik (default jika tanpa satuan).

  • m → menit.

  • h → jam.

  • d → hari.

🛠 Contoh lain:

bantime = 24h   # Blokir selama 1 hari
findtime = 30m  # Gagal login lebih dari maxretry dalam 30 menit akan diblokir

4️⃣ Melihat Status dan Log Fail2Ban

Untuk mengecek apakah Fail2Ban berjalan dan melihat daftar IP yang terblokir, gunakan perintah berikut:

sudo fail2ban-client status sshd

Contoh output:

Status for the jail: sshd
|- Filter
|  |- Currently failed: 2
|  |- Total failed: 10
|  `- File list: /var/log/auth.log
`- Actions
   |- Currently banned: 1
   |- Total banned: 5
   `- Banned IP list: 192.168.1.50

Untuk melihat log serangan yang dicegah Fail2Ban:

sudo journalctl -u fail2ban --no-pager | tail -n 20

5️⃣ Cara Membuka Blokir IP di Fail2Ban

Jika ada IP yang salah terblokir, kita bisa membukanya dengan perintah berikut:

sudo fail2ban-client set sshd unbanip 192.168.1.50

Atau untuk melihat semua IP yang diblokir:

sudo fail2ban-client status sshd

Kesimpulan

Fail2Ban adalah alat yang sangat berguna untuk melindungi server dari serangan brute-force. Dengan konfigurasi yang tepat, kita bisa meningkatkan keamanan server tanpa mengorbankan aksesibilitas. Jika dikombinasikan dengan metode keamanan lainnya seperti SSH Key dan 2FA, maka kemungkinan akun berhasil diretas menjadi sangat kecil.

🔹 Rekomendasi tambahan: ✅ Gunakan port SSH yang tidak standar (misalnya selain 22). ✅ Aktifkan autentikasi berbasis SSH Key. ✅ Gunakan 2FA untuk login SSH. ✅ Periksa log Fail2Ban secara berkala untuk memastikan tidak ada false positive.

💡 Dengan konfigurasi yang tepat, server akan lebih aman dari upaya serangan otomatis dan brute-force! 🚀

🇮🇩
⚡
🔐