F5 هو عبارة عن منتج مدفوع الثمن يتكون من مجموعة من الأدوات التي تساعد على سد الثغرات والحفاظ على امان النظام أو الموقع دون الحاجة الى التعديل على النص البرمجي.

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

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

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

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

كيف يعمل F5 ؟

عندما يقوم المستخدم بالدخول على موقعك تستطيع أن توجه مباشرة إلى F5 لكي يتعامل مع طلبه , فأي طلب على الموقع سيمر أولاً على F5 فإذا كان الطلب أمن وليس به مشاكل سينفذه لك , وإلا سيقوم برفض الطلب .

F5 ذكي ! , سيساعدنا على التعرف وكشف الثغرات المتوفرة في النظام بطريقة التعليم الذاتي لنفسه , فعندما يقوم المسستخدم بطلب لرابط معين فإنه سيمر على F5 أولاً , F5 سيحلل الطلب إذا كان الطلب (خبيث) إما أنه يرفض إكمال الطلب ويظهر رسالة خطأ للمستخدم , أو أنه يجعل المستخدم ينفذ الطلب ولكنه يسجل ملاحظة لديه أن هذه الطلب خبيث , فعندما يقوم مستخدم أخر بطلب هذا الرابط وتنفذ الثغرة مرة أخرى سيرفض ويحجب الخدمة عن المستخدم , أو أنه يفعل الأمرين , فقط يقوم برفض طلب المستخدم ويحجبه وفي نفس الوقت يسجل ملاحظة لكي يتعلم منها أن هذا الطلب خبيث ويجب التعامل معه .

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

إذن عن طريق F5 سنجعل المبرمج يرتاح من التعب ! وسيقوم F5 بالتحكم بهذه المتغيرات والتأكد من القيم المدخلة لها . لاحظ الصورة التالية :

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

في شكل 2 جزء بسيط جدًا من خدمات Application Security , الذي سأركز عليه هو التحكم بالمتغيرات وطريقة منع بعض الرموز الخبيثة وبعض الأوامر البرمجية ومنع ثغرات الحقن الإستعلامية (sql injection) و XSS , والكثير من الثغرات .

الآن سأقوم بإضافة متغير والذي يقابل المتغير الموجود في النص البرمجي , مثلاً لو كانت أبرمج بلغة PHP ويوجد لدي متغير اسمه ($testNewOne) سأقوم بإنشاء مثل اسمه لكي يتعرف عليه f5 عندما يقوم المستخدم بإرساله للموقع .

عزيزي القارئ , سأقوم الآن بإنشاء المتغير وكما هو موضح لديك قمت بكتابة اسمه و قمت بتعبئة بعض الخيارات لكي تتناسب مع إحتياجاتي .

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

أخيراً سأقوم بمنع بعض الرموز الخبيثة من التنفيذ بالضغط على Attack Signatures , أنظر شكل 6 والذي سنقوم بمنع ثغرات الحق الإستعلامية (SQL INJECTION ) وكذلك XSS وأيضاً عدم التلاعب وإضافة قيم في HTTP Hearder .. إلخ .

أخيراً , F5 جدًا ضخم وكبير , أتمنى أني استطعت أن أشرحه بشكل مبسط , فهو نوعا ما يحتاج إلى دورات و إستخدام مستمر له , نستطيع أن نقول أن Application Security ما هو إلا قائمة كبيرة من الأوامر لكي تتحكم في أمن موقعك من الإختراق . فأي طلب يمر على Application Security سيقوم بمقارنته مع قائمته فإني كان هذا الطلب متوفر في القائمة منعه من التنفذ وحمى موقعك من الإختراق .

 

الموقع الرسمي للأداة : F5

 

عن الكاتب:


محمد الدهيمي, أعمل حاليا كمطور في مؤسسة التأمينات الاجتماعية. مهتم في مجال أمن المعلومات وإكتشاف ثغرات تطبيقات الويب.

Share on FacebookShare on Google+Tweet about this on TwitterShare on LinkedIn