هجمات DDoS من الطبقة 4 والطبقة 7: الكشف والحماية
دليل شامل للكشف والتحليل والحماية من هجمات TCP/UDP flood وSYN flood وHTTP flood وSlowloris وAmplification.
جدول المحتويات
هجمات DDoS من الطبقة 4 والطبقة 7: الكشف والحماية
تهدف هجمات DDoS (رفض الخدمة الموزع) إلى تعطيل خادمك أو شبكتك عن طريق إغراقها بحركة مرور مفرطة. تحدث هذه الهجمات على طبقات مختلفة من نموذج OSI. يغطي هذا الدليل أنواع هجمات الطبقة 4 (النقل) والطبقة 7 (التطبيق) وطرق الكشف واستراتيجيات الحماية.
توفر بنية REXE التحتية حماية على مستوى الشبكة ضد هجمات الطبقة 3/4 من خلال Path Panel. لحماية الطبقة 7، يمكن استخدام Cloudflare WAF أو تكوينات مخصصة.
نموذج OSI وطبقات DDoS
| الطبقة | الاسم | أنواع الهجمات | الهدف |
|---|---|---|---|
| الطبقة 3 | الشبكة | IP flood, ICMP flood | عرض النطاق الترددي |
| الطبقة 4 | النقل | SYN flood, UDP flood, TCP flood | جدول الاتصالات |
| الطبقة 7 | التطبيق | HTTP flood, Slowloris, DNS query | موارد التطبيق |
هجمات الطبقة 4
تستهدف هجمات الطبقة 4 بروتوكولات TCP وUDP لاستنفاد موارد اتصال الخادم.
SYN Flood
يستغل عملية المصافحة الثلاثية لـ TCP. يرسل المهاجم العديد من حزم SYN لكنه لا يستجيب أبدًا بـ ACK.
اتصال TCP عادي:
العميل → SYN → الخادم
العميل ← SYN-ACK ← الخادم
العميل → ACK → الخادم
✓ تم إنشاء الاتصال
SYN Flood:
المهاجم → SYN → الخادم
المهاجم ← SYN-ACK ← الخادم
المهاجم → (لا يرسل ACK)
✗ تتراكم الاتصالات نصف المفتوحة
كشف SYN Flood
# فحص الاتصالات نصف المفتوحة
ss -s
# قائمة اتصالات SYN-RECV
ss -tnp state syn-recv
# توزيع حالات الاتصال
ss -ant | awk '{print $1}' | sort | uniq -c | sort -rn
الحماية من SYN Flood
# تفعيل SYN cookies
sudo sysctl -w net.ipv4.tcp_syncookies=1
# زيادة SYN backlog
sudo sysctl -w net.ipv4.tcp_max_syn_backlog=65536
# تقليل محاولات إعادة SYN-ACK
sudo sysctl -w net.ipv4.tcp_synack_retries=2
# جعلها دائمة
cat >> /etc/sysctl.conf << 'EOF'
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_max_syn_backlog = 65536
net.ipv4.tcp_synack_retries = 2
net.core.somaxconn = 65536
EOF
sudo sysctl -p
UDP Flood
نظرًا لأن UDP بروتوكول بدون اتصال، يمكن إرسال كميات كبيرة من حزم UDP بعناوين IP مزيفة.
# مراقبة حركة UDP
sudo tcpdump -i eth0 udp -c 1000 -nn
# إغلاق منافذ UDP غير الضرورية
sudo iptables -A INPUT -p udp --dport 19 -j DROP # chargen
sudo iptables -A INPUT -p udp --dport 69 -j DROP # TFTP
sudo iptables -A INPUT -p udp --dport 111 -j DROP # portmap
# تحديد معدل UDP
sudo iptables -A INPUT -p udp -m limit --limit 100/s --limit-burst 200 -j ACCEPT
sudo iptables -A INPUT -p udp -j DROP
هجمات Amplification
يرسل المهاجم طلبات صغيرة لتوليد استجابات كبيرة، مستخدمًا IP الضحية كمصدر.
| البروتوكول | معامل التضخيم | المنفذ |
|---|---|---|
| DNS | 28-54x | 53 |
| NTP | 556x | 123 |
| Memcached | 51000x | 11211 |
# تعطيل NTP monlist
echo "disable monitor" >> /etc/ntp.conf
sudo systemctl restart ntpd
# ربط Memcached بـ localhost فقط
echo "-l 127.0.0.1" >> /etc/memcached.conf
sudo systemctl restart memcached
هجمات الطبقة 7
تستهدف هجمات الطبقة 7 بروتوكول HTTP/HTTPS لاستنفاد موارد تطبيق خادم الويب.
HTTP Flood
يُثقل خادم الويب بإرسال العديد من طلبات HTTP GET أو POST.
# مراقبة عدد طلبات HTTP (Nginx)
tail -f /var/log/nginx/access.log | awk '{print $1}' | sort | uniq -c | sort -rn | head -20
الحماية من HTTP Flood (Nginx)
limit_req_zone $binary_remote_addr zone=general:10m rate=10r/s;
limit_req_zone $binary_remote_addr zone=api:10m rate=5r/s;
limit_conn_zone $binary_remote_addr zone=addr:10m;
server {
limit_req zone=general burst=20 nodelay;
limit_conn addr 50;
location /api/ {
limit_req zone=api burst=10 nodelay;
}
}
Slowloris
يستنفد Slowloris مجموعة اتصالات الخادم عن طريق إبقاء اتصالات HTTP مفتوحة لأطول فترة ممكنة.
الحماية من Slowloris (Nginx)
http {
client_header_timeout 10s;
client_body_timeout 10s;
send_timeout 10s;
keepalive_timeout 15s;
limit_conn_zone $binary_remote_addr zone=conn:10m;
limit_conn conn 20;
}
استراتيجيات الحماية العامة
تحسين معلمات النواة
cat >> /etc/sysctl.conf << 'EOF'
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_max_syn_backlog = 65536
net.ipv4.tcp_synack_retries = 2
net.netfilter.nf_conntrack_max = 1000000
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.core.netdev_max_backlog = 65536
net.core.somaxconn = 65536
net.ipv4.icmp_echo_ignore_broadcasts = 1
net.ipv4.conf.all.rp_filter = 1
EOF
sudo sysctl -p
حماية DDoS باستخدام iptables
#!/bin/bash
# إسقاط الحزم غير الصالحة
iptables -A INPUT -m state --state INVALID -j DROP
# فحص SYN للاتصالات الجديدة
iptables -A INPUT -p tcp ! --syn -m state --state NEW -j DROP
# إسقاط حزم XMAS
iptables -A INPUT -p tcp --tcp-flags ALL ALL -j DROP
# إسقاط حزم NULL
iptables -A INPUT -p tcp --tcp-flags ALL NONE -j DROP
# حماية SYN flood
iptables -A INPUT -p tcp --syn -m limit --limit 100/s --limit-burst 200 -j ACCEPT
# حد الاتصالات لكل IP
iptables -A INPUT -p tcp --dport 80 -m connlimit --connlimit-above 50 -j DROP
iptables -A INPUT -p tcp --dport 443 -m connlimit --connlimit-above 50 -j DROP
الخلاصة
تتطلب هجمات DDoS من الطبقة 4 والطبقة 7 استراتيجيات مختلفة. يتم حظر هجمات الطبقة 4 على مستوى الشبكة (Path Panel, iptables)، بينما يتم تصفية هجمات الطبقة 7 على مستوى التطبيق (rate limiting, WAF, Cloudflare). يوفر نهج الحماية متعدد الطبقات الدفاع الأكثر فعالية.
مقالات ذات صلة
دليل استخدام لوحة Path Panel لإدارة الحماية من هجمات DDoS
دليل الاستخدام الكامل للوحة REXE Path Panel: لوحة المعلومات، عناوين IP الخاصة بي، حالة حماية TR، إدارة القواعد، سجل الهجمات، Abuse Filtered، تغيير كلمة المرور والوصول عبر API.
دليل اختيار فلاتر DDoS لخوادم الألعاب (Path.net)
دليل فلاتر ألعاب DDoS من Path.net: Arma/DayZ، Source Engine، CS:GO، CS2، FiveM، Minecraft، Rust والمزيد — كيفية تطبيق كل فلتر.
دليل فلاتر DDoS للتطبيقات والخدمات (Path.net)
فلاتر تطبيقات حماية DDoS من Path.net: OpenVPN، Wireguard، DTLS، RTP، QUIC، SIP، TCP Symmetric والمزيد.