كيفية حماية خادم VPS الخاص بك من هجمات DDoS: دليل عملي
دليل شامل حول حماية خادم VPS الخاص بك من هجمات DDoS باستخدام جدران الحماية وتحديد المعدل وطرق أخرى مثبتة.

يمكن لهجمات DDoS (رفض الخدمة الموزعة) أن تجعل خادمك غير متصل بالإنترنت في دقائق، مما يؤدي إلى خسارة الإيرادات وعدم رضا العملاء وتضرر السمعة. في عام 2026، أصبحت مثل هذه الهجمات أكثر تطوراً وسهولة في الوصول إليها. لحسن الحظ، تطورت طرق الحماية الحديثة أيضاً. سيوضح لك هذا الدليل كيفية حماية Hiddence VPS الخاص بك من أكثر أنواع هجمات DDoS شيوعًا.
ما هو هجوم DDoS؟
يحدث هجوم DDoS عندما ترسل أجهزة كمبيوتر متعددة (botnet) طلبات في وقت واحد إلى خادمك، مما يطغى على موارده ويجعله غير متاح للمستخدمين الشرعيين.
الأنواع الرئيسية لهجمات DDoS
- الهجمات الحجمية (L3/L4): UDP flood, ICMP, SYN flood — إغراق عرض النطاق الترددي للشبكة
- هجمات طبقة التطبيق (L7): HTTP flood, Slowloris — استهداف طبقة التطبيق
- هجمات البروتوكول: استغلال الثغرات في بروتوكولات الشبكة
حماية Hiddence المدمجة
تتضمن جميع خوادم Hiddence VPS حماية DDoS أساسية من الطبقة 3-4 (مستوى الشبكة). يقوم هذا بتصفية معظم الهجمات الحجمية تلقائيًا. ومع ذلك، تتطلب هجمات الطبقة 7 (التطبيق) تكوينًا إضافيًا.
الخطوة 1: إعداد جدار الحماية
خط الدفاع الأول هو التكوين الصحيح لجدار الحماية. UFW (Uncomplicated Firewall) هو أداة بسيطة وفعالة لـ Ubuntu/Debian.
# تثبيت UFW
sudo apt update && sudo apt install ufw -y
# السماح بـ SSH (هام! قم بذلك قبل تمكين UFW)
sudo ufw allow 22/tcp
# السماح بـ HTTP و HTTPS
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
# تمكين UFW
sudo ufw enable
# التحقق من الحالة
sudo ufw status verbose
# قواعد حماية متقدمة:
# تقييد اتصالات SSH (الحماية من القوة الغاشمة)
sudo ufw limit 22/tcp
# حظر فيضانات ICMP ping
sudo nano /etc/ufw/before.rules
# أضف بعد *filter:
-A ufw-before-input -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
-A ufw-before-input -p icmp --icmp-type echo-request -j DROP
# الحماية ضد SYN flood
sudo nano /etc/sysctl.conf
# أضف:
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_max_syn_backlog = 2048
net.ipv4.tcp_synack_retries = 2
net.ipv4.tcp_syn_retries = 5
# تطبيق التغييرات
sudo sysctl -pالخطوة 2: تثبيت Fail2Ban
يقوم Fail2Ban تلقائيًا بحظر عناوين IP التي تظهر نشاطًا مشبوهًا (محاولات تسجيل دخول فاشلة متعددة، مسح المنافذ).
# تثبيت
sudo apt install fail2ban -y
sudo systemctl enable fail2ban
sudo systemctl start fail2ban
# تكوين لحماية SSH و HTTP
# إنشاء تكوين محلي
sudo nano /etc/fail2ban/jail.local
# أضف:
[DEFAULT]
bantime = 3600
findtime = 600
maxretry = 5
banaction = ufw
[sshd]
enabled = true
port = 22
logpath = /var/log/auth.log
[nginx-http-auth]
enabled = true
filter = nginx-http-auth
port = http,https
logpath = /var/log/nginx/error.log
[nginx-limit-req]
enabled = true
filter = nginx-limit-req
port = http,https
logpath = /var/log/nginx/error.log
# إعادة تشغيل Fail2Ban
sudo systemctl restart fail2ban
# التحقق من الحالة
sudo fail2ban-client statusالخطوة 3: حماية Nginx
إذا كنت تستخدم Nginx، فقم بتكوين تحديد المعدل (rate limiting) للحماية من هجمات فيضان HTTP.
sudo nano /etc/nginx/nginx.conf
# أضف إلى كتلة http:
http {
# حد الطلب: 10 طلبات في الثانية لكل IP
limit_req_zone $binary_remote_addr zone=one:10m rate=10r/s;
# حد الاتصال
limit_conn_zone $binary_remote_addr zone=addr:10m;
# حماية Slowloris
client_body_timeout 10s;
client_header_timeout 10s;
keepalive_timeout 5s 5s;
send_timeout 10s;
# بقية التكوين...
}
# في كتلة server أضف:
server {
location / {
# تطبيق حد الطلب
limit_req zone=one burst=20 nodelay;
# حد الاتصال: بحد أقصى 10 لكل IP
limit_conn addr 10;
# التكوين الخاص بك...
}
}
# اختبار التكوين وإعادة التحميل
sudo nginx -t
sudo systemctl reload nginxالخطوة 4: استخدام CDN
للحصول على أقصى قدر من الحماية، استخدم خدمة CDN مثل Cloudflare. تعمل CDN كوكيل، وتخفي عنوان IP الحقيقي لخادمك وتمتص معظم هجمات DDoS. الفوائد: إخفاء IP الحقيقي، تصفية حركة المرور الضارة تلقائيًا، توزيع الحمل، SSL/TLS مجاني، WAF للحماية من L7.
- سجل في cloudflare.com (تتوفر خطة مجانية)
- أضف نطاقك وغير سجلات NS عند المسجل الخاص بك
- قم بتمكين وضع 'Proxy' (السحابة البرتقالية) لسجلات DNS
- اضبط وضع SSL على 'Full (strict)' في قسم SSL/TLS
- قم بتمكين 'DDoS Protection' و 'Bot Fight Mode' في إعدادات الأمان
الخطوة 5: المراقبة
المراقبة المنتظمة تساعد في اكتشاف الهجمات مبكرًا.
# مراقبة الاتصالات النشطة
watch -n 1 'ss -s'
# عرض أهم عناوين IP حسب عدد الاتصالات
netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n
# عرض السجلات في الوقت الفعلي
sudo tail -f /var/log/nginx/access.log
sudo journalctl -u nginx -f
# التحقق من عناوين IP المحظورة في Fail2Ban
sudo fail2ban-client status sshdتدابير الطوارئ
إذا كان الهجوم جاريًا بالفعل، فاتخذ التدابير التالية:
- تحديد المصدر: استخدم 'netstat' أو السجلات لتحديد عناوين IP المهاجمة
- حظر مؤقت: sudo ufw insert 1 deny from ATTACKING_IP
- حظر شبكات فرعية كاملة: sudo ufw deny from 123.45.0.0/16
- تقييد حد المعدل: خفض حدود Nginx مؤقتًا إلى 1-5 req/s
- اتصل بالدعم: تواصل مع دعم Hiddence لتفعيل حماية متقدمة
- تمكين 'Under Attack Mode' في Cloudflare (إذا كنت تستخدمه)
أفضل الممارسات
- لا تنشر عنوان IP الحقيقي لخادمك أبدًا إذا كنت تستخدم CDN
- قم بتحديث النظام بانتظام: sudo apt update && sudo apt upgrade
- استخدم مفاتيح SSH بدلاً من كلمات المرور للوصول إلى الخادم
- قم بتغيير منفذ SSH الافتراضي (22) إلى منفذ غير قياسي
- قم بإعداد نسخ احتياطية تلقائية للاسترداد السريع
- استخدم عناوين IP منفصلة للخدمات الحرجة
- تمكين التسجيل والتحقق بانتظام من السجلات بحثًا عن نشاط مشبوه
- فكر في استخدام الحجب الجغرافي إذا كانت خدمتك ليست عالمية