ابدأ الآن سيريا بروكسي syriaproxy أول خدمة بروكسي مختصة بسوريا

كيف تعمل مصادقة البروكسي؟

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

لماذا تطلب البروكسيات مصادقة

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

المصادقة في بروكسي HTTP

تعتمد على آلية التحدي والاستجابة في HTTP، بترويستين مخصصتين للبروكسي. هذا ما يحدث بالترتيب:

  1. يرسل البرنامج طلبه، مثل CONNECT، دون بيانات دخول.
  2. يرد البروكسي بالرمز 407 Proxy Authentication Required، ومعه ترويسة Proxy-Authenticate تحدد طريقة المصادقة المطلوبة.
  3. يعيد البرنامج الطلب نفسه مع ترويسة Proxy-Authorization تحمل بيانات الدخول.
  4. إن صحّت البيانات، ينفّذ البروكسي الطلب. وإن لم تصح، يرد بـ 407 مرة أخرى.

يعرّف RFC 9110، القسم 15.5.8 الرمز 407، ويوجب على البروكسي إرسال ترويسة Proxy-Authenticate معه. وهو نظير الرمز 401 الذي يرسله الموقع نفسه حين يطلب بيانات الدخول، مع ترويستي WWW-Authenticate وAuthorization.

أبسط الطرق Basic، التي يصفها RFC 7617. يضع البرنامج اسم المستخدم ثم نقطتين ثم كلمة المرور، ويرمّز الناتج بـ Base64. هكذا يبدو التبادل لاسم user وكلمة مرور pass:

HTTP/1.1 407 Proxy Authentication Required
Proxy-Authenticate: Basic realm="proxy"

CONNECT example.com:443 HTTP/1.1
Host: example.com:443
Proxy-Authorization: Basic dXNlcjpwYXNz

Base64 ترميز لا تشفير. من يلتقط هذا السطر يستعيد user:pass في ثانية، والمعيار نفسه ينبّه إلى أن الطريقة غير آمنة إلا فوق TLS. وفي الشركات تُستعمل أحياناً طرق أخرى، مثل Digest وNegotiate، تتجنب إرسال كلمة المرور نفسها.

أين تتوقف بيانات الدخول

ترويسة Proxy-Authorization موجّهة إلى البروكسي لا إلى الموقع. وتنص RFC 9110، القسم 11.7.2 على أنه في سلسلة من البروكسيات يستهلكها أول بروكسي ينتظر بيانات دخول. ويجوز له أن يمرّرها إلى البروكسي التالي إن كانت البروكسيات تتعاون في المصادقة.

والنتيجة أن الموقع الذي تزوره لا يرى كلمة مرور البروكسي. لكن كل من يقف بينك وبين البروكسي يراها، إن لم يكن هذا الجزء مشفّراً.

ويختلف عدد مرات إرسالها بحسب نوع الطلب. مع مواقع https تُرسل مرة واحدة في طلب CONNECT لكل نفق. ومع مواقع http:// يحملها كل طلب على حدة، فتمر على الشبكة مرات أكثر بكثير.

المصادقة في SOCKS5

في SOCKS5 يعلن العميل في رسالته الأولى طرق المصادقة التي يدعمها، ويختار الخادم إحداها. طريقة «اسم المستخدم وكلمة المرور» رقمها 02 في RFC 1928، وتفاصيلها في RFC 1929:

  1. يرسل العميل رقم إصدار التفاوض الفرعي (01)، ثم طول الاسم والاسم، ثم طول كلمة المرور وكلمة المرور. كل منهما من 1 إلى 255 بايتاً.
  2. يرد الخادم بحالة من بايت واحد. القيمة 00 تعني النجاح.
  3. أي قيمة أخرى تعني الفشل، وعلى الخادم حينها إغلاق الاتصال.

