مشاركة عبر


جدار حماية تطبيق ويب Azure على بوابة التطبيق للحاويات

يوفر Azure Web Application Firewall حماية مركزية لتطبيقات الويب الخاصة بك من عمليات الاستغلال والثغرات الأمنية الشائعة. توجد جميع وظائف Azure Web Application Firewall داخل نهج، والتي يمكن الرجوع إليها في قواعد التوجيه المستندة إلى المستمع أو المسار داخل تكوين YAML لواجهة برمجة تطبيقات البوابة.

رسم تخطيطي يوضح قاعدة جدار حماية تطبيق ويب Azure تحظر طلبا.

تطبيق بوابة التطبيق للحاويات

نهج الأمان

تقدم Application Gateway for Containers موردا فرعيا جديدا يسمى SecurityPolicy في Azure Resource Manager. يجلب المورد SecurityPolicy النطاق الذي يمكن أن تشير إليه نهج جدار حماية تطبيق ويب Azure التي يمكن لوحدة تحكم ALB الرجوع إليها.

مورد Kubernetes المخصص

تقدم بوابة التطبيق للحاويات موردا مخصصا جديدا يسمى WebApplicationFirewallPolicy. المورد المخصص مسؤول عن تحديد نهج جدار حماية تطبيق الويب Azure الذي يجب استخدامه في أي نطاق.

يمكن أن يستهدف مورد WebApplicationFirewallPolicy موارد Kubernetes التالية:

  • Gateway
  • HTTPRoute

يمكن لمورد WebApplicationFirewallPolicy أيضا الرجوع إلى الأقسام التالية بالاسم لمزيد من الدقة:

  • Gateway Listener

أمثلة على التطبيقات

نطاق نهج لمورد البوابة

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

apiVersion: alb.networking.azure.io/v1
kind: WebApplicationFirewallPolicy
metadata:
  name: sample-waf-policy
  namespace: test-infra
spec:
  targetRef:
    group: gateway.networking.k8s.io
    kind: Gateway
    name: contoso-waf-route
    namespace: test-infra
  webApplicationFirewall:
    id: /subscriptions/.../Microsoft.Network/applicationGatewayWebApplicationFirewallPolicies/waf-policy-0

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

ضمن المورد Gateway ، قد يكون لديك أسماء مضيفين مختلفة يحددها مستمعون مختلفون (على سبيل المثال contoso.com و fabrikam.com). إذا كان contoso.com هو اسم مضيف ل listenerA وكان fabrikam.com هو اسم مضيف ل listenerB، فيمكنك تحديد الخاصية sectionNames لتحديد المستمع المناسب (على سبيل المثال، listenerA ل contoso.com).

apiVersion: alb.networking.azure.io/v1
kind: WebApplicationFirewallPolicy
metadata:
  name: sample-waf-policy
  namespace: test-infra
spec:
  targetRef:
    group: gateway.networking.k8s.io
    kind: Gateway
    name: contoso-waf-route
    namespace: test-infra
    sectionNames: ["contoso-listener"]
  webApplicationFirewall:
    id: /subscriptions/.../Microsoft.Network/applicationGatewayWebApplicationFirewallPolicies/waf-policy-0

سياسة النطاق عبر جميع المسارات والمسارات

يوضح هذا المثال كيفية استهداف مورد HTTPRoute محدد لتطبيق النهج على أي قواعد ومسارات توجيه داخل مورد HTTPRoute معين.

apiVersion: alb.networking.azure.io/v1
kind: WebApplicationFirewallPolicy
metadata:
  name: sample-waf-policy
  namespace: test-infra
spec:
  targetRef:
    group: gateway.networking.k8s.io
    kind: HTTPRoute
    name: contoso-pathA
    namespace: test-infra
  webApplicationFirewall:
    id: /subscriptions/.../Microsoft.Network/applicationGatewayWebApplicationFirewallPolicies/waf-policy-0

نهج النطاق لمسار معين

لاستخدام نهج WAF مختلفة لمسارات مختلفة من نفس Gateway البوابة أو اسم البوابة -> مقطع المستمع، يمكنك تحديد موردي HTTPRoute، لكل منهما مسار فريد، يشير كل منهما إلى نهج WAF المعمول به.

apiVersion: alb.networking.azure.io/v1
kind: WebApplicationFirewallPolicy
metadata:
  name: sample-waf-policy-A
  namespace: test-infra
spec:
  targetRef:
    group: gateway.networking.k8s.io
    kind: HTTPRoute
    name: contoso-pathA
    namespace: test-infra
  webApplicationFirewall:
    id: /subscriptions/.../Microsoft.Network/applicationGatewayWebApplicationFirewallPolicies/waf-policy-0
---
apiVersion: alb.networking.azure.io/v1
kind: WebApplicationFirewallPolicy
metadata:
  name: sample-waf-policy-B
  namespace: test-infra
spec:
  targetRef:
    group: gateway.networking.k8s.io
    kind: HTTPRoute
    name: contoso-pathB
    namespace: test-infra
  webApplicationFirewall:
    id: /subscriptions/.../Microsoft.Network/applicationGatewayWebApplicationFirewallPolicies/waf-policy-1

Limitations

الوظيفة التالية غير مدعومة في نهج جدار حماية تطبيق ويب Azure المقترن ببوابة التطبيق للحاويات:

  • نهج الاشتراك عبر المناطق: يجب أن يكون نهج WAF الخاص بك في نفس الاشتراك والمنطقة مثل مورد Application Gateway for Containers.
  • القواعد المدارة لمجموعة القواعد الأساسية (CRS): تدعم بوابة التطبيق للحاويات WAF مجموعات القواعد المدارة لمجموعة القواعد الافتراضية (DRS) فقط.
  • مجموعة قواعد مدير الروبوت القديمة: مجموعة قواعد مدير الروبوت 0.1 غير مدعومة، ولكن يتم دعم الإصدارين 1.0 و1.1 من مجموعة قواعد إدارة الروبوتات.
  • إجراءات تحدي JavaScript على قواعد مدير برامج التبرير: لا يمكنك تعيين الإجراء في قاعدة مدير برامج تتبع إلى اختبار JavaScript.
  • إجراءات تحدي التحقق على قواعد مدير الروبوت: لا يمكنك تعيين الإجراء على قاعدة مدير الروبوت إلى Captcha.
  • Microsoft Security Copilot: مساعد الأمان غير مدعوم على Application Gateway for Containers WAF.
  • استجابة الكتلة المخصصة: إعداد استجابة كتلة مخصصة في نهج WAF الخاص بك غير مدعوم على Application Gateway for Containers WAF.
  • رأس X-Forwarded-For (XFF): بوابة التطبيق للحاويات لا يدعم WAF متغير XFF في القواعد المخصصة.
  • مجموعة قواعد HTTP DDoS: هذه المجموعة المدارة غير مدعومة حاليا على Application Gateway for Containers.

التسعير

للحصول على تفاصيل التسعير، راجع فهم تسعير Application Gateway للحاويات.