SSH adalah protokol jaringan kriptografi yang sering digunakan untuk melakukan komunikasi data secara aman dan menggunakan antarmuka baris perintah(command line). SSH juga menjadi salah satu target incaran peretas dalam melakukan aksi brute force untuk bisa mendapatkan user atau password yang benar dan melakukan remote ke server korban dari jarak jauh. Lalu, bagaimana cara mengamankan SSH VPS?
Install – Untuk install, seperti biasa, kalian bisa gunakan perintah
apt-get install fail2ban
Setelah proses installasi selesai, Kamu tidak di sarankan untuk mengedit file konfigurasi default pada /etc/fail2ban/jail.conf
. Tapi yang paling aman itu dengan membuat sebuah file bernama jail.local
yang nantinya akan berisi rules yang Kamu buat sesuai kebutuhan.
Selain itu alasan utama dari harusnya membuat file jail.local ini
adalah agar jika sewaktu-waktu package dari fail2ban melakukan update ke versi yang lebih baru, konfigurasi Kamu akan tetap aman dan tidak tertimpa oleh package update tersebut.
kita tambahkan konfigurasi secara local dengan editor nano
nano /etc/fail2ban/jail.local
isi dengan perintah berikut dengan arti jika 3 kali gagal login, maka IP tersebut akan ditolak
[sshd] #mode = normal port = ssh logpath = %(sshd_log)s backend = %(sshd_backend)s maxretry = 3 bantime = -1 #banaction = ufw
Bila kalian kuatir malah terblok sendiri, kalian bisa ubah perintah nya menjadi
bantime = 3600
hitungan dalam detik artinya jika terblokir maka untuk release otomatis tunggu 1 jam. Setelah itu, jangan lupa restart service
sudo systemctl restart fail2ban
Kalian bisa coba dengan IP yang lain untuk mencoba nya. Percobaan salah password sebanyak tiga kali telah dilakukan dan pada percobaan ke empat, mendapatkan response port 22: Connection refused, yang artinya permintaan akses ssh ditolak.
Last login: Fri Sep 20 15:09:36 on ttys000 (base) user@MacBook-Air ~ % ssh root@109.174.221.160 root@109.174.221.160's password: Permission denied, please try again. root@109.174.221.160's password: Permission denied, please try again. root@109.174.221.160's password: root@109.174.221.160: Permission denied (publickey,password). (base) user@MacBook-Air ~ % ssh root@109.174.221.160 root@109.174.221.160's password: Permission denied, please try again. root@109.174.221.160's password: Permission denied, please try again. root@109.174.221.160's password: root@109.174.221.160: Permission denied (publickey,password). (base) user@MacBook-Air ~ % ssh root@109.174.221.160 ssh: connect to host 109.174.221.160 port 22: Connection refused (base) user@MacBook-Air ~ %
Kita cek IP saja yang kena blacklist
fail2ban-client status sshd
hasilnya
Status for the jail: sshd |- Filter | |- Currently failed: 5 | |- Total failed: 31 | `- File list: /var/log/auth.log `- Actions |- Currently banned: 4 |- Total banned: 4 `- Banned IP list: 31.220.88.18 103.157.218.146 112.215.133.219 112.215.167.79
ada 4 yaitu
- 31.220.88.18
- 103.157.218.146
- 112.215.133.219
- 112.215.167.79
Berikut ini beberapa perintah yang dapat digunakan secara manual pada Fail2ban:
$ sudo fail2ban-client set sshd unbanip <ip_yang_akan_dirilis> $ sudo fail2ban-client set sshd banip <ip_yang_akan_dibanned> $ sudo tail -f /var/log/auth.log //monitoring sshd $ sudo tail -f /var/log/fail2ban.log //monitoring action layanan