شعار proxyscrape داكن

كيف يعزز البروكسي العكسي أمان تطبيق الويب الخاص بك

الوكلاء, Dec-13-20215 دقائق للقراءة

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

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

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

ولكن قبل الغوص في الجوانب الأمنية، دعنا نلقي نظرة على بنية تطبيق ويب نموذجي.

نظرة عامة على بنية تطبيقات الويب

تطبيق الويب

في معظم الظروف، تتكون تطبيقات الويب من خوادم ويب وصفحات ويب. تستقبل خوادم الويب الطلبات من العملاء (متصفحات الويب الخاصة بك)، والتي يقوم خادم الويب بمعالجتها وإرجاع الاستجابة إلى العميل.  

في حين يتم ترميز جانب الخادم باستخدام لغات البرمجة الديناميكية مثل PHP وPython وASP.NET وغيرها، يتم ترميز جانب العميل باستخدام HTML وCSS وJavaScript، ويتم الاتصال بين العميل والخادم من خلال بروتوكول HTTP.

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

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

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

دعونا نلقي نظرة على بعض إحصائيات الهجمات الإلكترونية الأكثر إثارة قبل أن نتعمق في طبيعة هذه الهجمات.

ما هي التهديدات الكبيرة التي يتعرض لها تطبيق الويب؟

إحصائيات مثيرة حول الهجمات الإلكترونية

ووفقًا لبيانات الثغرات الأمنية في تطبيقات الويب الخاصة بشركة Positive Technologies لعام 2018، استحوذ قطاعا التمويل والمصارف على 28% من جميع تطبيقات الويب التي تعرضت للهجوم. كما تشير أيضاً إلى أن 14% من الهجمات الإلكترونية تستهدف التطبيقات الإلكترونية في قطاعي الاتصالات والتصنيع، و11% منها تستهدف تطبيقات النقل.

وتشمل القطاعات الأخرى التي تواجه مخاطر المؤسسات الحكومية (11%)، وتكنولوجيا المعلومات، والتجارة الإلكترونية، ووسائل الإعلام.

فيما يتعلق بأنواع الهجمات، يشير تقرير آخر لشركة F5 إلى أن هجمات البرمجة النصية عبر المواقع (من 4% إلى 54%) وهجمات حقن SQLi (من 15% إلى 76%) في ارتفاع. 

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

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

حقن SQL (SQLi)

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

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

لذلك افترض في مربع النص إذا كان المستخدم قد أدخل ما يلي:


معرّف المستخدم: 228 أو 1 = 1 = 1

ثم سيكون الاستعلام الناتج هو التالي:

حدد * من المستخدمين حيث معرف المستخدم = 228 أو 1=1;

ثم يقوم باسترداد جميع البيانات الموجودة في جدول المستخدم، بما في ذلك كلمات المرور إذا كان الجدول يحتوي على بيانات كلمة المرور.

لمزيد من المعلومات حول SQLi، يمكنك الرجوع إلى هنا.

البرمجة النصية عبر المواقع (XSS)

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

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

المصادقة المعطلة وإدارة الجلسات

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

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

يمكنك الرجوع إلى هذه المقالة لمزيد من التفاصيل.

ما هي طرق الوقاية من هجمات الويب؟

جدار حماية تطبيقات الويب

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

لكي يعمل WAF، يجب عليك إجراء تكوينات إضافية في الخادم. مثل جدران الحماية، يقوم WAF بتصفية حركة مرور HTTP الواردة والصادرة التي تبدو خطرة على الشبكة الداخلية للخادم إذا لم تستوفِ القواعد التي قمت بتعيينها على WAF.

WAF هو أيضًا نوع من البروكسي العكسي الذي سنناقشه في القسم التالي.

الوكيل العكسي

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

يعرف العميل عنوان الخادم الوكيل فقط، وبالتالي فإن الخادم الفعلي مخفي عن العميل.

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

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

كيف يعمل التوكيل العكسي؟

تقوم جميع الوكلاء العكسيون بتنفيذ جميع العمليات الأساسية التالية:

  1. يرسل متصفح العميل طلب HTTP إلى عنوان URL عام. لنفترض أن عنوان URL هو www.host.com على المنفذ 80.
  2. ثم، كالعادة، يتم حل اسم المضيف حول الخادم الوكيل العكسي. يستمع هذا الخادم الوكيل العكسي إلى هذا العنوان ويستقبل الطلب.
  3. بعد ذلك، يقوم الوكيل العكسي بالتحقيق في عنوان URL لتحديد المكان الذي يحتاج إلى توجيه الطلب إليه. عادة، قد يستخدم الوكيل العكسي أي مكون من مكونات عنوان URL لتحديد مكان توجيه الطلب. على سبيل المثال، قد يستخدم المضيف أو البروتوكول أو المسار أو المنفذ أو سلسلة الاستعلام. عادةً ما يكون المسار هو المكون الرئيسي الذي يقرر التوجيه.
    1. تحدد إعدادات تكوين الوكيل العكسي عنوان URL الصادر لإرسال الطلب إليه. عادةً ما يكون عنوان URL الصادر هذا هو الخادم الخلفي المسؤول عن توفير المحتويات. قد يقوم الخادم الوكيل العكسي بإعادة كتابة أجزاء الطلب. قد يقوم، على سبيل المثال، بتغيير أو إضافة إلى أجزاء التوجيه.
    2. ثم الخطوة التالية هي تجديد رأس الطلب؛ يجب على الوكيل العكسي أيضًا تحديث بعض معلومات رأس HTTP للإشارة إلى خادم الويب الداخلي بالإضافة إلى إعادة تعيين عنوان URL. على سبيل المثال، يحتوي رأس "المضيف:" على اسم المضيف الذي يُطلب منه عنوان URL.
    3. حتى نختتم تعيين عنوان URL، http://www.host.com يمكن إعادة تعيينه إلى http://realhost.com:8080.As، يمكنك أن ترى في هذه الحالة تغير اسم المضيف إلى المضيف الحقيقي. ثم تغير رقم المنفذ أيضًا إلى 8080.

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

كيفية تأمين تطبيق الويب الخاص بك باستخدام البروكسي العكسي

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

التحقق من صحة محتوى الطلب

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

نهج تصفية القائمة السوداء

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

نهج تصفية القائمة البيضاء

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

علاوة على ذلك، قد يكون إنشاء جميع الطلبات الصالحة لمئات الآلاف من بائعي قواعد البيانات في حالة وجود حقن SQL أمرًا مربكًا

أي تعديلات على تطبيق الويب الآمن يستلزم تحديث القائمة البيضاء. ونتيجة لذلك، فإن الاحتفاظ بقائمة بيضاء يزيد من العبء الإداري. 

التحقق من صحة محتوى الرد

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

تسجيل الطلب والرد عليه

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

الخاتمة

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

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