blocking ssh bruteforce attack with PF

19 07 2008

wahhhhh, keknya keren juga yah judulnya…… hueheuehuehueu, ngeblok ssh brute force pakek PF. kurang lebih begitulah judulnya kalo pake bahasa indonesah. hmmmmmm, coba deh kamu cek file auth.log kamu, banyak yang nyoba buat akses ssh ke server kamu…… authentication failed!!!! yaa, kurang lebih begitulah bunyinya. bosen kan dihadepin ama yg gituan??? dari pengalaman gw, banyak banget usaha ngakses ssh (lebi tepatnya brute force ssh password) ke server gw di kampus + router-router gw di kantor. cukup nyebelin emang, tapi ya mau gimana lagi, namanya juga internet, unsecured places :D . nah, gimana sih cara buat ngurangin usaha, lebi tepatnya nge-block usaha brute force ssh password tadi? caranya gampang, cukup pake PF, firewall bawaan dari OpenBSD + FreeBSD (lo kudu compile kernel dulu di FreeBSD). lha trus, gimana caranya??? ga usa basa basi, langsung aja di mulai

pertama buka file /etc/pf.conf, trus buat rule kek gini :


int_if = "bce0" #1
table <bruteforce> persist #2
block quick from <bruteforce> #3
pass in on $int_if proto tcp from any to $int_if:0 port ssh keep state (max-src-conn 10, max-src-conn-rate 5/3, overload <bruteforce> flush global) #4

Penjelasan :

#1. buat variable untuk interface bce0. bce0 di definisian sbg int_if

#2. buat tabel bruteforce di PF nya. knapa persist?? heheeheheehe, cari tau sendiri yaah artinyaa :p

#3. block semua paket yang berasal dari alamat-alamat yang terdefinisi di tabel bruteforce

#4. nah, ini yang penting. ijinkan paket TCP masuk ke interface bce0 dimana paket tersebut berasal dari mana aja, tujuan paket tersebut ke alamat IP address interface bce0, dengan aturan sebagai berikut :

  • max-src-conn 10 : jumlah maksimum koneksi dari satu host ke server ssh kita adalah 10.
  • max-src-conn-rate 5/3 : rasio jumlah koneksi dari satu host per satuan waktu, dalam hal ini, satu host hanya diperbolehkan melakukan 5 koneksi per 3 detik.
  • overload <bruteforce> flush global : jika tidak memenuhi kedua persyaratan di atas, maka IP address tersebut akan di catat di tabel bruteforce, dan kemudian akan di blok oleh rule no #3 (block quick from <bruteforce> )

nah, kalo udah, save rule-nya trus jalanin PF nya. tungguin deh, beberapa saat, tergantung seberapa banyak serangan. nah, kalo pengen liat ip-address mana aja yang di blok, jalanin perintah ini :

pfctl -t bruteforce -Tshow

gampang kan??? heheehehehhe, hampir lupa, parameter max-src-conn + max-src-conn-rate tadi tidak mengikat, tergantung pilihanmu, mo yg paranoid or biasa biasa aja. selamat mencoba yaaaaaaa :)


Actions

Information

Leave a comment

You must be logged in to post a comment.