Azure Application Gateway WAF exceptions list (preview)

ينطبق على: ✔️ بوابة التطبيق V2

يساعد Azure Application Gateway Web Application Firewall (WAF) في حماية تطبيقات الويب الخاصة بك من التهديدات والهجمات الشائعة. تصف هذه المقالة كيفية تكوين قوائم استثناءات WAF في سياسة WAF المرتبطة ببوابة التطبيق الخاصة بك.

للحصول على نظرة عامة على سياسات WAF، راجع Azure Web Application Firewall on Azure Application Gateway و Create Web Application Firewall policies for Application Gateway.

في بعض الحالات، قد يحظر WAF الطلبات الآمنة والمتوقعة لتطبيقك. تسمح لك قوائم الاستثناءات بتجاوز فحص WAF لطلبات محددة. يمكنك تكوين الاستثناءات على مستوى القاعدة أو مجموعة القواعد أو مجموعة القواعد المدارة.

فقط الجيل القادم من محرك WAF يدعم الاستثناءات، ويمكنك استخدامها فقط إذا كانت نسخة قواعد النظام المدارة لديك هي CRS 3.2 أو DRS 2.1 أو أحدث. لمزيد من المعلومات، راجع ترقية إصدار مجموعة قواعد CRS أو DRS.

Important

الاستثناءات في Azure Application Gateway Web Application Firewall (WAF) حاليا في مرحلة المعاينة. راجع شروط الاستخدام الإضافية الإضافية لمعاينات Microsoft Azure للمصطلحات القانونية التي تنطبق على الميزات Azure التي هي في مرحلة التجريب، أو المعاينة، أو التي لم تصدر بعد في التوفر العام.

تعريف سمات الطلب

عند إنشاء استثناء، حدد أي سمات الطلب تحدد حركة المرور التي يجب أن تتجاوز تقييم WAF. تشمل السمات المدعومة:

  • طلب URI
  • عنوان IP البعيد
  • اسم وقيمة رأس الطلب

مطابقة السمات إما بدقة أو جزئيا باستخدام العوامل التالية:

  • المتساويات: تطابق القيمة بالضبط.
    مثال: لاختيار حامل الرمز الرئيسي، استخدم عامل Equals مع bearerToken كمحدد.

  • يبدأ ب: تطابق القيم بدءا من المحدد المحدد.

  • تنتهي ب: تطابق القيم التي تنتهي بالمحدد.

  • يحتوي على: تطابق القيم التي تحتوي على المحدد المحدد.

  • مطابقة IP: تطابق عنوان IP واحد أو أكثر.

تعيين نطاق الاستثناء

استثناءات النطاق ل:

  • قاعدة محددة

  • مجموعة قواعد

  • مجموعة قواعد مدارة بالكامل

عندما تعرف استثناء:

  • حدد القواعد أو مجموعة القواعد أو مجموعة القواعد المدارة التي تنطبق عليها.

  • حدد خاصية الطلب التي تحدد حركة المرور التي يجب استبعادها.

  • لاستبعاد مجموعة قواعد كاملة، قدم المعامل.ruleGroupName استخدم المعامل rules فقط عند تضييق الاستثناء إلى قواعد محددة ضمن تلك المجموعة.

نصيحة

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

طبق استثناء على بوليصة WAF الخاصة بك

