Membendung Flood pada Server dengan PF

Klo kata Flood diterjemahkan kedalam bahasa Indoesia maka artinya banjir. Klo dalam jaringan komputer mungkin ga beda jauh, bisa diistilahkan ada paket/koneksi yang terus-menerus “membanjiri” server atau gateway kita sehingga koneksi jaringan terkesan lambat. Misalnya, user kadang menggunakan download accelerator/manager, untuk mendowload file, apalagi file tersebut lumayan besar kapasitasnya. Cara yang lumayan ampuh untuk membatasi koneksi untuk download bisa menggunakan squid proxy sebagai gateway internetnya, tentunya dengan mengaktifkan dan mengkonfigurasi delay_pools pada squid tersebut.

Selain dengan menggunakan squid juga bisa menggunakan PF. Oke, untuk percobaan yag ini aku menggunakan OS FreeBSD sebagai gateway ke internet. Jadi apa bila ada user yang mendownload dengan download accelerator/manager. IP Address user akan diblok.
Cukup jahat juga ya.. hehe tapi gapapa, namanya juga uji coba. Langsung aja menuju script PF nya :

ext_if=”rl0″
priv_if=”tun0″

set optimization aggressive
set loginterface $ext_if

scrub in all
nat on $ext_if proto{tcp,udp,icmp} from $priv_if:network to any -> $ext_if

table <cobadulu> persist
block quick from <cobadulu>
block in all
block out all

pass quick on lo0 all

pass in on $ext_if proto{tcp,udp,icmp} from any to any
pass out on $ext_if proto{tcp,udp,icmp} from any to any
pass in on $priv_if proto{tcp,udp,icmp} from any to any
pass in on $priv_if proto tcp from any to any port www keep state (max-src-conn 10, max-src-conn-rate 5/3, overload <cobadulu> flush)
pass out on $priv_if proto{tcp,udp,icmp} from any to any

Yang perlu diperhatikan adalah baris yang ini:

pass in on $priv_if proto tcp from any to any port www keep state (max-src-conn 10, max-src-conn-rate 5/5, overload <cobadulu> flush)

  • max-src-conn adalah maksimal jumlah koneksi suatu host ke server kita, dalam hal ini tiap host hanya diperbolehkan maksimal 10 koneksi.
  • max-src-conn-rate adalah rasio koneksi yang dibuat oleh suatu host ke server dalam rentang waktu tertentu. Dalam hal ini, tiap host dibatasi 5 koneksi dalam kurun waktu 5 detik.
  • overload <cobadulu> flush adalah baris eksekusi, apabila sebuah host yang mengakses server tidak mengikuti 2 ketentuan di atas, akan dicatat dalam table <cobadulu> lalu akan diblok oleh block quick from <cobadulu> to any.

Tinggal dicari konfigurasi yang pas untu max-src-conn-rate nya, soalnya pas aku coba, user-user pada ke blok semua,hehehe padahal baru ngakses beberapa web.
Untuk melihat IP mana aja yang keblok, gunakan peritah pfctl -t cobadulu -T show. Untuk menghapus isi tabel gunakan perintah pfctl -t cobadulu -T flush.
Cara ini juga cukup ampuh untuk memblok user yang mencoba melakukan koneksi ssh tapi gagal terus, secara terus-menerus, tinggal ganti port www dengan port ssh.

Beres deh… CMIIW ya…


Web Hosting Murah | Shared Hosting Murah | Registrasi Domain Murah

my tweet

Badge

blog-indonesia.com

instagram

Bercengkrama, 
#instafamily #instakids #instababy #instabanjar #mykeinara #myhanna #like4like #likeforlike Keinara intan & Hanna humaira Penyanyinya 3diva, 
Zufa, Hanna, Intan,

Bintang video klipnya Om Dana,

#lagubanjar #khasbanjar #amparamparpisang Full Team,.
Bersama 3orang anak,
1anak mertua + 2anak kandung.
#instafamily 
#mykeinara 
#myhanna

Menghadiri walimah perkawinan .
.
. .
.
#mykeinara
#holiday 
#manado 
#bunaken
#instamanado 
#indonesia 
#like4like

Blog Stats

  • 82,894 hits

%d bloggers like this: