SYN flooding attack adalah istilah teknologi informasi dalam bahasa Inggris yang mengacu
kepada salah satu jenis serangan Denial-of-service yang menggunakan paket-paket SYN.

(sumber: wikipedia Indonesia).Disini saya menerapkan limit pada paket-paket SYN yang masuk, dengan iptables. “–limit”
dalam script ini terbagi menjadi dua penjelasan:
–limit [params]: Adalah jumlah maksimal dalam satuan [params]. Dimana [params] disini
adalah /s (second), /m (minute), /h (hour), /d (day). Default adalah 3/hour.
–limit-burst [number]: Adalah inisialisasi jumlah paket SYN yang tertangkap. Default adalah
5.
Pada script iptables ini saya juga menerapkan pengamanan terhadap service SSH (port 22).
Dimana saya melakukan pembatasan koneksi. Saya ambil cuplikan salah satu script.
iptables -I INPUT -p tcp –dport 22 -m state –state NEW -m recent –update –seconds
600 –hitcount 11 -j DROP
Default port SSH adalah 22.
“–seconds 600″ adalah waktu untuk 10 menit koneksi, dimana 600 detik=10 menit (1
menit=60 detik; 10 menit=600 detik).
“–hitcount 11″ adalah jumlah connection limit untuk tidak melampaui 10, andaikata lebih
dari 10 maka berlaku “-j DROP”.
KESIMPULAN script diatas adalah:
iptables akan membatasi port 22 (SSH) untuk tidak melayani permintaan koneksi lebih dari
10 koneksi dalam rentang waktu 10 menit.
Penjelasan selebihnya bisa didapatkan pada man iptables atau pada dokumentasi
netfilter/iptables.
Berikut cara penggunaan script untuk mem-blok syn flood. Buatlah file dengan nama
“terserah.sh” lalu masukan script iptables pada akhir artikel ini. Jangan lupa untuk
memberikan hak akses untuk dapat di eksekusi (chmod 700).

#SCRIPT BLOK SYN FLOOD IPTABLES
clear
printf “Copyright by cybercolombuzz\n”
printf “\n\n”
printf “Masukan ip address server:”
read SERVER_IP
iptables -A INPUT -p tcp –syn -m limit –limit 1/s –limit-burst 3 -j RETURN
iptables -N syn_flood
iptables -A INPUT -p tcp –syn -j syn_flood
iptables -A syn_flood -m limit –limit 1/s –limit-burst 3 -j RETURN
iptables -A syn_flood -j DROP
iptables -A INPUT -p icmp -m limit –limit 1/s –limit-burst 1 -j ACCEPT
iptables -A INPUT -p icmp -m limit –limit 1/s –limit-burst 1 -j LOG –log-prefix PING-DROP:
iptables -A INPUT -p icmp -j DROP
iptables -A OUTPUT -p icmp -j ACCEPT
iptables -I INPUT -p tcp -s 0/0 -d $SERVER_IP –sport 513:65535 –dport 22 -m state –state
NEW,ESTABLISHED -m recent –set
-j ACCEPT
iptables -I INPUT -p tcp –dport 22 -m state –state NEW -m recent –update –seconds 600 –hitcount 11
-j DROP
iptables -A OUTPUT -p tcp -s $SERVER_IP -d 0/0 –sport 22 –dport 513:65535 -m state –state
ESTABLISHED -j ACCEPT


Sumber:

http://www.mhp.co.id/blog/rhiel_x/?p=12