انتقل إلى المحتوى الرئيسي
العودة إلى الفئة

خطة الاستجابة الطارئة لهجمات DDoS

دليل شامل لاكتشاف هجمات DDoS وخطوات الاستجابة الطارئة وتحليل حركة المرور والتواصل مع مزود الخدمة وتحليل ما بعد الحادث واستراتيجيات الوقاية.

وقت القراءة: 14 دقيقة حماية DDoS والأمان
ddosاستجابة-طارئةincident-responseتحليل-حركة-المرورأمانpost-mortem

جدول المحتويات

خطة الاستجابة الطارئة لهجمات DDoS

الاستجابة الصحيحة والسريعة أثناء هجوم DDoS أمر بالغ الأهمية لتقليل انقطاع الخدمة. يغطي هذا الدليل عملية الاستجابة الطارئة بالكامل خطوة بخطوة، من اكتشاف الهجوم إلى تحليل ما بعد الحادث.

لا تصب بالذعر أثناء هجوم DDoS. اتبع الخطوات في هذا الدليل بالتسلسل. فريق دعم REXE متاح على مدار الساعة.

اكتشاف الهجوم

الاكتشاف المبكر لهجوم DDoS هو الخطوة الأولى للاستجابة الفعالة.

الأعراض

العرضنوع الهجوم المحتمل
الموقع بطيء أو غير قابل للوصولLayer 7 HTTP flood
لا يمكن إنشاء اتصال SSHLayer 4 SYN/TCP flood
استخدام عالٍ لعرض النطاقهجوم حجمي
CPU/RAM طبيعي لكن الموقع بطيءهجوم مستوى الشبكة
CPU 100% لكن حركة المرور طبيعيةهجوم طبقة التطبيق

أوامر التشخيص السريع

hljs bash
# 1. فحص إمكانية الوصول للخادم
ping -c 5 SERVER_IP

# 2. حالة اتصالات الشبكة
ss -s

# 3. عدد الاتصالات النشطة
ss -ant | wc -l

# 4. أكثر عناوين IP اتصالاً
ss -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -rn | head -20

# 5. اتصالات في حالة SYN-RECV
ss -ant state syn-recv | wc -l

# 6. استخدام عرض النطاق
ifstat -i eth0 1 5

# 7. موارد النظام
top -bn1 | head -5
free -h

تحليل حركة المرور

hljs bash
# مراقبة حركة المرور في الوقت الفعلي
sudo iftop -i eth0 -n

# تحليل عناوين IP المصدر
sudo tcpdump -i eth0 -c 5000 -nn 2>/dev/null | awk '{print $3}' | cut -d. -f1-4 | sort | uniq -c | sort -rn | head -20

# التقاط الحزم للتحليل المفصل
sudo tcpdump -i eth0 -c 50000 -w /tmp/ddos-capture.pcap

خطوات الاستجابة الطارئة

الخطوة 1: تقييم الوضع (0-5 دقائق)

hljs bash
# تحديد نوع الهجوم
ss -ant state syn-recv | wc -l
ss -ant state established | wc -l
sudo tcpdump -i eth0 udp -c 1000 -nn -q 2>/dev/null | wc -l
tail -1000 /var/log/nginx/access.log | awk '{print $1}' | sort | uniq -c | sort -rn | head -10

الخطوة 2: الحظر الطارئ (5-15 دقيقة)

hljs bash
#!/bin/bash
# emergency-block.sh
ATTACKERS=$(ss -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -rn | head -50 | awk '$1 > 100 {print $2}')

for ip in $ATTACKERS; do
    iptables -I INPUT -s $ip -j DROP
    echo "تم الحظر: $ip"
done

ipset create blacklist hash:net
for ip in $ATTACKERS; do
    ipset add blacklist $ip
done
iptables -I INPUT -m set --match-set blacklist src -j DROP

الخطوة 3: ضبط معلمات النواة (5 دقائق)

hljs bash
sysctl -w net.ipv4.tcp_syncookies=1
sysctl -w net.ipv4.tcp_max_syn_backlog=65536
sysctl -w net.ipv4.tcp_synack_retries=1
sysctl -w net.netfilter.nf_conntrack_max=2000000
sysctl -w net.core.somaxconn=65536

الخطوة 4: تكوين خادم الويب (10 دقائق)

hljs nginx
# تكوين Nginx الطارئ
limit_req_zone $binary_remote_addr zone=emergency:20m rate=5r/s;
limit_conn_zone $binary_remote_addr zone=emergency_conn:20m;

server {
    limit_req zone=emergency burst=10 nodelay;
    limit_conn emergency_conn 20;
    client_max_body_size 1m;
    client_body_timeout 5s;
    client_header_timeout 5s;
}

الخطوة 5: تفعيل وضع Under Attack في Cloudflare (دقيقتان)

hljs bash
curl -X PATCH "https://api.cloudflare.com/client/v4/zones/ZONE_ID/settings/security_level" \
  -H "Authorization: Bearer API_TOKEN" \
  -H "Content-Type: application/json" \
  --data '{"value":"under_attack"}'

الخطوة 6: قواعد Path Panel (5 دقائق)

من خلال Path Panel:

  1. تصفية مصادر الهجوم
  2. إضافة قواعد تحديد المعدل
  3. تطبيق الحظر الجغرافي عند الحاجة
  4. تفعيل مرشحات البروتوكول

التواصل مع مزود الخدمة

نموذج طلب دعم REXE

الموضوع: هجوم DDoS - مطلوب استجابة طارئة

IP الخادم: [عنوان_IP]
بداية الهجوم: [التاريخ/الوقت]
نوع الهجوم: [SYN Flood / UDP Flood / HTTP Flood / غير معروف]
التأثير: [انقطاع كامل / تباطؤ جزئي]

الإجراءات المتخذة:
- تم تطبيق قواعد iptables
- تم تفعيل وضع Under Attack في Cloudflare
- تم ضبط معلمات النواة

إجراءات ما بعد الهجوم

تحليل ما بعد الحادث

hljs bash
tcpdump -r /tmp/ddos-capture.pcap -nn | head -100
tcpdump -r /tmp/ddos-capture.pcap -nn | awk '{print $3}' | cut -d. -f1-4 | sort | uniq -c | sort -rn | head -20

إزالة القواعد الطارئة

hljs bash
# إعادة Cloudflare إلى الوضع العادي
curl -X PATCH "https://api.cloudflare.com/client/v4/zones/ZONE_ID/settings/security_level" \
  -H "Authorization: Bearer API_TOKEN" \
  -H "Content-Type: application/json" \
  --data '{"value":"medium"}'

# تنظيف قواعد iptables الطارئة
iptables -D INPUT -m set --match-set blacklist src -j DROP
ipset destroy blacklist

# إزالة تكوين Nginx الطارئ
rm /etc/nginx/conf.d/emergency.conf
sudo nginx -t && sudo systemctl reload nginx

استراتيجيات الوقاية

قائمة التحقق من الحماية الاستباقية

  1. Path Panel — تم تكوين قواعد التصفية
  2. Cloudflare — تم إعداد التكامل
  3. Rate limiting — تم تطبيق تحديد المعدل
  4. معلمات النواة — تم التحسين
  5. Fail2Ban — تم التثبيت والتكوين
  6. المراقبة — تم تثبيت الأدوات
  7. سكربتات الاستجابة الطارئة — تم التحضير

سكربت الكشف التلقائي

hljs bash
#!/bin/bash
THRESHOLD=500
CONNECTIONS=$(ss -ant | wc -l)

if [ $CONNECTIONS -gt $THRESHOLD ]; then
    echo "تحذير: عدد اتصالات مرتفع: $CONNECTIONS" | \
        mail -s "إنذار DDoS - $(hostname)" admin@example.com
    /usr/local/bin/emergency-block.sh
    logger "إنذار DDoS: تم اكتشاف $CONNECTIONS اتصال"
fi

اختبر خطة الاستجابة الطارئة بانتظام. يجب أن تكون الخطة جاهزة عند حدوث هجوم.

الخلاصة

الاستعداد لهجمات DDoS لا يقل أهمية عن الاستجابة السريعة والفعالة أثناء الهجوم. خطط الخطوات مسبقًا وحضّر السكربتات وأجرِ تدريبات منتظمة.