Menangani Syn flood (DDoS-Attack) pada Linux Server menggunakan ConnTrack

Syn flood adalah salah satu serangan DDoS yang menyerang connection pada Server. Pada dasarnya Server sendiri tentunya memiliki connection limit (batas koneksi) untuk para pengaksesnya, disini saya akan ambil contoh yaitu Server yang pernah saya manage memiliki connection limit sekitar 64000 lebih. Syn flood sendiri bertujuan untuk membanjiri connection limit tersebut, jika berhasil memenuhi connection limit, maka user yang lainnya akan kehabisan dan tidak dapat terkoneksi ke dalam Server, karena koneksi sudah penuh.

Ilustrasi Syn flood:
Pada gambar yang sebelah kiri itu koneksi normal, kemudian pada gambar yang sebelah kanan itu menunjukan Syn flood bekerja. Akan saya jelaskan sedikit, Avatar yang berwarna hijau itu adalah seorang attacker, dimana ia sedang melakukan Syn flood.
Attacker mengirim SYN, kemudian server membalas SYN-ACK, setelah itu Attacker tidak membalas ACK, sehingga server masih menunggu, namun koneksinya masih dalam keadaan terisi (menunggu/menyangkut).
Setelah koneksi penuh, Avatar yang berwarna ungu adalah User lain, ia tidak dapat melakukan koneksi ke dalam server karena sudah penuh.

Sesuai judul disini saya akan menjelaskan tentang bagaimana cara tracking dan menangani DDoS Attack (Syn flood) menggunakan ConnTrack.
OK! Kita langsung saja.

1. Connection Tracking menggunakan ConnTrack

Install ConnTrack pada Server:
# apt-get install conntrack

ConnTrack berguna untuk memonitoring dan tracking lalu lintas koneksi yang masuk pada Server.

Note: Untuk tracking connection gunakan super user (root) terlebih dahulu.

Tracking connection yang masuk ke dalam Server menggunakan ConnTrack:
# conntrack -L | awk '{print $5}' | awk -F'=' '{print $2}' | sort | uniq -c | sort

Command di atas berguna untuk mengecek list IP Address yang sedang terkoneksi ke Server. Command tersebut sudah saya modifikasi menggunakan awk, sort, dan uniq guna untuk mencari IP yang paling banyak melakukan tcp handshake kedalam koneksi Server.

Jika kalian menemukan IP yang banyak menembak koneksi kedalam server, kalian dapat melakukan tracking dengan command di bawah ini, guna untuk memfokuskan monitoring pada sebuah IP address, sebagai contoh:
# conntrack -E | grep 127.0.0.1

2. Block IP yang melakukan Syn flood

Bilamana kalian menemukan koneksi yang tidak wajar dari IP tersebut, kalian bisa block menggunakan iptables:
# iptables -A INPUT -s 127.0.0.1 -j REJECT

Tentunya tutorial ini dibuat karena saya sendiri pernah mengalami hal tersebut dan saya mencari quick action untuk menanganinya. Bila kalian yang menemunkan cara yang lebih efektif untuk menangani Syn flood, mohon untuk share dikolom komentar dan bilamana terdapat kesalahan tentang penjelasan pada POST ini kami mohon juga untuk diberikan koreksinya. Sekian tentang artikel ini, mohon maaf kalau ada kesalahan karena kami sendiri masih banyak kekurangan dan butuh bantuan kalian semua.
Arigatou Nee~

Post a Comment

Previous Post Next Post

Contact Form