بروتوكول النفق

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

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

تعمل بروتوكولات النفق باستخدام جزء البيانات من الحزمة ( الحمولة ) لنقل الحزم التي توفر الخدمة فعليًا. يستخدم النفق نموذج بروتوكول متعدد الطبقات، مثل نموذج OSI أو مجموعة بروتوكولات TCP/IP ، ولكنه عادةً ما يخالف هذا النموذج عند استخدام الحمولة لنقل خدمة لا توفرها الشبكة عادةً. في العادة، يعمل بروتوكول التسليم على مستوى مساوٍ أو أعلى من مستوى بروتوكول الحمولة في النموذج متعدد الطبقات.

الاستخدامات

على سبيل المثال، قد يسمح بروتوكول النفق بتشغيل بروتوكول أجنبي عبر شبكة لا تدعم ذلك البروتوكول المحدد، مثل تشغيل IPv6 عبر IPv4 .

ومن الاستخدامات المهمة الأخرى توفير الخدمات التي يصعب أو لا يمكن تقديمها باستخدام خدمات الشبكة الأساسية فقط، مثل توفير عنوان شبكة الشركة لمستخدم بعيد لا يكون عنوان شبكته الفعلي جزءًا من شبكة الشركة.

تجاوز سياسة جدار الحماية

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

تستخدم طريقة أخرى للتشفير عبر بروتوكول HTTP أمر/طريقة HTTP CONNECT . يُصدر العميل أمر HTTP CONNECT إلى خادم وكيل HTTP. يقوم الخادم الوكيل بعد ذلك بإنشاء اتصال TCP بخادم ومنفذ محددين، ثم يُعيد توجيه البيانات بين هذا الخادم والمنفذ واتصال العميل. [ 1 ] ولأن هذا يُنشئ ثغرة أمنية، فإن خوادم وكيل HTTP التي تدعم CONNECT عادةً ما تُقيّد الوصول إلى هذه الطريقة. يسمح الخادم الوكيل بالاتصالات فقط بمنافذ محددة، مثل 443 لبروتوكول HTTPS. [ 2 ]

تستخدم طرق النفق الأخرى القادرة على تجاوز جدران الحماية الشبكية بروتوكولات مختلفة مثل DNS ، [ 3 ] و MQTT ، [ 4 ] و SMS . [ 5 ]

نظرة عامة فنية

كمثال على تطبيق مبدأ طبقة الشبكة فوق طبقة الشبكة، يُستخدم بروتوكول تغليف التوجيه العام (GRE)، وهو بروتوكول يعمل عبر بروتوكول الإنترنت ( رقم بروتوكول الإنترنت 47)، غالبًا لنقل حزم بيانات الإنترنت، ذات العناوين الخاصة وفقًا لمعيار RFC 1918، عبر الإنترنت باستخدام حزم بيانات التسليم ذات عناوين IP العامة. في هذه الحالة، يكون بروتوكولا التسليم والحمولة متطابقين، لكن عناوين الحمولة غير متوافقة مع عناوين شبكة التسليم.

من الممكن أيضاً إنشاء اتصال باستخدام طبقة ربط البيانات. يسمح بروتوكول النفق من الطبقة الثانية (L2TP) بنقل الإطارات بين عقدتين. لا يتم تشفير النفق افتراضياً، حيث يحدد بروتوكول TCP/IP المُختار مستوى الأمان.

يستخدم بروتوكول SSH المنفذ 22 لتشفير البيانات المنقولة عبر اتصال شبكة عامة (مثل الإنترنت)، مما يوفر وظائف VPN . أما بروتوكول IPsec، فيعمل بنظام نقل البيانات من طرف إلى طرف، ولكنه قادر أيضاً على العمل بنظام النفق عبر بوابة أمان موثوقة.

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

بروتوكولات النفق الشائعة

مشكلة انهيار بروتوكول TCP

يُعرف تمرير حمولة مغلفة ببروتوكول TCP (مثل PPP ) عبر اتصال قائم على بروتوكول TCP (مثل إعادة توجيه منفذ SSH) باسم "TCP عبر TCP"، ويمكن أن يؤدي القيام بذلك إلى خسارة كبيرة في أداء الإرسال - والمعروفة باسم مشكلة انهيار TCP ، [ 6 ] [ 7 ] ولهذا السبب قد يستخدم برنامج الشبكة الخاصة الافتراضية (VPN) بروتوكولًا أبسط من TCP لاتصال النفق.

