تأمين التطبيق باستخدام WAF

بمجرد توجيه التطبيق الخاص بك من خلال جدار حماية تطبيقات الويب (WAF)، قم بتأمين التطبيق من خلال استخدام سمات السرية المختلفة المعروضة من خلال بروتوكول التطبيق اللاسلكي (WAF).

يمكنك تأمين التطبيق بواسطة:

  • تكوين قواعد الحماية
  • استخدام إدارة اللوحات
  • إضافة قواعد الوصول

تكوين قواعد الحماية

يمكنك تأمين التطبيق بقواعد لقطعة وحدات كتابة اسكربت الموقع المتقاطع (XSS) وإحضار SQL (SQLi).

لتكوين قواعد الحماية:
  1. قم بتسجيل الدخول إلى وحدة تحكم Oracle Cloud Infrastructure الطرفية.
  2. افتح قائمة الاستكشاف. تحت الإشراف والإدارة، انتقل إلى التأمين وانقر على أنظمة WAF.
  3. انقر على قواعد الحماية.
    يتم عرض جدول بقواعد حماية معرفة مسبقًا.
  4. استخدم مرشح RULE ID وحدد القاعدتين 941140 و981300.
    يتم عرض بيانات القاعدة على اليسار.
  5. حدد كل قاعدة وانقر على تجميد من القائمة المنسدلة إجراءات.
  6. انقر على نشر الكل.
    قد يستغرق نشر التغييرات على نظام WAF عدة دقائق.

التحقق من قواعد الحماية

للتحقق مما إذا كانت قواعد الحماية تعمل أم لا:
  1. افتح علامة تبويب الشبكة من صفحة أدوات مطور المستعرض.
  2. قم بالوصول إلى نموذج تطبيق الموظف، http://employee.<example.com>/public/، من المتصفح الخاص بك.
  3. انقر على موظف جديد وقم بملء النموذج بأية معلومات عينة.
  4. أدخل إدخال إدخال إدخال إدخال SQL التالي في حقل الاسم الأول:
    SomeUser; DROP TABLE users
  5. من خلال علامة تبويب "الشبكة" في المتصفح مفتوحة، انقر على حفظ في نموذج "موظف جديد".
    POST إلى /employees محظور مع 403 Forbidden.
  6. قم بتشغيل أمر cURL:
    curl -X POST http://${WAF_TARGET}/employees \ 
    -H 'host: employee.example.com' \ 
    -d '{"firstName":"Name; DROP TABLE users"}'
    يُرجع الأمر خطأ 403.
  7. قم بتشغيل طلب GET عبر محاولة كتابة سكريبت الموقع المتقاطع (XSS) في معلمات الاستعلام بشريط عنوان المستعرض الخاص بك:
    http://employee.<example.com>/employees/?id=%3Cscript%3Ealert(%27bad%27)%3C/script%3Ein

    يرجع المستعرض ما يلي:


    ما يلي هووصف waf - rbidden.png
    وصف الشكل التوضيحي wafrbidden.png

تقوم الخطوات السابقة بتشغيل إجراء WAF Block عدة مرات. الآن، ارجع إلى بيانات نظام WAF في وحدة تحكم Oracle Cloud Infrastructure الطرفية لفحص السجلات.
  1. افتح نظام العرض التجريبي للموظف.
  2. انقر على السجلات.
  3. حدد نطاقًا زمنيًا/زمنيًا يتجاوز الوقت الذي حاولت فيه استخدام SQLi وXSS attacks.
  4. حدد العناصر التي تشتمل على Action: Block، وقم بتوسيع بيانات الصف في طلب مجمد ثم انقر على عرض JSON.
  5. عرض الرسائل المسرودة كـ protectionRuleDetections وبيانات الطلب الأخرى.

استخدام إدارة الإطارات

إحدى ميزات خدمة جدار الحماية من تطبيق ويب Oracle Cloud Infrastructure (WAF) هي إمكانيات إدارة بوينت.

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

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

إضافة تحدي CAPTCHA

إحدى سمات التراكم لإدارة Bot هي CAPTCHA. يوفر استخدام CAPTCHA وسيلة بسيطة للتحقق من المستخدمين التي تضمن التفاعل البشري، دون طلب أية تغييرات على التطبيق الأساسي.

لإضافة اختبار CAPTCHA:
  1. وحدة تحكم Oracle Cloud Infrastructure الطرفية.
  2. افتح قائمة الاستكشاف. تحت الإشراف والإدارة، انتقل إلى التأمين وانقر على أنظمة WAF.
  3. افتح نظام العرض التجريبي للموظف وانقر على Bot Management.
  4. انقر على علامة التبويب اختبار CAPTCHA ثم انقر على إضافة تعليق توضيحي.
  5. أدخل /public/index.html كقيمة في حقل مسار CAPTCHA URL.
  6. اترك القيم الافتراضية في الحقول المتبقية كما هي.
  7. انقر على إضافة ثم انقر على نشر الكل.
  8. بعد نشر التغييرات واستئناف نظام WAF في حالة ACTIVE، قم بتحميل الصفحة، http://employee.<example.com>/public/index.html، من المتصفح.
    يعرض المستعرض تحدي CAPTCHA التالي:

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

إضافة قاعدة التحكم في صلاحيات الوصول

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

باستخدام التحكم في الوصول، يمكنك تحديد القواعد على أساس شروط الطلب، بما في ذلك:
  • رؤوس HTTP
  • أنماط عناوين URL
  • عناوين IP
  • الموقع الجغرافي

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

لإضافة قاعدة تحكم في الوصول:
  1. وحدة تحكم Oracle Cloud Infrastructure الطرفية.
  2. افتح قائمة الاستكشاف. تحت الإشراف والإدارة، انتقل إلى التأمين وانقر على أنظمة WAF.
  3. افتح نظام العرض التجريبي للموظف وانقر على التحكم في الوصول.
  4. انقر على إضافة قاعدة وصول.
  5. أدخل اسم قاعدة، مثل Prevent Delete.
  6. أضف شروط القاعدة التالية:
    • أسلوب HTTP هو: DELETE
    • عنوان URL يبدأ بـ: /الموظفين
  7. حدد إجراء قاعدة القطعة، ثم حدد 403 ممنوع (الخيار الافتراضي) باعتباره رمز إعداد الاستجابة (إجراء القطعة).
  8. انقر على إضافة قاعدة وصول لتكوين القاعدة، ثم انقر على نشر الكل.

بعد نشر التغييرات واستئناف نظام WAF في حالة ACTIVE:

  1. افتح علامة تبويب الشبكة من صفحة أدوات مطور المستعرض.
  2. قم بالوصول إلى نموذج تطبيق الموظف، http://employee.<example.com>/public/، من المتصفح الخاص بك.
  3. حدد سجل موظف، ثم انقر زر حذف

في علامة تبويب "الشبكة" بقسم "أدوات مطور مستعرض"، ستلاحظ أن WAF قد استبعد هذا الطلب وتم تجميده باستجابة 403 Forbidden.

تتم مناقشة سمات Oracle Cloud Infrastructure WAF في تركيز هذا الحل على تأمين مثال أساسي. ستكون سيناريوهات الاستخدام فريدة لكل تطبيق، ويمكنك تكوين WAF وفقًا لذلك.