الاسم وكلمة المرور يمرّان هنا كما هما، دون ترميز ولا تشفير. والمعيار نفسه لا ينصح بهذه الطريقة حيث يمكن التنصّت على الحركة.

ولا يدعم كروم أي طريقة مصادقة مع SOCKS5، فيحتاج إلى إضافة أو برنامج وسيط. المقارنة الكاملة بين البروتوكولين في الفرق بين SOCKS5 وHTTP.

قائمة العناوين المسموحة

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

لكن لها حدوداً واضحة. كل من يشاركك العنوان العام يستطيع استعمال البروكسي باسمك، كزملاء المكتب أو رواد المقهى، أو مشتركي الشبكة الخلوية خلف NAT المزوّد، كما يشرح ما هو CGNAT.

وإن تغيّر عنوانك، كما قد يحدث في الشبكات المنزلية والخلوية، يتوقف البروكسي حتى تحدّث القائمة.

مقارنة الطرق

الطريقةهل تُشفَّر بيانات الدخولمع عنوان متغيّرمن يستطيع الاستعمال
Basic في بروكسي HTTPلا، Base64 فقطتعملمن يعرف كلمة المرور
كلمة مرور SOCKS5لا، نص واضحتعملمن يعرف كلمة المرور
Basic في بروكسي HTTPSنعم، داخل TLSتعملمن يعرف كلمة المرور
قائمة العناوينلا بيانات دخولتتوقف عند تغيّر العنوانكل من يشاركك العنوان العام

كتابة بيانات الدخول في البرامج

معظم البرامج تقبل بيانات الدخول داخل عنوان البروكسي بالشكل scheme://user:pass@host:port. فإن احتوت كلمة المرور على رموز لها معنى في العنوان، مثل @ و: و/، فرمّزها: @ تصبح %40، و: تصبح %3A. أو مرّرها منفصلة، كما يسمح curl:

curl -x http://user:p%40ss@proxy.example.com:8080 https://example.com/
curl -x http://proxy.example.com:8080 --proxy-user 'user:p@ss' https://example.com/

السطران متكافئان، وكلمة المرور فيهما p@ss. لكن كل أمر تكتبه بكلمة مرور يُحفظ في سجل الطرفية. في السكربتات اقرأ بيانات الدخول من متغير بيئة أو ملف خارج المستودع، ولا تحفظها في نظام إدارة الشيفرة.

كيف تختبر المصادقة

شغّل curl مع -v وبيانات خاطئة عمداً. يجب أن يرد بروكسي HTTP بـ 407، وأن يغلق خادم SOCKS5 الاتصال.

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

كيف تحمي بيانات الدخول

في syriaproxy

بروكسي SOCKS5 وHTTP عندنا يطلبان اسم مستخدم وكلمة مرور، ويمرّان دون تشفير مثل أي بروكسي من نوعيهما. أما بروكسي HTTPS فيشفّر الطريق كله بين جهازك وخادمنا، ومعه بيانات الدخول. الإعداد خطوة بخطوة في إعداد البروكسي.

أسئلة شائعة

هل يرى الموقع كلمة مرور البروكسي؟

لا. البروكسي يستهلك بيانات الدخول ولا يمرّرها إلى الموقع. ومع مواقع https لا يستطيع إضافة شيء إلى الطلب أصلاً، لأنه داخل نفق مشفّر.

لماذا يطلب المتصفح كلمة مرور البروكسي في نافذة منبثقة؟

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

هل Base64 نوع من التشفير؟

لا. هو تحويل للبيانات إلى أحرف قابلة للطباعة، ويُعكس دون أي مفتاح. لذلك يُعدّ إرسال Basic دون TLS إرسالاً لكلمة المرور كما هي.

ماذا أفعل إن تسرّبت كلمة مرور البروكسي؟

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

اختبر بروكسيك ببيانات دخولك بأداة فحص البروكسي المجانية: هل يقبلها، وزمن استجابته، وعنوان خروجه.