قد تنخفض إنتاجية اتصال TCP-over-TCP نتيجةً لتداخل حلقات التحكم في بروتوكولي TCP الداخلي والخارجي بشكلٍ مُدمر. [ 8 ] [ 9 ] ولأن بروتوكول TCP مُصمم لضمان تسليم الحزم كاملةً وبالترتيب الصحيح، فإن بروتوكول TCP الخارجي يُخفي حالة الاتصال عن بروتوكول TCP الداخلي. في التشغيل العادي لبروتوكول TCP، يتم اكتشاف فقدان الحزم عندما يُرسل المُستقبِل إشعارات تأكيد مُكررة ( ACK) لحزمةٍ تم استلامها قبل الحزمة المفقودة في التسلسل. واستجابةً لذلك، يُعيد المُرسِل إرسال الحزمة المفقودة ويُقلل نافذة الازدحام (CWND) إلى النصف. في اتصال TCP-over-TCP، يتعامل بروتوكول TCP الخارجي مع الحزم المفقودة بشكلٍ طبيعي من خلال إعادة الإرسال وتقليل نافذة الازدحام. ومع ذلك، ولأن بروتوكول TCP الداخلي لم يتلقَّ أي معلومات تُشير إلى وجود تأخير في الاتصال، فإنه يستمر في إرسال الحزم بالمعدل الذي تُحدده نافذة الازدحام الخاصة به.

نظرًا لأن حجم نافذة الازدحام (CWND) لبروتوكول TCP الداخلي أكبر من حجم نافذة الازدحام لبروتوكول TCP الخارجي، فإن مخزن الإرسال الخاص ببروتوكول TCP الخارجي يمتلئ تدريجيًا. ومع ازدياد حجم المخزن، تواجه الحزم تأخيرات أطول وأكثر تباينًا في الانتظار قبل الإرسال، مما يزيد من زمن الرحلة ذهابًا وإيابًا (RTT) المقاس لبروتوكول TCP الخارجي، بالإضافة إلى زيادة تباين زمن الرحلة ذهابًا وإيابًا. وهذا بدوره يزيد من مهلة إعادة الإرسال (RTO). بمجرد امتلاء مخزن الإرسال، لا تستطيع عملية النفق إعادة توجيه إشعارات التأكيد (ACK) لبروتوكول TCP الداخلي، وبالتالي يتوقف بروتوكول TCP الداخلي عن استقبال إشعارات التأكيد تمامًا.

بسبب توقف بروتوكول TCP الداخلي عن استقبال إشعارات التأكيد (ACKs)، تنتهي مهلة إعادة الإرسال (RTO) الخاصة به، مما يدفعه إلى إعادة إرسال أقدم جزء لم يتم تأكيده، وبالتالي مضاعفة مهلة إعادة الإرسال. ثم تنمو مهلة إعادة الإرسال لبروتوكول TCP الداخلي بشكل متسارع لأنها تتضاعف مع كل مهلة، ولا يتم استقبال أي إشعارات تأكيد لإعادة ضبطها.

ينتج عن انهيار بروتوكول TCP وجود شبكة TCP خارجية ذات حجم نافذة كتابة (CWND) منخفض للغاية، ووقت انتظار (RTO) مرتفع، ومخزن إرسال ممتلئ. يشير هذا إلى أن شبكة TCP الداخلية لا تستطيع الكتابة، وأن إشعارات التأكيد (ACKs) لا تُرسل في أي من الاتجاهين.

نفق شيل الآمن

يتكون نفق SSH من نفق مشفر يتم إنشاؤه عبر اتصال بروتوكول SSH . يمكن للمستخدمين إعداد أنفاق SSH لنقل البيانات غير المشفرة عبر الشبكة من خلال قناة مشفرة . وهو نهج برمجي لأمن الشبكة، والنتيجة هي تشفير شفاف. [ 10 ]

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

تم تنفيذ إعادة توجيه المنافذ المحلية والبعيدة باستخدام SSH على الكمبيوتر الأزرق.

