إلى الخلف
مدينة الحندية
جدول المحتوى

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

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

الحصول على البيانات باستخدام السيلينيوم

في CloudSek، نتبع معايير معينة للتأكد من أن الحل الذي نختاره قادر على قبول حالات الاختبار التي يمكنها أداء الوظائف التالية حتى تتمكن برامج الزحف من الحصول على البيانات بنجاح:

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

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

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

ما هي شبكة السيلينيوم؟

Selenium Grid هي أداة اختبار تعد جزءًا من Selenium Suite المتخصصة في تشغيل مشاريع السيلينيوم المتعددة عبر المتصفحات وأنظمة التشغيل والآلات بالتوازي.

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

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

Hub Node architecture of Selenium Grid
بنية العقدة المحورية لشبكة السيلينيوم

 

بنية شبكة السيلينيوم

نظرًا لكونه مزودًا لـ SaaS قائم على السحابة، فإن CloudSek يستفيد من خدمات الحوسبة السحابية لـ AWS لبناء شبكة السيلينيوم. نناقش بعض خدمات/مكونات AWS التي نستخدمها لبناء بنية شبكة السيلينيوم.

AWS architecture for Selenium Grid
بنية AWS لشبكة السيلينيوم

 

موازن التحميل المرن

في البداية، تمر برامج الزحف عبر DNS داخلي تتم إدارته بواسطة AWS Route 53، والذي يحول موازن التحميل الذي تم إنشاؤه بواسطة AWS إلى CNAME الذي يسهل إدارته. تم تعيين CNAME لخدمة AWS، موازن التحميل المرن. يوفر ELB (Elastic Load Balancer) دعمًا لنقطة إدخال ثابتة (عنوان IP)، والتي تصبح مفيدة عندما يتعين علينا توسيع نطاق المحور أو إعادة تكوينه. ويتم إعادة إنشاء Hub في كل مرة يحدث فيها تغيير في التكوين.

خدمة الحاويات المرنة

تتم استضافة مركز السيلينيوم والعقد كحاويات منفصلة، تتم إدارتها بواسطة خدمة حاويات AWS Elastic Container Service. وهذا يتيح لنا إجراء الاختبارات بالتوازي على شبكة السيلينيوم. تساعد ECS (خدمة الحاويات المرنة) على تنسيق لوحة الوصل والعقد ومراقبتها وتكوينها.

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

ساعة كلاود واتش

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

فارجيت

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

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

CloudMap واستبدال النقاط

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

الخاتمة

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

لم يتم العثور على أية عناصر.

مدونات ذات صلة