Server Linux yang dapat diakses melalui SSH perlu memiliki perlindungan terhadap percobaan login yang dilakukan berulang kali. Jika tidak dipantau, banyaknya percobaan login gagal dapat membuat administrator kesulitan membedakan aktivitas pengguna biasa dengan aktivitas yang mencurigakan.
Salah satu tools open-source yang dapat digunakan untuk membantu menangani kondisi tersebut adalah Fail2ban. Fail2ban bekerja dengan membaca log layanan, mendeteksi pola kegagalan tertentu, kemudian mengambil tindakan ketika jumlah percobaan sudah melewati batas yang ditentukan.
Di sini, Fail2ban akan digunakan untuk mendeteksi percobaan login SSH yang gagal secara berulang dan memberikan pemblokiran sementara terhadap alamat IP yang melakukan percobaan tersebut.
Mengapa Percobaan Login SSH Perlu Dipantau?
SSH merupakan salah satu layanan yang umum digunakan untuk mengelola server Linux dari jarak jauh. Karena layanan ini dapat menjadi pintu masuk ke server, percobaan login yang gagal secara terus-menerus perlu diperhatikan.
Sebenarnya, satu atau dua kali login gagal belum tentu menunjukkan adanya serangan. Pengguna bisa saja salah memasukkan password. Namun, jika percobaan terus dilakukan dalam jumlah banyak dan dalam waktu yang relatif singkat, aktivitas tersebut patut diperiksa lebih lanjut.
Masalahnya, administrator tidak mungkin terus memantau log SSH secara manual. Di sinilah Fail2ban dapat membantu dengan melakukan pemantauan dan memberikan tindakan secara otomatis berdasarkan aturan yang telah ditentukan.
Bagaimana Fail2ban Bekerja?
Fail2ban bekerja dengan memantau file log dari layanan tertentu. Ketika menemukan pola yang sesuai dengan kondisi yang telah dikonfigurasi, Fail2ban menghitung jumlah kegagalannya.
Secara sederhana, alurnya dapat digambarkan seperti berikut:
Percobaan Login SSH
↓
Login gagal
↓
Log tercatat
↓
Fail2ban membaca log
↓
Jumlah kegagalan mencapai batas
↓
IP diblokirFail2ban tidak menggantikan autentikasi SSH ataupun firewall. Tools ini lebih berperan sebagai lapisan perlindungan tambahan yang dapat membantu mengurangi percobaan login berulang dari alamat IP tertentu.
Apa yang Dibutuhkan?
Praktik pada artikel ini dapat dilakukan menggunakan lingkungan virtual sehingga tidak perlu menggunakan server produksi.
Beberapa kebutuhan yang digunakan antara lain:
- Ubuntu Server
- OpenSSH Server
- Fail2ban
- Akses terminal
- Satu perangkat atau VM untuk melakukan pengujian
Sebelum melakukan pengujian, pastikan SSH pada server sudah dapat digunakan.
Bagaimana Menginstal Fail2ban?
Pada Ubuntu, Fail2ban dapat dipasang melalui package manager.
Jalankan perintah berikut:
sudo apt update
sudo apt install fail2ban

Jika ada pilihan untuk memilih yes atau no, maka kalian bisa pilih yes y.
Setelah proses instalasi selesai, aktifkan service Fail2ban:
sudo systemctl enable --now fail2banKemudian periksa statusnya:
sudo systemctl status fail2ban
Jika service berjalan dengan baik, statusnya akan menunjukkan bahwa Fail2ban sedang aktif.
Bagaimana Mengaktifkan Perlindungan untuk SSH?
Fail2ban menggunakan konsep jail untuk menentukan layanan mana yang akan dipantau dan bagaimana tindakan terhadap aktivitas yang terdeteksi.
Daripada mengubah konfigurasi bawaan secara langsung, buat konfigurasi lokal:
sudo nano /etc/fail2ban/jail.localKemudian tambahkan konfigurasi berikut:
[sshd]
enabled = true
port = ssh
maxretry = 3
bantime = 10m
findtime = 10m
Konfigurasi tersebut memiliki beberapa fungsi penting.
enabled = truemengaktifkan perlindungan untuk SSH.port = sshmenentukan layanan SSH yang dipantau.maxretry = 3menentukan jumlah kegagalan sebelum tindakan dilakukan.bantime = 10mmenentukan lama pemblokiran.findtime = 10mmenentukan periode waktu yang digunakan untuk menghitung percobaan gagal.
Setelah konfigurasi disimpan, restart Fail2ban:
sudo systemctl restart fail2ban
Bagaimana Memastikan SSH Sudah Dipantau?
Untuk melihat jail yang sedang aktif, jalankan:
sudo fail2ban-client statusJika konfigurasi berhasil, akan terlihat jail sshd.
Mau Kuasai Mendeteksi Percobaan Login SSH Gagal Menggunakan Fail2ban Sampai Bisa Praktik Langsung?
Materi ini juga kami ajarkan langsung di kelas Edusoft Center, dibimbing mentor, sampai kamu bisa praktik nyata — bukan cuma baca teori.
Tanya Kursus via WhatsApp Lihat contoh project nyata dari siswa kami →
Untuk melihat informasi yang lebih spesifik:
sudo fail2ban-client status sshd
Perintah tersebut dapat menampilkan informasi seperti jumlah kegagalan login yang terdeteksi dan alamat IP yang sedang diblokir.
Bagaimana Melakukan Pengujian?
Pengujian dilakukan menggunakan perangkat atau VM lain yang dapat terhubung ke server melalui SSH.
Misalnya:
ssh username@IP_SERVERKemudian gunakan password yang salah beberapa kali pada lingkungan lab.

