Mencegah SSH Brute Force dengan iptables

Akses SSH merupakan hal terpenting yang harus dilindungi dalam server anda. Kalau ada yang berhasil membobolnya maka runyam sudah kondisinya. Minimal sih dijadikan bot atau spammer, paling parah ya dibersihkan dan atau disandera data – data penting anda. Proses menjebol SSH ini juga tidak perlu keahlian khusus, paling umum malah dengan sistem brute force atau mencoba semua kombinasi password. Kecil kemungkinan berhasilnya tapi kalau dibiarkan akan tembus juga.

Nah… pada umumnya di Linux sudah menyertakan software firewall dan yang biasanya disertakan adalah iptables. Jadi kali ini saya akan mengajarkan agar koneksi SSH dibatasi maksimal 2 saja setiap menit dari sumber IP/hostname yang sama. Kalau anda menggunakan sendirian maka tidak akan terlewati aturan ini, jadi aman kalau diterapkan.

Ketik saja perintah berikut:

iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --set --name SSH -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -m recent --update --seconds 600 --hitcount 3 --rttl --name SSH -j LOG --log-prefix "SSH_Brute_Force"
iptables -A INPUT -p tcp --dport 22 -m recent --update --seconds 600 --hitcount 3 --rttl --name SSH -j DROP

Efeknya kalau anda yang berlebih adalah akan diban usaha koneksi berikutnya untuk 10 menit. Asumsi perintah – perintah diatas adalah portnya masih menggunakan default yakni 22, kalau sudah anda ganti port SSHnya maka sesuaikan juga.

Setelah itu jangan lupa menyimpan konfigurasi baru iptablesnya:

iptables-save

Saya sangat menyarankan anda menginstall fail2ban juga agar otomatis melakukan blokir kalau ada koneksi yang mencurigakan.

Selesai. 🙂

Tinggalkan komentar