[SHARE] Cara mudah mencegah TCP Syn Flood (DoS)

Forum untuk membahas semua tentang web hacking mulai dari footprint, scanning, gain access, escalate previlege, exploit,cover track, backdoors sampai mengamankan web

Moderators: Paman, Xshadow, indounderground, NeOS-01

Forum rules
Membahas bugs,penetrasi, eksploitasi dan teknik mengamankan website - websrver. Sertakan POC disini agar member dapat mempelajarinya
Post Reply
User avatar
3xtr3m3b0y
Posts: 317
Joined: Wed Apr 22, 2009 5:11 pm
Location: ~[Hacked Machine]~
Contact:

[SHARE] Cara mudah mencegah TCP Syn Flood (DoS)

Post by 3xtr3m3b0y » Thu Feb 25, 2010 6:54 am

HOW IS WORKING :
Ketika para attacker telah kehabisan cara untuk melakukan penyusupan pada suatu Website, jurus pamungkas yg biasa digunakan adalah melakukan DoS (Denial of Service) pada Web Serverx, salah satunya dgn melakukan TCP Syn Flood yg memanfaatkan kelemahan Protocol TCP/IP.

Sejatinya (wkwkwk puitis bgnt :D) sebelum terjadi transaksi data antara Client dan Server, terlebih dahulu dilakukan 3 proses penting sebagai pembuka komunikasi, nah ini dikenal sebagai 3 Way Handshake (3 kali jabat tangan, cara inipun jg diterapkan pd saat acara AKAD NIKAH, xixixixi :D)

Image

Dari gambar di atas dapat dijelaskan sbb :

1. Di awal Client meminta koneksi ke Server dgn mengirimkan paket SYN (SYNchronize).

2. Server yg menerima paket SYN akan menjawab dgn mengirimkan paket SYN+ACK (ACKnowledge) dan kemudian akan menanti sebuah jawaban (hmmm, kyk judul lagu yakzzz) dari Client, yaitu sebuah paket ACK yg nantinya menjadi penutup proses 3 kali jabat tangan tadi. Nah proses menanti sebuah jawaban ini, pada masing2 Sistem Operasi berbeda-beda, misalnya untuk Sistem Operasi Linux masa penantian ini bisa berlangsung hingga 3 menit, jika lewat dari 3 menit proses AKAD NIKAH dianggap BATAL DEMI HUKUM... :D.
Proses penantian ini masuk dalam antrian BACKLOG dan biasanya jumlah antrian ini dibatasi. misalnya di Sistem Operasi Linux jumlah antrian ini rata-rata Max 256 antrian yg disebut sebagai half-open connections.

3. Sebagai penutup Client akan mengirimkan paket ACK dan kemudian transaksi data dimulai.

Dari proses di atas kemudian muncullah kelemahan, yaitu proses yg terjadi pada tahap 2, dimana Server akan menampung sejumlah antrian koneksi yg menanti konfirmasi akhir dari Client (Paket ACK) utk bisa melanjutkan proses transaksi data. Apa yg terjadi jika BACKLOG dipenuhi dgn antrian koneksi yg sebernarx berasal dari Client yg tdk ada, yg terjadi kemudian adalah Client lain yg benar-benar nyata ingin mengakses Si Server kemudian tdk bisa mengakses dikarenakan Server tdk bisa lagi menerima koneksi krn antrian di BACKLOG sdh penuh.

Image

Dari ide di atas kemudian dibuatlah berbagai tools yg memungkinkan dapat memenuhi BACKLOG dgn koneksi yg kelihatan berasal dari Client nyata tp sebenarnya gak ada. Salah satu teknik yg bisa digunakan adalah IP Spoofing, yaitu melakukan manipulasi IP Sumber pada Header paket data yg dikirim dgn IP Palsu. IP Palsu ini kemudian di generate secara RANDOM dan dalam jumlah yg banyak dgn tujuan BACKLOG pada server akan penuh dan Client lain tdk bisa lg dilayani.

Salah satu tools yg bekerja seperti metode di atas adalah :
http://www.packetstormsecurity.org/DoS/juno.c

HOW TO DETECT :
Cara mudah utk mendeteksi bahwa Server kemungkinan besar terkena serangan Syn Flood yaitu dgn memonitor aktifitas koneksi pada Server menggunakan NETSTAT :

Code: Select all

$netstat -nt
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 10.222.222.2:80         134.174.56.34:1024      SYN_RECV   
tcp        0      0 10.222.222.2:80         71.150.225.65:3072      SYN_RECV   
tcp        0      0 10.222.222.2:80         10.51.211.79:3072       SYN_RECV   
tcp        0      0 10.222.222.2:80         1.56.184.51:1024        SYN_RECV   
tcp        0      0 10.222.222.2:80         48.162.16.44:1024       SYN_RECV   
tcp        0      0 10.222.222.2:80         22.173.232.4:3072       SYN_RECV   
tcp        0      0 10.222.222.2:80         87.2.52.86:3072         SYN_RECV   
tcp        0      0 10.222.222.2:80         113.126.171.61:3072     SYN_RECV   
tcp        0      0 10.222.222.2:80         228.156.222.92:1024     SYN_RECV
Jika terlihat status koneksi SYN_RECV dalam jumlah besar apalagi dgn IP Sumber yg berbeda-beda, maka bisa dipastikan Server terkena Serangan TCP Syn Flood.

