العربية

كيف تعمل تقنيات الحماية من الهجمات الموزعة لحجب الخدمة (DDoS)؟

تعرف على الآليات التقنية لصد هجمات حجب الخدمة الموزعة، والفرق بين هجمات الطبقة الرابعة والسابعة، وكيفية تحليل سجلات الخادم لاكتشاف حركة المرور الضارة.

5 دقائق قراءة
كيف تعمل تقنيات الحماية من الهجمات الموزعة لحجب الخدمة (DDoS)؟

تُعد الحماية من هجمات حجب الخدمة الموزعة (DDoS) عملية تقنية معقدة تهدف إلى تصفية حركة المرور الضارة ومنعها من الوصول إلى موارد الخادم، مع الحفاظ على تدفق البيانات الشرعية للمستخدمين الحقيقيين. نحن في Hostna نشغّل خوادمنا في ألمانيا ضمن بيئة تقنية متقدمة تعتمد على أنظمة تصفية متعددة الطبقات تبدأ من مستوى الشبكة العالمي وصولاً إلى إعدادات نظام التشغيل داخل كل حاوية افتراضية. تعتمد الفكرة الأساسية على التمييز بين حزم البيانات (Packets) التي تتبع بروتوكولات الاتصال القياسية وبين تلك التي يتم توليدها بشكل آلي لإغراق عرض النطاق الترددي أو استهلاك ذاكرة الخادم.

فهم آليات هجوم حجب الخدمة الموزع (DDoS)

تنقسم هجمات حجب الخدمة إلى مستويات مختلفة بناءً على نموذج OSI Model. الهجمات الحجمية (Volumetric Attacks) تستهدف طبقة الشبكة (Layer 3) وطبقة النقل (Layer 4)، حيث يتم إرسال كميات هائلة من البيانات باستخدام بروتوكولات مثل UDP أو ICMP لإغراق سعة الاتصال. في المقابل، تستهدف هجمات طبقة التطبيقات (Layer 7) خادم الويب مباشرة، مثل Apache أو Nginx، عن طريق إرسال طلبات HTTP GET أو POST تبدو شرعية ولكنها تهدف إلى استنزاف موارد المعالج وذاكرة الوصول العشوائي.

عندما يتعرض خادم افتراضي لهجوم من نوع SYN Flood، يقوم المهاجم بإرسال طلبات اتصال متكررة دون إكمال المصافحة الثلاثية (Three-way Handshake)، مما يترك منافذ الاتصال في حالة انتظار (SYN_RECV) ويؤدي في النهاية إلى امتلاء جدول التوصيلات ومنع المستخدمين الجدد من الوصول.

الفرق بين هجمات الطبقة الرابعة والسابعة

تتطلب هجمات الطبقة الرابعة حماية على مستوى البنية التحتية للشبكة قبل وصول البيانات إلى الخادم. يتم ذلك عبر مراكز التصفية (Scrubbing Centers) التي تقوم بتحليل حزم البيانات في غضون ملّي ثانية وتطبيق خوارزميات مثل TCP Syncookies. تعتمد منصة Hostna على أنظمة تصفية في ألمانيا تقوم بإسقاط الحزم المشبوهة التي لا تتوافق مع معايير بروتوكول TCP/IP قبل أن تستهلك أي جزء من موارد المعالج المخصصة لك.

أما هجمات الطبقة السابعة، فهي أكثر دقة وتتطلب إعدادات خاصة داخل لوحة التحكم Plesk. على سبيل المثال، إذا كان موقعك يتعرض لضغط كبير، فقد تجد أن عمليات php-fpm قد استهلكت كامل القيمة المحددة في pm.max_children. إذا كانت هذه القيمة محددة بـ 50 مثلاً، فإن الطلب رقم 51 سيبقى في قائمة الانتظار حتى تنتهي إحدى العمليات الحالية، مما يرفع من قيمة TTFB (زمن الوصول لأول بايت) ويجعل الموقع يبدو متوقفاً.

كيف يتم التعرف على الهجوم من خلال المقاييس التقنية؟

يمكن لمدير النظام التعرف على وجود هجوم من خلال مراقبة سجلات الوصول (Access Logs) ومعدل استهلاك الموارد. الجدول التالي يوضح بعض العلامات التحذيرية:

المقياس الحالة الطبيعية علامة الهجوم
استهلاك vCPU متذبذب حسب الزوار ارتفاع مفاجئ ومستمر إلى 100%
حالات SYN_RECV أقل من 10 مئات أو آلاف الاتصالات المعلقة
كود الحالة HTTP 429 نادر الظهور ظهور متكرر لطلبات تجاوزت الحد
استهلاك Bandwidth متوافق مع حجم المحتوى ارتفاع هائل لا يبرره عدد الزوار

