SYN Flood چیست؟
SYN Flood یک نوع حمله DDoS است که با ارسال حجم عظیمی از بستههای SYN (درخواست اتصال TCP) به سرور، منابع آن را اشباع میکند. سرور برای هر SYN یک اتصال نیمهباز ایجاد میکند و وقتی تعداد آنها زیاد شود، نمیتواند اتصالات جدید بپذیرد.
علائم
سایتها کند یا غیرقابل دسترس. تعداد زیاد اتصالات SYN_RECV. Load بالای سرور. پورتها پاسخ نمیدهند.
بررسی
# تعداد اتصالات SYN_RECV
netstat -ntu | grep SYN_RECV | wc -l
# IPهای مهاجم
netstat -ntu | grep SYN_RECV | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -rn | head -20
محافظت
۱. SYN Cookies فعالسازی
sysctl -w net.ipv4.tcp_syncookies=1
echo "net.ipv4.tcp_syncookies = 1" >> /etc/sysctl.conf
۲. تنظیمات Kernel
net.ipv4.tcp_max_syn_backlog = 8192
net.ipv4.tcp_synack_retries = 2
net.ipv4.tcp_syn_retries = 3
net.ipv4.tcp_fin_timeout = 15
net.ipv4.tcp_tw_reuse = 1
sysctl -p
۳. CSF فایروال
# /etc/csf/csf.conf
SYNFLOOD = "1"
SYNFLOOD_RATE = "100/s"
SYNFLOOD_BURST = "150"
CT_LIMIT = 300
csf -r
۴. iptables
iptables -A INPUT -p tcp --syn -m limit --limit 50/s --limit-burst 100 -j ACCEPT
iptables -A INPUT -p tcp --syn -j DROP
۵. استفاده از Cloudflare
Cloudflare با فیلتر ترافیک لایه ۳/۴ از حملات SYN Flood محافظت میکند.
پیشگیری
فایروال CSF همیشه فعال باشد. SYN Cookies فعال باشد. Kernel parameters بهینه شود. Cloudflare فعال شود.
سرور مجازی با فایروال CSF و آنتی DDoS. کانفیگ سرور شامل hardening و محافظت DDoS.