SSH adalah protokol jaringan yang menggunakan enkripsi untuk memastikan komunikasi data tetap aman, biasanya diakses melalui antarmuka baris perintah (command line). Namun, karena fungsinya yang penting, SSH sering menjadi sasaran serangan brute force oleh peretas yang mencoba menebak username dan password untuk bisa meremote server dari jarak jauh. Jadi, gimana sih cara melindungi SSH di VPS?
Nah, di panduan kali ini akan membahas cara mengamankan akses SSH di VPS dengan menggunakan Fail2ban—tool yang bisa secara otomatis memblokir IP yang mencurigakan.
Step 1: Update dan Install Fail2ban
Lakukan update pada sistem yang digunakan untuk mendapatkan latest package
sudo apt update
Selanjutnya, install Fail2ban
sudo apt install fail2ban
Step 2: Buat File dan Konfigurasi jail.local
Selanjutnya, membuat file konfigurasi jail.local untuk Fail2ban, yang isinya nanti bisa kamu atur sesuai kebutuhan (misalnya aturan ban IP brute force SSH).
Ada 2 cara untuk membuat jail.local:
1. Salin file config yang telah disediakan oleh Fail2ban yaitu jail.conf dan ubah sebagai jail.local menggunakan perintah:
cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
Setelah itu, kamu bisa edit file jail.local untuk menyesuaikan konfigurasi yang kamu butuhkan.
2. Membuat file baru tanpa menyalinnya (pada artikel ini mempraktikkan cara ini). Pertama, lihat isi direktori /etc/fail2ban/ untuk memastikan belum ada file jail.local
ls -al /etc/fail2ban/
Ini hanya untuk mengecek isi direktori (opsional).
Kemudian, Buat file jail.local langsung dengan editor nano:
sudo nano /etc/fail2ban/jail.local
Setelah masuk editor, kamu ketik sendiri konfigurasi yang kamu butuhkan. Misalnya konfigurasi dasar untuk SSH.
[sshd]
enabled = yes
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
bantime = 3600
ignoreip = 103.56.148.73
Untuk menyimpan, tekan Ctrl+x, lalu Y dan tekan Enter.

Penjelasan:
sshdaemon – protokol keamanan yang akan diaplikasikan
enabled – true, untuk mengaktifkan sshd
port – ssh, umumnya port 22
filter – sshd , bisa menggunakan ufw (optional)
logpath – lokasi log yang dapat digunakan untuk monitoring
maxretry – maksimal percobaan sebelum terblok otomatis
bantime – 3600, hitungan dalam detik artinya jika terblokir maka untuk release otomatis tunggu 1 jam
ignoreip – daftar putih untuk ip tertentu agar terhindar dari terblok
Step 3: Restart Fial2ban dan Testing
Restart service fail2ban agar penyetingan yang telah dibuat dapat dijalankan dengan baik
systemctl restart fail2ban.service
Kemudian cek status fail2ban dan memastikan statusnya running
systemctl status fail2ban

Gambar di atas menginformasikan bahwa layanan fail2ban sudah aktif tanpa kendala.
Tahapan selanjutnya adalah testing, untuk menguji apakah Fail2ban bekerja, lakukan simulasi login SSH menggunakan IP berbeda dan masukkan password yang salah sebanyak tiga kali. Setelah melebihi batas percobaan (maxretry), akses SSH dari IP tersebut akan otomatis ditolak (Connection refused), menandakan bahwa IP telah diblokir oleh Fail2ban. Hal ini dapat dikonfirmasi dengan memeriksa status Fail2ban melalui perintah:
fail2ban-client status sshd
Berikut ini beberapa perintah yang dapat digunakan secara manual pada Fail2ban:
sudo fail2ban-client set sshd unbanip
sudo fail2ban-client set sshd banip
sudo tail -f /var/log/auth.log //monitoring sshd
sudo tail -f /var/log/fail2ban.log //monitoring action layanan
Demikian cara mengamankan SSH VPS dengan Fail2ban, Sob. Apabila masih bingung kamu dapat bertanya kepada Tim Support Jagoan Hosting via Live Chat atau Open Ticket ya.
Hai, Sob! Buat kamu yang udah kepo sama cara pantau monitoring kinerja VPS kamu, yuk ikutin tutorialnya dibawah ini.Tapi, sebenernya Read more
Hai, Sob, kamu suka bingung gimana caranya migrasi file server website ke VPS tanpa cPanel? Yuk, kamu harus banget pantengin Read more
Kamu ingin melakukan login SSH secara otomatis? Gak perlu bingung karena kamu bisa ikutin tutorial di bawah ini untuk melakukan Read more
Hai, Sob! Tahukah kamu, Mengamankan akses ke VPS kamu sangat penting tak terkecuali untuk akses dari SSH. Wah, gimana tuh Read more