Setelah percobaan login gagal mencapai batas yang telah ditentukan, periksa kembali status jail:
sudo fail2ban-client status sshdJika mekanisme berjalan sesuai konfigurasi, alamat IP dari perangkat penguji dapat muncul pada daftar IP yang diblokir.
Contoh informasi yang dapat muncul:
Currently failed: 0
Total failed: 3
Currently banned: 1
Total banned: 1
Angka dan hasil yang muncul dapat berbeda tergantung aktivitas pengujian dan konfigurasi server.
Bagaimana Melihat IP yang Diblokir?
Selain melihat status jail, informasi mengenai alamat IP yang sedang diblokir dapat diperiksa melalui perintah:
sudo fail2ban-client get sshd banip
Jika terdapat IP yang sedang diblokir, alamat tersebut akan ditampilkan oleh Fail2ban.
Administrator juga dapat melakukan pengecekan terhadap log untuk melihat aktivitas yang menyebabkan pemblokiran.
Lokasi log dapat berbeda tergantung konfigurasi dan sistem yang digunakan. Pada Ubuntu, salah satu sumber log autentikasi yang umum digunakan adalah:
sudo tail -f /var/log/auth.log
Dengan melihat log tersebut, administrator dapat memahami aktivitas autentikasi yang terjadi pada server.
Bagaimana Jika IP Ingin Dibuka Kembali?
Karena pengujian dilakukan di lingkungan lab, terkadang alamat IP sendiri ikut terblokir. IP tersebut dapat dibuka kembali menggunakan:
sudo fail2ban-client set sshd unbanip IP_ADDRESSGanti IP_ADDRESS dengan alamat IP yang ingin dikeluarkan dari daftar blokir.
Setelah itu, periksa kembali:
sudo fail2ban-client status sshd
Kesimpulan
Percobaan login SSH yang gagal berulang kali merupakan salah satu aktivitas yang perlu diperhatikan ketika mengelola server. Meskipun tidak semua kegagalan login menunjukkan adanya serangan, jumlah percobaan yang terus meningkat dapat menjadi indikasi aktivitas yang mencurigakan.
Fail2ban dapat digunakan sebagai salah satu lapisan perlindungan sederhana untuk kondisi tersebut. Dengan membaca log, menghitung kegagalan berdasarkan aturan yang ditentukan, dan memblokir alamat IP untuk sementara, Fail2ban membantu mengurangi percobaan login berulang tanpa harus melakukan pemantauan secara manual setiap saat.
Untuk lingkungan produksi, konfigurasi Fail2ban sebaiknya tetap disesuaikan dengan kebutuhan server. Perlindungan tambahan seperti penggunaan SSH key, menonaktifkan login password jika memungkinkan, membatasi akses SSH, dan menerapkan firewall tetap penting karena Fail2ban bukan satu-satunya mekanisme keamanan server.
Penulis
Mau Kuasai Mendeteksi Percobaan Login SSH Gagal Menggunakan Fail2ban Sampai Bisa Praktik Langsung?
Materi ini juga kami ajarkan langsung di kelas Edusoft Center, dibimbing mentor, sampai kamu bisa praktik nyata — bukan cuma baca teori.
Tanya Kursus via WhatsApp Lihat contoh project nyata dari siswa kami →