افترض أنك لا تريد أن يقوم WAF بفحص الطلبات إلى /login.php وعند /logout.php تقييم قواعد حقن SQL. قم بتكوين الاستثناءات كما يلي:

  1. اذهب إلى سياسة WAF حيث تريد إضافة استثناءات.

  2. في قسم الإعدادات، اختر القواعد المدارة.

  3. في تبويب الاستثناءات ، اختر إضافة استثناءات.

    لقطة شاشة توضح كيفية إضافة استثناءات في سياسة WAF في بوابة Azure.

  4. في تطبيق على، اختر مجموعة قواعد DRS لتطبيق الاستثناء عليها، مثل Microsoft_DefaultRuleSet_2.1، واختر النطاق (مجموعة القواعد، القواعد المحددة، أو مجموعة القواعد بأكملها).

    لقطة شاشة توضح كيفية اختيار مجموعة قواعد DRS ونطاق الاستثناء في سياسة WAF في بوابة Azure.

  5. اختر إضافة استثناء وقم بتكوين متغير المطابقة، عامل مطابقة القمة، والقيم.

    لقطة شاشة توضح كيفية تكوين متغير المطابقة، وعامل مطابقة القيم، والقيم الخاصة بالاستثناء في سياسة WAF في بوابة Azure.

  6. اختر إضافة ثم حفظ لتطبيق الاستثناء الجديد.

    يظهر الاستثناء الجديد في تبويب الاستثناءات .

Limitations

تنطبق القيود التالية على استثناءات WAF:

  • تدعم كل سياسة Azure WAF حتى 60 استثناء.

  • تدعم كل بوابة تطبيق ما يصل إلى 60 استثناء إجمالا، محسوبة كمجموع جميع الاستثناءات عبر سياسات WAF المرتبطة بتلك البوابة.

  • ضمن استثناء واحد، يمكنك التكوين حتى حتى:

    • 600 عنوان IP، أو

    • 10 URIs، أو

    • 10 رؤوس طلبات.

خيارات للسماح بحركة المرور عبر Azure WAF

يوفر Azure Web Application Firewall (WAF) عدة آليات للسماح بأمان بحركة المرور عند الحاجة مع الحفاظ على الحماية. اعتمادا على ما إذا كنت تريد تجاوز الفحص لجزء من الطلب أو للطلب بأكمله، استخدم قواعد الاستثناءات أو الاستثناءات أو قواعد المخصصة.

السماح بأجزاء محددة من الطلب باستخدام الاستثناءات

استخدم الاستثناءات عندما تريد من WAF تخطي فحص عنصر معين داخل الطلب، مثل الرأس أو معامل الاستعلام أو الكوكيز، مع الاستمرار في تطبيق الفحص على بقية الطلب.

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

السماح بالطلبات الكاملة باستخدام قواعد واستثناءات مخصصة

للسماح بطلب كامل بتجاوز فحص WAF، استخدم أحد الخيارات التالية:

قاعدة مخصصة مع إجراء السماح

عند تكوين قاعدة مخصصة باستخدام إجراء السماح ، يتجاوز الطلب فحص مجموعة القواعد الافتراضية (DRS)، ومجموعة القواعد الأساسية (CRS)، ومجموعة قواعد حماية البوتات.

Important

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

استخدم هذا التكوين فقط عندما تثق تماما في مصدر حركة المرور أو التطبيق، لأنه يعطل فعليا اكتشاف التوقيع والشذوذ.

مثال: إذا كان لديك واجهة برمجة تطبيقات شريك موثوقة تفعل قواعد DRS بشكل متكرر بسبب تنسيق الحمولة الخاص بها، يمكنك إنشاء قاعدة السماح مخصصة لحركة المرور القادمة من نطاق IP الخاص بالشريك. يضمن هذا التكوين ألا يتم حظر حركة المرور أبدا بواسطة DRS أو CRS أو حماية البوتات، مع الاستفادة من حماية DDoS الخاصة ب HTTP.

الاستثناءات (تحكم أكثر تفصيلا)

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

يمكنك تطبيق استثناءات على DRS، CRS، حماية البوتات، وحتى قواعد DDoS الخاصة ب HTTP.

يوفر هذا النهج تحكما دقيقا، بحيث يمكنك تعطيل الفحص بسبب قاعدة إشكالية واحدة مع الحفاظ على بقية الحمايات نشطة.

مثال: إذا كانت قاعدة DRS واحدة (مثل تقييد رأس نوع المحتوى) تمنع طلبات تطبيقات الجوال الصحيحة، يمكنك إنشاء استثناء لتلك القاعدة فقط. جميع قواعد DRS الأخرى، وحماية البوتات، وحماية DDoS تستمر في العمل على حركة المرور.