HOW TO PROTECT :
Solusi dari permasalahan sebelumnya adalah dengan melakukan filter terhadap koneksi SYN yg mencurigakan, menaikkan maksimal jumlah antrian pada BACKLOG dan menurunkan waktu antrian yg bisa disimpan di BACKLOG.

Gunakan Sistem Operasi dgn dukungan proteksi TCP Syn Flood, misalnya untuk Linux Kernel 2.4 ke atas telah melengkapi dirinya dgn proteksi terhadap TCP Syn Flood. Anda tinggal melakukan konfigurasi pada file /etc/sysctl.conf dan mengaktifkan atau menambahkan baris-baris :

Code: Select all

net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_max_syn_backlog = 2048
net.ipv4.tcp_synack_retries = 3
Bisa juga dengan menambahkan aturan pada IPTABLES :

Code: Select all

iptables -A INPUT -p tcp --syn -m limit --limit 3/s -i eth0 -j ACCEPT
Aturan tsb akan membatasi paket SYN sebanyak 3 paket per detik

Demikian pengetahuan ttg DoS TCP Syn Flood yg dapat sy bagi kepada rekan xcoders, moga bermanfaat dan mohon koreksinya jika ada yg keliru.

Terima Kasih...

Referensi :
1. http://en.wikipedia.org/wiki/SYN_flood
2. http://www.docdroppers.org/wiki/index.p ... ifications
3. http://www.securityfocus.com/infocus/1729
4. http://www.packetstormsecurity.org/DoS
...n0 l1m17...

User avatar
poni
Posts: 1666
Joined: Mon Dec 05, 2005 10:44 am
Location: Indonesia
Contact:

Re: [SHARE] Cara mudah mencegah TCP Syn Flood (DoS)

Post by poni » Thu Feb 25, 2010 10:10 pm

Tutor yg 3xtr3mly aw3som3 dr om 3xtr3mb3boy
.::...Cr3ditz......::....
join us : www.xcode.or.id - 001101
"@ b3tt3r d1g1t4l w0rlD" -- 010110000110001001

User avatar
Darkzzzz
Posts: 2206
Joined: Fri Jul 27, 2007 1:59 pm
Location: UG-HotZone Depok 4, UG-HotZone Klp2 4 & UG-HotZone WaterFall.
Contact:

Re: [SHARE] Cara mudah mencegah TCP Syn Flood (DoS)

Post by Darkzzzz » Fri Feb 26, 2010 9:38 am

@TS
Itu cuma buat di OS Linux ya om pengaturannya?
Selain itu nggak bs ya?
I'm not A Hacker, But I'm A Image

m4LaiKAt_bAj4kaN
Posts: 15
Joined: Sat Jan 30, 2010 6:02 pm

Re: [SHARE] Cara mudah mencegah TCP Syn Flood (DoS)

Post by m4LaiKAt_bAj4kaN » Fri Feb 26, 2010 11:08 am

owgh... nice share bos.. baru tau yang kayak gituan.. (padahal sekarang juga masih belum tau..) :circle: thx atas penjelasannya.. ijin belajar ya bos.. :love:
بــيــن الـﺭجــل و بــيــن الــشـرﻙ ﻭ الــكــفـر تـرﻙ الــصــﻼﺓ

untouch
Posts: 19
Joined: Fri Feb 26, 2010 11:36 am

Re: [SHARE] Cara mudah mencegah TCP Syn Flood (DoS)

Post by untouch » Fri Feb 26, 2010 11:50 am

thx for infonya bro...

menganalisa paket slain dgn netstat, ada gk ?

User avatar
3xtr3m3b0y
Posts: 317
Joined: Wed Apr 22, 2009 5:11 pm
Location: ~[Hacked Machine]~
Contact:

Re: [SHARE] Cara mudah mencegah TCP Syn Flood (DoS)

Post by 3xtr3m3b0y » Fri Feb 26, 2010 12:56 pm

@Om Poni
Mhn pencerahanx Om ttg DoS utk tingkat lanjut

@Kaka Untouch
Klo pengen yg lebih mendalam lg untuk analisa paket bisa pake TCPDUMP, tp repot Kaka.
Jd cari yg simpel2 aja...

@Om Darkzzzz
Untuk Proteksi di OS yg lain dibahas di sini Om http://www.securityfocus.com/infocus/1729
...n0 l1m17...

Post Reply

Return to “Web Hacking”