طرق الميناء

في مجال شبكات الحاسوب ، يُعدّ "قرع المنافذ" أسلوبًا لفتح المنافذ الخارجية على جدار الحماية عن طريق إنشاء محاولة اتصال على مجموعة من المنافذ المغلقة المحددة مسبقًا. بمجرد استلام تسلسل صحيح لمحاولات الاتصال، يتم تعديل قواعد جدار الحماية ديناميكيًا للسماح للجهاز المضيف الذي أرسل محاولات الاتصال بالاتصال عبر منفذ (منافذ) محددة. يوجد نوع آخر يُسمى " تفويض الحزمة الواحدة " (SPA)، حيث لا يتطلب الأمر سوى "قرعة" واحدة، تتكون من حزمة مشفرة . [ 1 ] [ 2 ] [ 3 ] [ 4 ]

الغرض الأساسي من تقنية طرق المنافذ هو منع المهاجم من فحص النظام بحثًا عن الخدمات التي يحتمل استغلالها عن طريق إجراء فحص للمنافذ ، لأنه ما لم يرسل المهاجم تسلسل الطرق الصحيح، ستظهر المنافذ المحمية مغلقة.

ملخص

تُنفَّذ عملية "طرق المنافذ" عادةً عن طريق تهيئة برنامج خفي لمراقبة ملف سجل جدار الحماية بحثًا عن محاولات الاتصال بنقاط محددة، ثم تعديل إعدادات جدار الحماية وفقًا لذلك. [ 5 ] ويمكن أيضًا تنفيذها على مستوى نواة النظام (باستخدام مُرشِّح حزم على مستوى النواة مثل iptables [ 6 ] ) أو بواسطة عملية في مساحة المستخدم تفحص الحزم على مستوى أعلى (باستخدام واجهات التقاط الحزم مثل pcap )، مما يسمح باستخدام منافذ TCP "المفتوحة" بالفعل ضمن تسلسل الطرق.

تُشبه عملية "طرق" المنفذ مصافحة سرية، وقد تتألف من أي عدد من حزم بروتوكولات TCP أو UDP أو حتى ICMP وغيرها، تُرسل إلى منافذ مرقمة على الجهاز المستهدف. وتتراوح درجة تعقيد هذه العملية بين قائمة بسيطة مُرتبة (مثل: منفذ TCP 1000، منفذ TCP 2000، منفذ UDP 3000) إلى تجزئة مُشفرة مُعقدة تعتمد على الوقت وعنوان IP المصدر وعوامل أخرى.

يستمع برنامج portknock الموجود على جهاز جدار الحماية إلى الحزم على منافذ محددة (إما عبر سجل جدار الحماية أو عن طريق التقاط الحزم). يحتاج المستخدم إلى أداة إضافية، قد تكون بسيطة مثل netcat أو برنامج ping مُعدّل، أو معقدة مثل مُولّد تجزئة كامل، ويستخدمها قبل محاولة الاتصال بالجهاز بالطريقة المعتادة.

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

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

فوائد

يتطلب اختراق حماية "قرع المنافذ" هجمات تخمين كلمات المرور واسعة النطاق لاكتشاف حتى أبسط التسلسلات. يتطلب هجوم تخمين كلمات المرور المجهول ضد تسلسل TCP ثلاثي (مثل المنافذ 1000، 2000، 3000) من المهاجم اختبار كل تركيبة من ثلاثة منافذ في النطاق من 1 إلى 65535، ثم فحص كل منفذ بين الهجمات للكشف عن أي تغييرات في الوصول إلى المنافذ على النظام المستهدف. ولأن "قرع المنافذ" يعتمد على الحالة، فلن يُفتح المنفذ المطلوب حتى يتم استلام تسلسل أرقام المنافذ الثلاثة الصحيح بالترتيب الصحيح ودون استلام أي حزم بيانات أخرى من المصدر. يتطلب السيناريو المتوسط ​​حوالي 141 تريليون (65535 ½  ) حزمة بيانات لتحديد رقم المنفذ الثلاثي الصحيح. هذه التقنية، بالإضافة إلى تقييد محاولات "قرع المنافذ"، والتسلسلات الأطول أو الأكثر تعقيدًا، والتجزئات المشفرة، تجعل محاولات الوصول الناجحة إلى المنافذ بالغة الصعوبة.

بمجرد إدخال تسلسل طلب فتح المنفذ بنجاح ، لا تفتح قواعد جدار الحماية عادةً المنفذ إلا لعنوان IP الذي أدخل الطلب الصحيح، مما يُضيف ديناميكيةً إلى سلوك جدار الحماية. فبدلاً من استخدام قائمة عناوين IP ثابتة مُعدة مسبقًا على جدار الحماية، يُمكن لأي مستخدم مُصرَّح له، من أي مكان في العالم، فتح أي منفذ مطلوب دون مساعدة من مسؤول الخادم. كما يُمكن تهيئة النظام للسماح للمستخدم المُصادق عليه بإغلاق المنفذ يدويًا عند انتهاء الجلسة، أو إغلاقه تلقائيًا باستخدام آلية مهلة زمنية. ولإنشاء جلسة جديدة، يُطلب من المستخدم البعيد إعادة المصادقة باستخدام التسلسل الصحيح.

