تخصيص قواعد Web Application Firewall باستخدام واجهة Microsoft Azure CLI

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

عرض القواعد ومجموعاتها

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

عرض مجموعات القواعد

يوضح المثال التالي كيفية عرض مجموعات القواعد:

az network application-gateway waf-config list-rule-sets --type OWASP

الناتج التالي هو استجابة مقطوعة من المثال السابق:

[
  {
    "id": "/subscriptions//resourceGroups//providers/Microsoft.Network/applicationGatewayAvailableWafRuleSets/",
    "location": null,
    "name": "OWASP_3.0",
    "provisioningState": "Succeeded",
    "resourceGroup": "",
    "ruleGroups": [
      {
        "description": "",
        "ruleGroupName": "REQUEST-910-IP-REPUTATION",
        "rules": null
      },
      ...
    ],
    "ruleSetType": "OWASP",
    "ruleSetVersion": "3.0",
    "tags": null,
    "type": "Microsoft.Network/applicationGatewayAvailableWafRuleSets"
  },
  {
    "id": "/subscriptions//resourceGroups//providers/Microsoft.Network/applicationGatewayAvailableWafRuleSets/",
    "location": null,
    "name": "OWASP_2.2.9",
    "provisioningState": "Succeeded",
    "resourceGroup": "",
   "ruleGroups": [
      {
        "description": "",
        "ruleGroupName": "crs_20_protocol_violations",
        "rules": null
      },
      ...
    ],
    "ruleSetType": "OWASP",
    "ruleSetVersion": "2.2.9",
    "tags": null,
    "type": "Microsoft.Network/applicationGatewayAvailableWafRuleSets"
  }
]

عرض القواعد في مجموعة قواعد

يوضح المثال التالي كيفية عرض القواعد في مجموعة قواعد محددة:

az network application-gateway waf-config list-rule-sets --group "REQUEST-910-IP-REPUTATION"

الناتج التالي هو استجابة مقطوعة من المثال السابق:

[
  {
    "id": "/subscriptions//resourceGroups//providers/Microsoft.Network/applicationGatewayAvailableWafRuleSets/",
    "location": null,
    "name": "OWASP_3.0",
    "provisioningState": "Succeeded",
    "resourceGroup": "",
    "ruleGroups": [
      {
        "description": "",
        "ruleGroupName": "REQUEST-910-IP-REPUTATION",
        "rules": [
          {
            "description": "Rule 910011",
            "ruleId": 910011
          },
          ...
        ]
      }
    ],
    "ruleSetType": "OWASP",
    "ruleSetVersion": "3.0",
    "tags": null,
    "type": "Microsoft.Network/applicationGatewayAvailableWafRuleSets"
  }
]

تعطيل القواعد

يعطل المثال التالي القاعدتين 910018 و910017 الموجودة في بوابة التطبيق:

az network application-gateway waf-config set --resource-group AdatumAppGatewayRG --gateway-name AdatumAppGateway --enabled true --rule-set-version 3.0 --disabled-rules 910018 910017

قواعد إلزامية

تحتوي القائمة التالية على شروط تتسبب في حظر WAF للطلب أثناء وضع الوقاية (في وضع الكشف يتم تسجيلها كاستثناءات). لا يمكن تكوين هذه الشروط أو تعطيلها:

  • يؤدي عدم تحليل نص الطلب إلى حظر الطلب، ما لم يتم إيقاف تشغيل فحص الجسم (XML وJSON وبيانات النموذج)
  • طول بيانات نص الطلب (بدون ملفات) أكبر من الحد الذي تم تكوينه
  • نص الطلب (ويشمل ملفات) أكبر من الحد
  • وقع خطأ داخلي في محرك WAF

CRS 3.x محدد:

  • الحد الوارد anomaly score الذي تم تجاوزه

الخطوات التالية

بعد قيامك بتكوين القواعد المعطلة، يمكنك معرفة كيفية عرض سجلات WAF الخاصة بك. لمزيد من المعلومات، راجع عمليات التشخيص في Application Gateway.