21‏/02‏/2015

الويب بروكسي (web proxy)




proxy-server

 

ما هو الويب بروكسي (web proxy)؟



بداية البروكسي يعني الوكيل او الوكالة وهناك الكثير من الاجهزة والبرمجيات التي تعمل في مجال الشبكات وتسمى البروكسي ومنها موضوع حديثنا هنا وهو بمعنى وكيل الويب اي انه عبارة عن جهاز او سوفتوير موجود على جهاز وسطي بين المستخدم او المتصفح للأنترنت وبين خوادم (servers) الانترنت الحقيقية ومهمته هي الخزن المؤقت للطلبات الاكثر تكراراً من قبل المستخدمين في الوقت الحاضر واستناداً الى التصفح الماضي ولتوضيح مفهومه اكثر انظر الى الشكل التالي:


1


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

1-  الكاش (cache): وهو مجموعة من البيانات المطلوبة بكثرة من قبل المستخدمين والمخزونة محلياً بحيث يمكن الوصول اليها وعرضها للمستخدم بسرعة وهي تمثل مجموعة جزئية من الكم الهائل من البيانات المخزونة في سيرفرات الخزن (storage servers) ويكون الكاش دائماً قريباً فيزيائياً من المستخدم للشبكة العنكبوتية ويتوفر الكاش اليوم في الكثير من المعالجات الحديثة للحواسيب والسيرفرات ويضم الكودات والبيانات الاكثر طلباً حديثاً. تقوم معظم متصفحات الانترنت الحديثة بخزن صفحات الويب الاكثر تكراراً في طلبات المستخدمين في الذاكرة الرئيسية للسيرفر المحلي او في اجهزة الخزن المغناطيسية (الهارد) للأجهزة القريبة مما يجعل أي شخص يستخدم الحاسوب الشخصي لتصفح الانترنت يعتمد على مجموعة كاشات لأداء وظائفه.

2-  كاش الويب (web cache): وهي مجموعة من صفحات الويب المخزونة محلياً وتضم الصور والملفات النصية وبقية انواع الوثائق التي يمكن ان يتعامل معها بروتوكول ال (HTTP) ويقوم متصفح الويب بإدامة وصيانة وتحديث كاش الويب ويقوم كاش الويب الذي يعمل كبرنامج منصب في السيرفرات الخاصة المحلية بأرشفة واسترجاع الوثائق التي يتم طلبها بكثرة وتكرار من قبل مجموعة من المستخدمين. يقوم البروكسي بإرجاع المستندات المطلوبة من قبل المستخدمين ان كانت مخزونة في سيرفره المحلي ليسجل اصابة (hit) ولكن في حالة عدم وجود الوثائق المطلوبة في السيرفر المحلي يقوم البروكسي بطلبها من السيرفر الاصلي وايصالها الى المستخدم الذي طلبها ليسجل حالة فقدان (miss). من خلال استرجاع البيانات من السيرفر المحلي نحصل على زمن استجابة اسرع ونقلل المرور في الشبكة ونزيد عرض النطاق المتاح لكل مستخدم. يسمح سيرفر البروكسي بمنع جلب الصفحات السيئة الى المستخدم ويقوم بتفريغ مساحة للوثائق الجديدة بحذف الوثائق القديمة وبالتالي يبقى الكاش يحدث بشكل ديناميكي وباستخدام خوارزمية استبدال الاقل استخداماً حديثاً (Least Recently Used LRU).

ما هو عمل سيرفر البروكسي؟

كما ذكرنا هناك الكثير من انواع البروكسيات وهي عموماً تعمل بأحدى الوظيفتين التاليتين:

1-  حفظ البيانات الاكثر تكراراً وحداثة في طلبات المستخدمين والعمل ككاش للشبكة لتسريع العمل وتقليل المرور في نواقل الشبكة.

2-  العمل كجدار ناري ومنظم للمرور في الشبكة حيث تمر كل البيانات الداخلة والخارجة الى الشبكة المحلية عبره فيمكن وضع عدة انواع من المرشحات وقوائم الوصول لتقييد الوصول الى نوع معين من البيانات ولكل مستخدم نوع خاص من التقييد أي باختصار تطبيق خوارزميات ال (access control lists).

مخاطر وسلبيات استخدام البروكسي:

1-  في بعض الاحيان يعاني مستخدمي البروكسي من قدم البيانات التي يحصلون عليها حيث يقوم البروكسي بأرسال البيانات المخزونة بداخله الى المستخدم وربما تكون البيانات في السيرفرات الحقيقية قد تم تحديثها بشكل ديناميكي من دون علم سيرفر البروكسي مما يؤدي الى خلل في البيانات الواصلة الى المستخدم.