بمجرد إنشاء اتصال SSH، يبدأ النفق باستماع SSH إلى منفذ على المضيف البعيد أو المحلي. ويتم توجيه أي اتصالات إليه إلى العنوان والمنفذ المحددين من المضيف المقابل (البعيد أو المحلي، كما سبق).      

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

توفر أنفاق SSH وسيلة لتجاوز جدران الحماية التي تحظر بعض خدمات الإنترنت ، طالما أن الموقع يسمح بالاتصالات الصادرة. على سبيل المثال، قد تمنع مؤسسة ما مستخدمًا من الوصول إلى صفحات الويب (المنفذ 80) مباشرةً دون المرور عبر مرشح الوكيل الخاص بها (الذي يوفر للمؤسسة وسيلة لمراقبة ما يراه المستخدم عبر الإنترنت والتحكم فيه). لكن قد لا يرغب المستخدمون في أن تتم مراقبة حركة مرور الويب الخاصة بهم أو حظرها بواسطة مرشح الوكيل الخاص بالمؤسسة. إذا تمكن المستخدمون من الاتصال بخادم SSH خارجي ، فيمكنهم إنشاء نفق SSH لإعادة توجيه منفذ معين على أجهزتهم المحلية إلى المنفذ 80 على خادم ويب بعيد. للوصول إلى خادم الويب البعيد، يوجه المستخدمون متصفحهم إلى المنفذ المحلي على الرابط http://localhost/ 

تدعم بعض برامج عملاء SSH إعادة توجيه المنافذ الديناميكية ، مما يسمح للمستخدم بإنشاء وكيل SOCKS 4/5. في هذه الحالة، يمكن للمستخدمين تهيئة تطبيقاتهم لاستخدام خادم وكيل SOCKS المحلي. يوفر هذا مرونة أكبر من إنشاء نفق SSH إلى منفذ واحد كما ذُكر سابقًا. يُحرر SOCKS المستخدم من قيود الاتصال بمنفذ وخادم بعيدين مُحددين مسبقًا. إذا كان التطبيق لا يدعم SOCKS، فيمكن استخدام مُرشِّح وكيل لإعادة توجيه التطبيق إلى خادم وكيل SOCKS المحلي. تدعم بعض مُرشِّحات الوكيل، مثل Proxycap، بروتوكول SSH مباشرةً، مما يُغني عن الحاجة إلى برنامج عميل SSH.

في الإصدارات الحديثة من OpenSSH، يُسمح بإنشاء أنفاق من الطبقة الثانية أو الثالثة إذا فعّل كلا الطرفين هذه الإمكانيات. يؤدي ذلك إلى إنشاء واجهات افتراضية tun(الطبقة الثالثة، افتراضيًا) أو tap(الطبقة الثانية) على طرفي الاتصال. يتيح هذا استخدام إدارة الشبكة والتوجيه بشكل طبيعي، وعند استخدامه على أجهزة التوجيه، يمكن توجيه حركة مرور شبكة فرعية كاملة عبر نفق. tapتعمل الواجهات الافتراضية ككابل إيثرنت يربط طرفي الاتصال، ويمكنها الانضمام إلى جسور النواة.

الهجمات الإلكترونية القائمة على تقنية النفق

على مر السنين، تم اعتماد تقنيات النفق وتغليف البيانات في حالات نادرة جداً لأسباب خبيثة، من أجل التواصل بشكل خبيث خارج الشبكة المحمية.

في هذا السياق، تشمل الأنفاق المعروفة بروتوكولات مثل HTTP ، [ 12 ] وSSH ، [ 13 ] وDNS ، [ 3 ] [ 14 ] وMQTT . [ 4 ]

انظر أيضاً

