SYN flood attack pada Slackware

SYN flooding attack adalah istilah teknologi informasi yang mengacu kepada salah satu jenis serangan Denial-of-service yang menggunakan paket-paket SYN. Serangan ini melumpuhkan koneksi ke sebuah Server karena banyaknya paket yang masuk.

Paket-paket SYN adalah salah satu jenis paket dalam protokol Transmission Control Protocol (TCP/IP) yang dapat digunakan untuk membuat koneksi antara dua host dan dikirimkan oleh host yang hendak membuat koneksi, sebagai langkah pertama pembuatan koneksi dalam proses “TCP Three-way Handshake“. (wiki)

Salah satu tool untuk melakukan serangan Syn Flood adalah dengan menggunakan script DoS Juno. Untuk mendeteksi server yang terkena oleh serangan Syn Flood bisa dilihat dengan menggunakan perintah netstat.

root@zero:/# netstat -nt
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State     
tcp        0      0 xxx.xx.xxx.xxx:80         134.174.56.34:1024      SYN_RECV   
tcp        0      0 xxx.xx.xxx.xxx:80         71.150.225.65:3072      SYN_RECV   
tcp        0      0 xxx.xx.xxx.xxx:80         10.51.211.79:3072       SYN_RECV   
tcp        0      0 xxx.xx.xxx.xxx:80         1.56.184.51:1024        SYN_RECV   
tcp        0      0 xxx.xx.xxx.xxx:80         48.162.16.44:1024       SYN_RECV   
tcp        0      0 xxx.xx.xxx.xxx:80         22.173.232.4:3072       SYN_RECV   
tcp        0      0 xxx.xx.xxx.xxx:80         87.2.52.86:3072         SYN_RECV   
tcp        0      0 xxx.xx.xxx.xxx:80         113.126.171.61:3072     SYN_RECV   
tcp        0      0 xxx.xx.xxx.xxx:80         228.156.222.92:1024     SYN_RECV

Jika terlihat status koneksi SYN_RECV dalam jumlah besar dan dengan sumber IP yang berbeda-beda, bisa dipastikan Server terkena Serangan TCP Syn Flood.

Cara mengatasinya adalah dengan cara mengaktifkan proteksi terhadap Syn Flood, pada kernel 2.4.x keatas biasanya sudah di dukung untuk memblock serangan Syn Flood, caranya adalah dengan menambahkan konfigurasi pada /etc/sysctl.conf.

net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_max_syn_backlog = 2048
net.ipv4.tcp_synack_retries = 3

Di Linux Slackware sendiri tidak mempunyai konfigurasi sysctl.conf, bikin saja secara manual, gunakan text editor kesukaan anda misalnya mcedit, contohnya :

root@zero:/# mcedit /etc/sysctl.conf

Copy paste konfigurasi script diatas kemudian simpan, jalankan perintah :

root@zero:/# /sbin/sysctl -e -p /etc/sysctl.conf

Masukan perintah tersebut ke /etc/rc.d/rc.local. Jadi setiap kali server restart, script tersebut akan otomatis di eksekusi atau dijalankan.

Tambahkan juga blocking dengan menggunakan iptables ; Buat script iptables sederhana, gunakan text editor kesukaan anda, jika menggunakan 2 interface landcard, contohnya :

root@zero:/# mcedit /etc/rc.d/rc.synflood, copy paste script iptables dibawah ini ;

#!/bin/bash

IPTAB=/usr/sbin/iptables

$IPTAB -A INPUT -p tcp --syn -m limit --limit 3/s -i eth0 -j ACCEPT
$IPTAB -A INPUT -p tcp --syn -m limit --limit 3/s -i eth1 -j ACCEPT

Gunakan perintah :
root@zero:/# chmod +x /etc/rc.d/rc.synflood

Jalankan script dengan meng-eksekusi-nya :
root@zero:/# /etc/rc.d/rc.synflood

Kemudian masukan ke /etc/rc.d/rc.local, untuk otomatis dijalankan pada saat server di restart.

Sumber : wiki, xcode

About these ads

About Agus Firdaus

Just me ..

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

%d bloggers like this: