كيف يمكن تأمين تطبيقات الويب باستخدام AWS WAF؟



ستخبرك هذه المقالة كيف يمكنك تأمين تطبيقات الويب باستخدام AWS WAF ومتابعتها بعرض عملي.

ستخبرك هذه المقالة كيف يمكنك تأمين تطبيقات الويب باستخدام WAF ومتابعته بعرض عملي. سيتم تغطية المؤشرات التالية في هذه المقالة ،

فلنبدأ إذن ،





المضي قدمًا في هذه المقالة حول 'كيفية تأمين تطبيق الويب باستخدام AWS WAF؟'

البدء ببعض الأساسيات

تقدم AWS خدمات مثل EC2 و ELB (Elastic Load Balancer) و S3 (Simple Storage Service) و EBS (Elastic Block Storage) لإنشاء تطبيقات مفيدة ورائعة بسرعة وبأقل النفقات الرأسمالية (النفقات الرأسمالية). أثناء إنشاء هذه التطبيقات ، من المهم بنفس القدر تأمين التطبيق وحماية البيانات. إذا لم يتم تأمينها بشكل صحيح ، فقد تقع بيانات التطبيق في الأيدي الخطأ كما في حالة الإصدار الأخير حادث كابيتال وان .



استضافت Capital One تطبيق ويب على EC2 ولم يتم تأمينه بشكل صحيح. تمكن موظف سابق في AWS من استغلال هذه الثغرة وتنزيل رزم من بيانات العملاء من S3. في وقت لاحق ، تم العثور على أنه تم أيضًا تنزيل البيانات من 30 مؤسسة أخرى من AWS. لذا ، للتأكيد على ذلك مرة أخرى ، لا يكفي فقط تصميم وتصميم تطبيق ، ولكن من المهم بنفس القدر تأمين تطبيق.

استخدم كابيتال وان AWS WAF (جدار حماية تطبيق الويب) لحماية تطبيق الويب ، لكن لم يتم تكوينه بشكل صحيح بسبب تمكن المخترق من الوصول إلى البيانات في S3 وتنزيلها. سنستكشف في هذه المقالة كيفية استخدام AWS WAF وتكوينه للحماية من هجمات الويب الشائعة مثل حقن SQL و XSS (البرمجة النصية عبر المواقع) وما إلى ذلك. يجب تكوين AWS WAF مع موازن تحميل التطبيق أو CloudFront أو بوابة API. في هذا السيناريو ، سنستخدم Application Load Balancer. أي طلب من العميل عبر المتصفح سينتقل عبر AWS WAF ثم إلى Application Load Balancer وأخيراً إلى تطبيق الويب على EC2. يمكن استخدام AWS WAF في ملفات حظر الطلب الضار من المتسللين باستخدام مجموعة من القواعد والشروط.

صورة - تطبيقات الويب الآمنة مع AWS WAF - Edureka

المضي قدمًا في هذه المقالة حول 'كيفية تأمين تطبيق الويب باستخدام AWS WAF؟'



تسلسل الخطوات لبدء استخدام AWS WAF

الخطوة 1: إنشاء تطبيق ويب ضعيف ،

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

  1. قم بإنشاء EC2
  2. قم بتثبيت البرنامج المطلوب لإنشاء تطبيق ويب به ثغرة أمنية في SSRF
  3. إنشاء ودور IAM مع أذونات S3 للقراءة فقط
  4. أرفق دور IAM بـ EC2
  5. أخيرًا ، استغل ثغرة SSRF للحصول على بيانات اعتماد الأمان المتعلقة بدور IAM.

بمجرد اكتمال تسلسل الخطوات في المدونة المذكورة ، استبدل 5.6.7.8 بعنوان IP العام لـ EC2 في عنوان URL أدناه وافتحه في المتصفح. يجب عرض بيانات اعتماد الأمان المرتبطة بدور IAM في المتصفح كما هو موضح أدناه. هذه هي الطريقة التي تم بها اختراق Capital One. مع وجود بيانات اعتماد الأمان في متناول اليد ، تمكن المخترق من الوصول إلى خدمات AWS الأخرى مثل S3 لتنزيل البيانات.

http://5.6.7.8:80؟url=http://169.254.169.254/latest/meta-data/iam/security-credentials/Role4EC2-S3RO

