انتقل إلى المحتوى

إعداد تطبيق سياسة واجهة برمجة التطبيقات

تصف هذه المقالة كيفية تمكين وتهيئة حماية واجهة برمجة التطبيقات بناءً على مواصفات واجهة برمجة التطبيقات التي قمت بتحميلها.

الخطوة 1: تحميل المواصفات

  1. في قسم مواصفات واجهة برمجة التطبيقات في السحابة الأمريكية أو السحابة الأوروبية، انقر على تحميل المواصفات.

  2. قم بتعيين معايير تحميل المواصفات وابدء بالتحميل.

    تحميل المواصفات

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

الخطوة 2: تعيين الإجراءات لانتهاكات السياسات

  1. انقر على علامة التبويب تطبيق سياسة واجهة برمجة التطبيقات.

    كشف واجهة برمجة التطبيقات الغير مصرح بها

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

  3. حدد الاستضافة أو نقطة النهاية التي ترغب في تنشيط إجراءات انتهاك السياسة لها.

    • لاحظ أنه إذا حددت بشكل غير صحيح النقاط التي يجب تطبيق المواصفات عليها، سيكون هناك العديد من الأحداث الإيجابية الكاذبة.
    • إذا كان لديك مواصفات عديدة تنطبق على نفس الاستضافة، ولكن لنقاط نهاية مختلفة (على سبيل المثال domain.com/v1/api/users/ و domain.com/v1/api/orders/)، يجب عليك تحديد النقاط التي يجب تطبيق المواصفات عليها.
    • إذا أضفت مواصفات إلى استضافة، ثم أضفت مواصفة أخرى إلى نقاط نهاية فردية لهذه الاستضافة، سيتم تطبيق كلتا المواصفتين على هذه النقاط.
    • يمكن تهيئة القيمة عبر مُنشئ URI أو نموذج التحرير المتقدم.
  4. حدد كيف يجب أن يتفاعل النظام إذا كانت الطلبات تخالف مواصفاتك.

    المواصفات - استخدامها لتطبيق سياسة واجهة برمجة التطبيقات

    التفاصيل حول الانتهاكات المحتملة:

    • Requesting an undefined endpoint - a request targets the endpoint not presented in your specification
    • Requesting endpoint with undefined parameter - a request contains the parameter not presented for this endpoint in your specification
    • Requesting endpoint without required parameter - a request does not contain the parameter or its value that are marked as required in your specification
    • Requesting endpoint with invalid parameter value - a request parameter's value in not in correspondence with its type/format defined by your specification
    • Requesting endpoint without authentication method - a request does not contain the information about the authentication method
    • Requesting endpoint with invalid JSON - a request contains an invalid JSON

    The system can perform the following actions in case of found inconsistency:

    • Block - block a request and put in the Attacks section as blocked

      Filtration mode

      The Wallarm node will block requests only when the blocking filtration mode is enabled for target endpoint - otherwise, Monitor action will be performed.

    • Monitor - mark a request as incorrect, but do not block, put it in the Attacks section as monitored

    • Not tracked - do nothing

    Note that several specifications can be used for setting policies. In case when one request falls on two different specifications (the same policy and different actions in different specifications), the following will happen:

    • Block and Block - the request will be blocked and two events will be added to the Attacks section with status Blocked pointing at the reason of blocking and at the fact that the request violated two different specifications.
    • Monitor and Block - the request will be blocked and one event will be added to the Attacks section with status Blocked explaining the reason of blocking.
    • Monitor and Monitor - the request will not be blocked and two events will be added to the Attacks section with status Monitoring pointing at the fact that specific policy was violated.

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

التعطيل

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

  • بالنسبة لتثبيتات حزم NGINX بما في ذلك تلك عبر المثبت الشامل، لأي قسم server حيث يُستخدم تطبيق سياسة واجهة برمجة التطبيقات من خلال توجيه NGINX wallarm_enable_apifw المُعدّ لـ off.

  • بالنسبة لصورة Docker القائمة على NGINX، من خلال متغير البيئة WALLARM_APIFW_ENABLE متغير البيئة المُعدّ إلى false.

  • بالنسبة لوحدة تحكم الوصول NGINX، من خلال مجموعة القيم controller.wallarm.apifirewall مع تعيين enable إلى false.