من المهم التمييز بين الزيادة الطبيعية في حركة المرور، مثل حملات التسويق في دول الخليج خلال المناسبات، وبين الهجوم المنسق. في الزيادة الطبيعية، تظل طلبات DNS وتوزيع الزوار جغرافياً منطقياً، بينما في الهجمات الموزعة، قد ترى آلاف العناوين الفريدة (IPs) تطلب رابطاً واحداً في نفس الثانية.

الأوامر البرمجية لتحليل حركة المرور المشبوهة

إذا كنت تدير سيرفر ألماني عبر بروتوكول SSH، يمكنك استخدام بعض الأوامر لتحليل الموقف. الأمر التالي يساعدك في معرفة عدد الاتصالات النشطة لكل عنوان IP متصل بخادمك:

netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n

إذا لاحظت وجود عنوان IP واحد يملك أكثر من 100 اتصال متزامن، فقد يكون هذا مؤشراً على محاولة هجوم. كما يمكنك فحص حالة اتصالات TCP للتأكد من عدم وجود هجوم SYN flood باستخدام:

netstat -n -p | grep SYN_RECV | wc -l

في حالات هجمات التطبيقات، يُنصح بمراجعة سجلات Nginx مباشرة. يمكنك استخدام الأمر التالي لمراقبة الطلبات في الوقت الفعلي وتحديد الروابط الأكثر استهدافاً:

tail -f /var/www/vhosts/example.com/logs/access_log | awk '{print $7}' | sort | uniq -c | sort -rn | head -n 20

إجراءات الحماية على مستوى الخادم للموزعين

بالنسبة لمن يدير سيرفر مخصص أو حساب موزع، فإن حماية المواقع المستضافة تتطلب تفعيل جدار حماية قوي. توفر لوحة التحكم Plesk أدوات مثل Fail2Ban التي تقوم بحظر العناوين التي تظهر سلوكاً عدائياً تلقائياً. يُنصح أيضاً بتعديل إعدادات توثيق nginx الرسمي الخاص بتحديد معدل الطلبات (Rate Limiting) لمنع استنزاف موارد PHP.

عند إعداد خوادم افتراضية للسعودية أو خدمات VPS في الإمارات، يجب مراعاة أن حركة المرور تمر عبر مسارات دولية. يبلغ زمن الاستجابة (Latency) من ألمانيا إلى الرياض أو دبي تقريباً 100–130 ملّي ثانية. أي تأخير إضافي كبير قد يكون ناتجاً عن عمليات الفحص المعمقة للحزم (Deep Packet Inspection) في حال وجود هجوم نشط يتم صده حالياً.

الاعتبارات القانونية والتقنية في منطقة الخليج

عند استضافة البيانات خارج المنطقة، مثل خوادمنا في ألمانيا، يجب على أصحاب الأعمال في الخليج مراعاة قوانين حماية البيانات الشخصية (PDPL). تتيح هذه القوانين استضافة البيانات في الخارج بشرط توفر معايير حماية كافية، وهو ما توفره ألمانيا بموجب قوانين GDPR. نحن نوفر اتفاقية معالجة البيانات (DPA) داخل منطقة العميل لتسهيل الامتثال القانوني.

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

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

كُتبت هذه المقالة بمساعدة الذكاء الاصطناعي ضمن خط البحث الخاص بـ Hostna ونُشرت دون مراجعة فردية. أخبرنا إن وجدت خطأ فيها.

أسئلة شائعة3
u0643u064au0641 u0623u0639u0631u0641 u0623u0646 u0628u0637u0621 u0627u0644u0645u0648u0642u0639 u0646u0627u062au062c u0639u0646 u0647u062cu0648u0645 DDoS u0648u0644u064au0633 u0645u0634u0643u0644u0629 u0628u0631u0645u062cu064au0629u061f

u064au0645u0643u0646u0643 u0627u0644u062au062du0642u0642 u0645u0646 u0630u0644u0643 u0639u0628u0631 u0645u0631u0627u0642u0628u0629 u0639u062fu062f u0627u0644u0627u062au0635u0627u0644u0627u062a u0627u0644u0645u062au0632u0627u0645u0646u0629 u0628u0627u0633u062au062eu062fu0627u0645 u0623u0645u0631 netstat. u0625u0630u0627 u0648u062cu062fu062a u0622u0644u0627u0641 u0627u0644u0637u0644u0628u0627u062a u0645u0646 u0639u0646u0627u0648u064au0646 IP u0645u062eu062au0644u0641u0629 u062au0633u062au0647u062fu0641 u0631u0627u0628u0637u0627u064b u0645u0639u064au0646u0627u064bu060c u0641u0647u0630u0627 u0647u062cu0648u0645 DDoS. u0623u0645u0627 u0625u0630u0627 u0643u0627u0646 u0627u0644u0628u0637u0621 u0639u0627u0645u0627u064b u0645u0639 u0639u062fu062f u0632u0648u0627u0631 u0637u0628u064au0639u064au060c u0641u063au0627u0644u0628u0627u064b u0645u0627 u064au0643u0648u0646 u0627u0644u0633u0628u0628 u0647u0648 u0627u0633u062au0647u0644u0627u0643 u0627u0644u0630u0627u0643u0631u0629 u0645u0646 u0642u0628u0644 MySQL u0623u0648 u0648u0635u0648u0644 php-fpm u0644u0644u062du062f u0627u0644u0623u0642u0635u0649.