مراجع

  1. "الترقية إلى TLS ضمن HTTP/1.1" . RFC 2817. 2000. تم الاطلاع عليه في 20 مارس 2013 .
  2. "ملاحظة حول الثغرة الأمنية VU#150227: تسمح الإعدادات الافتراضية لخادم وكيل HTTP باتصالات TCP عشوائية" . US-CERT . 17-05-2002 . تم الاطلاع عليه بتاريخ 10-05-2007 .
  3. 1 2 رامان، د.، سوتر، بي دي، كوبينز، ب.، فولكيرت، إس، بوشير، كيه دي، دانهيو، بي، وبوغينهوت، إي في (2012، نوفمبر). نفق DNS لاختراق الشبكة. في المؤتمر الدولي لأمن المعلومات والتشفير (ص 65-77). سبرينغر، برلين، هايدلبرغ.
  4. 1 2 فاكاري، آي.، نارتيني، إس.، أييلو، إم.، مونجيلي، إم.، وكامبياسو، إي. (2021). استغلال بروتوكولات إنترنت الأشياء لأنشطة تسريب البيانات الخبيثة. IEEE Access، 9، 104261-104280.
  5. نارتيني، س.، فاكاري، إ.، مونجيلي، م.، أييلو، م.، وكامبياسو، إ. (2021). تقييم إمكانية تنفيذ هجمات النفق باستخدام خدمة الرسائل القصيرة. مجلة خدمات الإنترنت وأمن المعلومات، 11، 30-46.
  6. تيتز، أولاف (23 أبريل 2001). "لماذا يُعدّ استخدام بروتوكول TCP عبر بروتوكول TCP فكرة سيئة" . مؤرشف من الأصل بتاريخ 3 يناير 2022. تم الاطلاع عليه بتاريخ 3 يناير 2023 .
  7. هوندا، أوسامو؛ أوساكي، هيرويوكي؛ إيماسي، ماكوتو؛ إيشيزوكا، ميكا؛ موراياما، جونيتشي (أكتوبر 2005). "فهم بروتوكول TCP عبر TCP: تأثيرات نفق TCP على الإنتاجية والزمن المستغرق من طرف إلى طرف". في عتيق الزمان، محمد؛ بالاندين، سيرجي الأول (محرران). الأداء، وجودة الخدمة، والتحكم في شبكات الاتصالات والاستشعار من الجيل التالي III . المجلد 6011. Bibcode : 2005SPIE.6011..138H . CiteSeerX 10.1.1.78.5815 . doi : 10.1117/12.630496 . S2CID 8945952 .   
  8. بيريز، بي جيه (2025-06-26). "بروتوكول TCP عبر بروتوكول TCP فكرة سيئة" . مؤرشف من الأصل بتاريخ 2025-06-28 . تم الاطلاع عليه بتاريخ 2026-02-13 .
  9. موقع Computerphile (15 أبريل 2020). انهيار بروتوكول TCP - موقع Computerphile . تم الاطلاع عليه بتاريخ 15 فبراير 2026 عبر يوتيوب.
  10. باريت، دانيال جيه؛ باريت، دانيال جيه؛ سيلفرمان، ريتشارد إي؛ سيلفرمان، ريتشارد (2001). SSH، الغلاف الآمن: الدليل الشامل . أورايلي ميديا، إنك. ISBN 978-0-596-00011-0.
  11. كامينسكي، دان (13-06-2003). "رد: إضافات للشبكات الطويلة والعريضة؟" . openssh-unix-dev@mindrot.org (قائمة بريدية). شفرة إعادة توجيه TCP سريعة جدًا أيضًا. للإجابة على سؤال مسبقًا، يقوم SSH بفك تغليف TCP ثم إعادة تغليفه، لذا لا توجد مشاكل TCP-over-TCP التقليدية.
  12. باك، دي جيه، ستريلين، دبليو، ويبستر، إس، وكونينغهام، آر. (2002). الكشف عن أنشطة نفق HTTP. معهد ماساتشوستس للتكنولوجيا، مختبر ليكسينغتون لينكولن.
  13. دانغ، ف.، لي، ز.، ليو، ي.، تشاي، إ.، تشين، كيو. أ.، شو، ت.، ... ويانغ، ج. (يونيو 2019). فهم الهجمات التي لا تستخدم الملفات على أجهزة إنترنت الأشياء التي تعمل بنظام لينكس باستخدام Honeycloud. في وقائع المؤتمر الدولي السنوي السابع عشر حول أنظمة وتطبيقات وخدمات الأجهزة المحمولة (ص 482-493).
  14. أييلو، م.، مونجيلي، م.، كامبياسو، إ.، وباباليو، ج. (2016). تحليل هجمات نفق نظام أسماء النطاقات باستخدام تحليل المكونات الرئيسية والمعلومات المتبادلة. مجلة المنطق التابعة لـ IGPL، 24(6)، 957-970.