SYN Flooding (DDoS Layer 4)
SYN Flooding dengan Spoofed IP
CPU test menjadi lebih lambat, karena CPU sibuk menangani SYN flood.
Network test menjadi buruk atau timeout, karena bandwidth & socket terganggu.
Hasil benchmark akan menunjukkan penurunan drastis pada network throughput dan response time.
wget -qO- bench.sh | bash
SYN Flood bukan serangan yang menggunakan payload besar atau menyerap banyak memor
sudo tcpdump -i ens33 -n 'tcp[tcpflags] & tcp-syn != 0 and tcp[tcpflags] & tcp-ack == 0'
curl -o pw.txt https://raw.githubusercontent.com/azophy/id-wordlist/refs/heads/master/geovedi_indonesian-wordlist_05-ivanlanin2011-sort-alpha.lst
--flood Kirim paket secepat mungkin (flooding), tanpa menunggu respon
sudo iptables -A INPUT -p tcp --syn -j LOG --log-prefix "[SYN DETECTED] " --log-level 4
sudo iptables -A INPUT -p tcp --dport 80 -m state --state NEW -m limit --limit 10/second --limit-burst 20 -j LOG --log-prefix "[TCP CONNECT DETECTED] " --log-level 4
sudo iptables -A INPUT -s 192.168.110.226 -p tcp --dport 80 -m state --state NEW -j LOG --log-prefix "[NPING TCP CONNECT] " --log-level 4
. Pantau log kernel:
sudo dmesg | grep SYN
Tambahkan Rate Limiting di iptables (lebih cerdas daripada DROP total)
sudo iptables -A INPUT -p tcp --syn -m limit --limit 1/s --limit-burst 3 -j ACCEPT
sudo iptables -A INPUT -p tcp --syn -j DROP
Filtering dengan Firewall
Drop paket SYN dari IP spoofed
iptables -A INPUT -p tcp --syn -m connlimit --connlimit-above 50 -j DROP
Gunakan Modul raw Table (lebih cepat daripada filter)
sudo iptables -t raw -A PREROUTING -p tcp --syn -j DROP
top %CPU: Persentase penggunaan CPU oleh setiap proses.
iptables hanya memfilter di lapisan atas, tetapi NIC + driver + kernel networking masih kerja berat menangani limpahan paket.
Bayangkan server Anda adalah resepsionis yang dibanjiri surat:
Sebelumnya (tanpa firewall): semua surat dibaca, bahkan surat sampah → stres 100%.
Sekarang (pakai iptables): surat langsung dibuang kalau judulnya mencurigakan → lebih ringan, tapi tetap harus membuka dan melihat judul → tetap capek 70–90%.
iptables -L --line-number
iptables -D INPUT
ip mencurigakan
sudo awk '{print $1}' /var/log/nginx/access.log | sort | uniq -c | sort -nr | head -n 20
Deteksi Lanjutan dengan netstat/ss:
Jika serangan sudah terjadi, gunakan:
sudo netstat -antp | grep -i "ESTABLISHED" | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n
Wp