u0647u0644 u062au0633u0628u0628 u0623u0646u0638u0645u0629 u0627u0644u062du0645u0627u064au0629 u0645u0646 DDoS u062au0623u062eu064au0631u0627u064b u0641u064a u0633u0631u0639u0629 u062au0635u0641u062d u0627u0644u0645u0648u0642u0639u061f

u0641u064a u0627u0644u062du0627u0644u0629 u0627u0644u0637u0628u064au0639u064au0629u060c u064au0643u0648u0646 u0627u0644u062au0623u062bu064au0631 u063au064au0631 u0645u0644u062du0648u0638 u0648u064au0642u062fu0631 u0628u0645u0644u0651u064a u062bu0627u0646u064au0629 u0628u0633u064au0637u0629 u0646u0627u062au062cu0629 u0639u0646 u0641u062du0635 u0627u0644u062du0632u0645. u0644u0643u0646 u0623u062bu0646u0627u0621 u0648u0642u0648u0639 u0647u062cu0648u0645 u0646u0634u0637u060c u0642u062f u062au0644u0627u062du0638 u0627u0631u062au0641u0627u0639u0627u064b u0637u0641u064au0641u0627u064b u0641u064a u0632u0645u0646 u0627u0644u0627u0633u062au062cu0627u0628u0629 u0628u0633u0628u0628 u062au062du0648u064au0644 u062du0631u0643u0629 u0627u0644u0645u0631u0648u0631 u0639u0628u0631 u0645u0631u0627u0643u0632 u0627u0644u062au0635u0641u064au0629 u0627u0644u0645u062au062eu0635u0635u0629 u0641u064a u0623u0644u0645u0627u0646u064au0627 u0644u0644u062au0623u0643u062f u0645u0646 u0639u0632u0644 u0627u0644u0628u064au0627u0646u0627u062a u0627u0644u0636u0627u0631u0629 u0642u0628u0644 u0648u0635u0648u0644u0647u0627 u0625u0644u0649 u062eu0627u062fu0645u0643.

u0645u0627 u0647u0648 u0627u0644u0625u062cu0631u0627u0621 u0627u0644u0623u0648u0644 u0627u0644u0630u064a u064au062cu0628 u0627u062au062eu0627u0630u0647 u0639u0646u062f u0627u0644u062au0639u0631u0636 u0644u0647u062cu0648u0645 u062du062cu0628 u062eu062fu0645u0629u061f

u0623u0648u0644u0627u064bu060c u0642u0645 u0628u062au0641u0639u064au0644 Rate Limiting u0641u064a u0644u0648u062du0629 u0627u0644u062au062du0643u0645 u0644u0644u062du062f u0645u0646 u0639u062fu062f u0627u0644u0637u0644u0628u0627u062a u0644u0643u0644 u0639u0646u0648u0627u0646 IP. u062bu0627u0646u064au0627u064bu060c u062au062du0642u0642 u0645u0646 u0633u062cu0644u0627u062a u0627u0644u0648u0635u0648u0644 u0644u062au062du062fu064au062f u0627u0644u0623u0646u0645u0627u0637 u0627u0644u0645u0634u062au0631u0643u0629 u0644u0644u0647u062cu0648u0645. u062bu0627u0644u062bu0627u064bu060c u062au0648u0627u0635u0644 u0645u0639 u0627u0644u062fu0639u0645 u0627u0644u0641u0646u064a u0644u062au0632u0648u064au062fu0647u0645 u0628u0627u0644u0639u0646u0627u0648u064au0646 u0627u0644u0645u0633u062au0647u062fu0641u0629 u0644u064au062au0645u0643u0646u0648u0627 u0645u0646 u0636u0628u0637 u062cu062fu0627u0631 u0627u0644u062du0645u0627u064au0629 u0639u0644u0649 u0645u0633u062au0648u0649 u0627u0644u0634u0628u0643u0629 u0627u0644u0639u0631u064au0636u0629.