يسمح سلوك "قرع المنافذ" المعتمد على الحالة لعدة مستخدمين من عناوين IP مختلفة بالتواجد في مستويات متفاوتة من مصادقة "قرع المنافذ" في آنٍ واحد، مما يسمح لمستخدم شرعي يمتلك تسلسل "قرع المنافذ" الصحيح بالمرور عبر جدار الحماية بينما يكون جدار الحماية نفسه في خضم هجوم على المنافذ من عناوين IP متعددة (بافتراض عدم استهلاك عرض النطاق الترددي لجدار الحماية بالكامل). من أي عنوان IP مهاجم آخر، ستظل منافذ جدار الحماية تبدو مغلقة.

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

يُستخدم أسلوب "قرع المنافذ" كجزء من استراتيجية الدفاع المتعدد الطبقات. فحتى لو نجح المهاجم في الوصول إلى المنفذ، تظل آليات أمان المنافذ الأخرى سارية، إلى جانب آليات مصادقة الخدمة المخصصة على المنافذ المفتوحة.

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

يُجنّب نظام طرق المنافذ المُطبّق على الخدمات التي تتطلب مصادقة بكلمة مرور، مثل SSH، مشكلة هجمات التخمين العشوائي لكلمات المرور على عمليات تسجيل الدخول. ففي حالة SSH، لا يتم تفعيل خادم SSH إلا بعد تلقي طلب طرق المنفذ الصحيح، ويتم تصفية الهجوم بواسطة بروتوكول TCP/IP بدلاً من استخدام موارد مصادقة SSH. وبالتالي، يظل الخادم غير قابل للوصول للمهاجم حتى يتم تقديم طلب طرق المنفذ الصحيح.

الاعتبارات الأمنية

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

باستخدام استراتيجيات مثل الطول الديناميكي ومجموعة الأطوال، يمكن تقليل احتمالية اختراق تسلسلات الطرق إلى ما يقارب الصفر. [ 7 ]

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

ينبغي النظر إلى تقنية "Port knocking" كجزء من استراتيجية شاملة للدفاع عن الشبكة توفر الحماية ضد الهجمات العشوائية والمستهدفة، وليس كحل مستقل كامل.

تجاهل متخصصو أمن الشبكات في الماضي تقنية "قرع المنافذ" كحلٍّ رئيسي، إذ اعتمدت التطبيقات المبكرة لهذه التقنية كلياً على توفير مجموعات المنافذ الصحيحة للوصول إلى الشبكة. أما أنظمة "قرع المنافذ" الحديثة، فتتضمن ميزات مثل التشفير الآمن، والقوائم السوداء والبيضاء ، والاستجابات الديناميكية للهجمات ، لتعزيز قدرات النظام. وتُعدّ تقنية "قرع المنافذ" وسيلة فعّالة لتحقيق أقصى استفادة من موارد الخوادم على الشبكات المتصلة بالإنترنت.

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

العيوب

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

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

قد يُشكّل نقر المنافذ مشكلةً في الشبكات ذات زمن الاستجابة العالي. يعتمد نقر المنافذ على وصول الحزم بالتسلسل الصحيح للوصول إلى وظائفه المُصممة. من جهة أخرى، صُمم بروتوكول TCP/IP ليعمل عن طريق تجميع الحزم غير المُرتبة في رسالة متماسكة. في هذه الحالات، الحل الوحيد هو أن يُعيد العميل إرسال التسلسل الصحيح من الحزم بشكل دوري حتى يُقرّ الخادم باستلامه.

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

مراجع

  1. مايكل راش (2004) دمج تقنية طرق المنافذ وبصمة نظام التشغيل السلبية مع fwknop
  2. مايكل راش (2006). ترخيص الحزمة الواحدة باستخدام Fwknop .
  3. مايكل راش (2007). حماية خوادم SSH باستخدام ترخيص الحزمة الواحدة .
  4. موكسي مارلينسبايك (2009). استخدام تقنية نوك نوك لتفويض الحزمة الواحدة .
  5. "PortKnocking - Community Help Wiki" . help.ubuntu.com . تم الاطلاع عليه بتاريخ 2023-07-08 .
  6. جاستن إلينجوود (17 يناير 2014). "كيفية إعداد خاصية طرق المنافذ باستخدام Iptables فقط على خادم افتراضي خاص بنظام أوبونتو" . digitalocean.com . تاريخ الاسترجاع: 24 أبريل 2016 .
  7. شيراز، محمد؛ برومند، لاله؛ غاني، عبد الله؛ خان، سليمان (29-10-2019). "إطار عمل مُحسَّن لمصادقة طرق المنافذ للحوسبة السحابية المتنقلة" . المجلة الماليزية لعلوم الحاسوب . 32 (4): 269-283 . doi : 10.22452/mjcs.vol32no4.2 . ISSN 0127-9084 .