2-  قد يحصل فشل او خلل من نوع ما في سيرفر البروكسي مما يمنع بعض انواع الخدمات في الشبكة من الوصول الى المستخدم ان كانت اعدادات البروكسي تقييد الوصول الى الشبكة الا من خلاله مما يؤدي الى اضافة عنصر خلل وتعطيل اضافي للشبكة متمثلاً بالبروكسي (في بعض الاحيان).

3-  تطلب بعض الخدمات في الشبكة بروكسيات خاصة للوصول الى البيانات الحقيقية المطلوبة مما يجعل بروكسي الشبكة المحلية بحاجة الى الاتصال ببروكسيات في شبكات اخرى بعيدة للوصول الى ما يريد كل مرة يطلب فيها المستخدم بيانات معينة مما يضيف عبء وتأخير اضافي للشبكة ككل.

انواع البروكسي سيرفر:

1-  الزبون ثنائي المنزل (Dual Homed Host): ويحتوي السيرفر في هذه الحالة واجهتي شبكة (2 network interfaces) احدهما مع الشبكة المحلية والاخرى مع الانترنت وتعمل معمارية الجدار الناري هنا كبرمجيات راوتر توفر الاتصال الامن حيث ان دمج وظيفية كل من البروكسي والجدار الناري في جهاز واحد توفر حلول جدار ناري متكاملة في هذه المعمارية ويمكن اضافة برمجيات فلترة وفحص الفيروسات الى هذا الجهاز ايضاً وكما في الشكل التالي:

2 


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

2- العملاء المراقبين (screened hosts): ويتكون العميل المراقب من موجه (router) يتم تنصيبه امام السيرفر (البروكسي سيرفر) ويقوم الموجه بترشيح البيانات ويقيد الوصول الى الشبكة الداخلية ويقوم بتقديم تلك الخدمة لاكثر من مستخدم في حين يتكفل سيرفر البروكسي بالسماح للمرور من الشبكة الخارجية الى الشبكة الداخلية عبر الموجه والقيام بوظيفة الوكالة للبيانات وكما في الشكل التالي:


3


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

3-  الشبكات الفرعية المراقبة (screened subnetwork): تتكون من عدة موجهات تلف الشبكة الغير امنة من كلا جانبيها وتكون الشبكة الغير امنة في هذه الحالة (وتضم سيرفر البروكسي) ما يسمى المنطقة منزوعة السلاح (Demilitarized Zone DMZ) ويقوم البروكسي داخل ال (DMZ) بالسماح للمرور من والى الشبكة الداخلية ولا يمكن لأي من المرور المرسل او المستلم بالحركة دون مساعدة سيرفر البروكسي ولهذا السبب تكون هذه المعمارية مناسبة للشركات الكبيرة ذات المرور الثقيل (heavily trafficked) ولأن الامنية لهذا النوع من الشركات تكون ضرورية جداً فأن الزيادة والاضافة (redundancy) بزيادة عدد الموجهات وربطها بشبكة (mesh) مفيد جداً وكما في الشكل التالي:


4

4-  البروكسي العكسي (Reverse Proxy) : وسمي العكسي لأنه في هذا النوع من المعمارية لا يكون في جانب الزبون (المستخدم) وانما في الجانب الاخر من الشبكة قريباً فيزيائياً من السيرفر الحقيقي ويعمل بإحدى طريقتين: السيرفر في الوسط (Server Stand in) وسيرفر توزيع وموازنة الحمل (Load Balancing) وادناه توضيح لكل منهما:

- السيرفر في الوسط (Server Stand In) ويكون سيرفر البروكسي هنا كجهاز واقع بين السيرفر الحقيقي والانترنت ويقوم بأستلام طلبات المستخدمين للويب سيرفر الحقيقي والذي يكون محمياً خلف جدار ناري. تتلخص وظيفة البروكسي هنا في انه يمنع الوصول المباشر والغير مراقب الى موارد السيرفر الحقيقي من الشبكات الخارجية ويعمل كمرأة سيرفر وهمي ويستنسخ بداخله بعض من محتويات السيرفر الحقيقي ويجيب طلبات المستخدمين دون الرجوع مباشرة الى السيرفر الحقيقي مما يسمح بتطبيق خاصية التكرار (Replication) بين محتويات السيرفر الحقيقي وسيرفر البروكسي وكما في الشكل التوضيحي التالي:


5


- بروكسي توزيع وموازنة الحمل (Load Balancing): ويتم نصب عدة سيرفرات بروكسي هنا ليتم توزيع الحمل بينها وتقليل العبء على السيرفر الحقيقي حيث يقوم كل سيرفر بروكسي بنسخ جزء من بيانات السيرفر الحقيقي واجابة طلبات مجموعة من المستخدمين حسب محتوياته وتستخدم هذه المعمارية في الشبكات التي تشهد زخم كبير على السيرفر الحقيقي وتساعد هذه الطريقة السيرفر الحقيقي على تلقي حجم طلبات كبير جداً دون التأثير على الاداء العام للنظام وكما في الشكل التالي:


 6