الخطوة 2: إنشاء موازن تحميل التطبيق

لا يمكن ربط AWS WAF مباشرةً بتطبيق ويب. ولكن ، لا يمكن ربطه إلا بـ Application Load Balancer و CloudFront و API Gateway. في هذا البرنامج التعليمي ، سنقوم بإنشاء ملف Application Load Balancer وربط AWS WAF مع نفس الشيء.

الخطوة 2 أ: المجموعة المستهدفة هي مجموعة من مثيلات EC2 ويجب إنشاؤها قبل إنشاء Application Load Balancer. في وحدة التحكم في إدارة EC2 ، انقر فوق المجموعة المستهدفة في الجزء الأيمن وانقر فوق 'إنشاء مجموعة مستهدفة'.

الخطوة 2 ب: أدخل اسم المجموعة المستهدفة وانقر على 'إنشاء'. سيتم إنشاء المجموعة المستهدفة بنجاح.

الخطوة 2 ج: تأكد من تحديد المجموعة المستهدفة وانقر فوق علامة التبويب الأهداف وانقر فوق تحرير لتسجيل مثيلات EC2 مع المجموعة المستهدفة.

الخطوة الثانية د: حدد مثيل EC2 وانقر فوق 'إضافة إلى المسجل' وانقر فوق 'حفظ'.

يجب تسجيل المثيلات كما هو موضح أدناه للمجموعة المستهدفة.

الخطوة 2 هـ: حان الوقت لإنشاء Application Load Balancer. انقر فوق Load Balancer في الجزء الأيمن من وحدة التحكم في إدارة EC2 وانقر فوق 'Create Load Balancer'.

انقر فوق 'إنشاء' لـ 'Application Load Balancer'.

المضي قدمًا في هذه المقالة حول 'كيفية تأمين تطبيق الويب باستخدام AWS WAF؟'

الخطوة 2f: أدخل اسم Application Load Balancer. وتأكد من تحديد جميع مناطق توافر الخدمات وانقر فوق التالي.

كيفية منع الجمود في جافا

الخطوة 2 ز: في 'تكوين إعدادات الأمان' ، انقر فوق التالي.

في 'تكوين مجموعات الأمان' ، أنشئ مجموعة أمان جديدة أو حدد واحدة من مجموعة الأمان الموجودة. تأكد من أن المنفذ 80 مفتوح للوصول إلى صفحة الويب على EC2. انقر فوق التالي.

الخطوة الثانية: في 'تكوين التوجيه' ، حدد 'مجموعة الهدف الحالية' وحدد المجموعة التي تم إنشاؤها في الخطوة السابقة. انقر فوق التالي.

الخطوة 2 ط: تم بالفعل تسجيل مثيلات EC2 المستهدفة كجزء من المجموعات المستهدفة. لذلك ، في علامة التبويب 'تسجيل الهدف' ، دون أي تغييرات ، انقر فوق 'التالي'.

الخطوة 2 (ي): أخيرًا ، راجع جميع تفاصيل Application Load Balancer وانقر فوق إنشاء. سيتم إنشاء Application Load Balancer كما هو موضح أدناه.

الخطوة 2 ك: احصل على اسم المجال الخاص بـ Application Load Balancer واستبدل النص المميز به في عنوان URL أدناه وافتحه في المستعرض. لاحظ أننا نقوم بالوصول إلى تطبيق الويب عبر Application Load Balancer ويتم عرض بيانات اعتماد الأمان كما هو موضح أدناه. يمكن حظر عنوان URL أدناه باستخدام AWS WAF كما هو موضح في الخطوات اللاحقة لوقف تسرب بيانات اعتماد الأمان.

MyALB-1929899948.us-east-1.elb.amazonaws.com ؟ url = http: //169.254.169.254/latest/meta-data/iam/security-credentials/Role4EC2-S3RO

الخطوه 3: إنشاء AWS WAF (جدار حماية تطبيق الويب)

الخطوة 3 أ: انتقل إلى AWS WAF Management Console وانقر فوق 'تكوين قائمة التحكم في الوصول على الويب'. يتم عرض نظرة عامة على AWS WAF. هنا هو التسلسل الهرمي لـ AWS WAF. تحتوي Web ACL على مجموعة من القواعد والقواعد لديها مجموعة من الشروط التي سنقوم بإنشائها في الخطوات اللاحقة. انقر فوق التالي.

كيفية تجميع برامج جافا

الخطوة 3 ب: أدخل اسم Web ACL ، والمنطقة مثل North Virginia (أو حيث تم إنشاء EC2) ، ونوع المورد كـ 'Application Load Balancer' وأخيراً حدد Application Load Balancer الذي تم إنشاؤه في الخطوة السابقة. انقر فوق التالي.

الخطوة 3 ج: هنا أ شرط لحظر طلب تطبيق ويب معين يجب أن يتم إنشاؤه. مرر لأسفل وانقر على 'إنشاء شرط' من أجل 'شروط مطابقة السلسلة والتعبير العادي'.

الخطوة ثلاثية الأبعاد: أدخل اسم الشرط ، واكتب على أنه 'تطابق سلسلة' ، وقم بتصفية 'جميع معلمات الاستعلام' وبقية المعلمات تمامًا كما هو موضح أدناه. وانقر على 'إضافة عامل تصفية' ثم على إنشاء. نحاول هنا إنشاء شرط يطابق عنوان URL الذي يحتوي على قيمة معامل الاستعلام مثل 169.254.169.254. عنوان IP هذا مرتبط بـ بيانات تعريف EC2 .

الخطوة 3 هـ: حان الوقت الآن لإنشاء قاعدة تتكون من مجموعة من الشروط. انقر فوق 'إنشاء قاعدة' وحدد المعلمات كما هو موضح أدناه بالضبط. انقر فوق 'إضافة شرط' ، وإنشاء و 'مراجعة وإنشاء'.

المضي قدمًا في هذه المقالة حول 'كيفية تأمين تطبيق الويب باستخدام AWS WAF؟'

الخطوة 3f: أخيرًا راجع جميع التفاصيل وانقر على 'تأكيد وإنشاء'. سيتم إنشاء Web ACL (قائمة التحكم في الوصول) وربطها بـ Application Load Balancer كما هو موضح أدناه.

الخطوة 3 ز: حاول الآن الوصول إلى عنوان URL الخاص بـ Application Load Balancer عبر المتصفح كما تم إجراؤه في الخطوة 2 k . هذه المرة سنحصل على '403 Forbidden' لأن عنوان URL الخاص بنا يطابق شرط Web ACL ونحن نحظره. لا يصل الطلب مطلقًا إلى Application Load Balancer أو تطبيق الويب على EC2. نلاحظ هنا أنه على الرغم من أن التطبيق يسمح بالوصول إلى بيانات اعتماد الأمان ، فإن WAF يحظرها.

الخطوة الرابعة: تنظيف موارد AWS التي تم إنشاؤها في هذا البرنامج التعليمي. يجب أن يتم التنظيف بالترتيب نفسه تمامًا كما هو مذكور أدناه. هذا لضمان قيام AWS بإيقاف فوترة الموارد المرتبطة التي تم إنشاؤها كجزء من هذا البرنامج التعليمي.

  • حذف الشرط في القاعدة
  • احذف القاعدة في WebACL
  • افصل ALB في WebACL
  • حذف WebACL
  • حذف القاعدة
  • احذف المرشح في الشرط
  • احذف الشرط
  • احذف ALB والمجموعة المستهدفة
  • قم بإنهاء EC2
  • حذف دور IAM

خاتمة

كما ذكرنا سابقًا ، فإن إنشاء تطبيق ويب باستخدام AWS أمر سهل وممتع للغاية. ولكن يجب علينا أيضًا التأكد من أن التطبيق آمن وأن البيانات لا يتم تسريبها إلى الأيدي الخطأ. يمكن تطبيق الأمن على طبقات متعددة. في هذا البرنامج التعليمي ، رأينا كيفية استخدام AWS WAF (جدار حماية تطبيق الويب) لحماية تطبيق الويب من الهجمات مثل المطابقة مع عنوان IP الخاص بـ EC2 Metadata. كان بإمكاننا أيضًا استخدام WAF للحماية من الهجمات الشائعة مثل حقن SQL و XSS (البرمجة النصية عبر المواقع).

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

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

لديك سؤال لنا؟ يرجى ذكرها في قسم التعليقات في مدونة ما هي مدونة AWS وسنعاود الاتصال بك.