جدار حماية تطبيقات الويب على Front Door
أرفق نهج WAF بملف تعريف Front Door، وفعّل مجموعات القواعد المُدارة للحماية من OWASP Top 10، وأنشئ قواعد مخصصة لحظر عناوين IP الضارة المعروفة.
جدار حماية تطبيقات الويب على Front Door درس مجاني في Azure Fundamentals على CoddyKit. هذا هو الدرس 3 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Azure Fundamentals، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Azure Fundamentals 4 دروس في المجموع.
ما هو Web Application Firewall؟
يفحص Web Application Firewall (WAF) طلبات HTTP/HTTPS في الطبقة 7 ويحظر أنماط الهجمات المعروفة قبل وصولها إلى تطبيقك. وتشمل الهجمات الشائعة التي يمنعها حقن SQL، والبرمجة النصية عبر المواقع (XSS)، وتضمين الملفات عن بُعد، والشذوذات في البروتوكول. ومن دون WAF، يمكن للمهاجمين استغلال الثغرات في تعليمات برمجة تطبيقك حتى إذا كانت شبكتك مؤمّنة بصورة صحيحة. ويتكامل Azure WAF مع كل من Azure Front Door وAzure Application Gateway.
مورد نهج WAF
في Azure، يُعد نهج WAF موردًا مستقلًا يحتوي على مجموعات قواعد مُدارة وقواعد مخصصة. تنشئ النهج وتكوّن القواعد، ثم تربطه بنقطة نهاية Front Door واحدة أو أكثر أو بمثيلات Application Gateway. ويعني هذا التصميم المفصول أن نهج WAF واحدًا يمكنه حماية نقاط نهاية Front Door متعددة — إذ ينتشر أي تغيير واحد في النهج تلقائيًا إلى جميع نقاط النهاية المرتبطة. توجد نُهج WAF في منطقة Azure محددة، ولكن عند إرفاقها بـ Front Door، يُطبَّق مستوى الحماية عالميًا في جميع نقاط التواجد.
# Create a WAF policy for Front Door
az network front-door waf-policy create \
--name myWAFPolicy \
--resource-group myRG \
--sku Premium_AzureFrontDoor \
--mode Preventionوضع الكشف مقابل وضع المنع
تعمل نُهج WAF في وضعين. يفحص وضع الكشف جميع الطلبات ويسجل حالات المطابقة مع القواعد، لكنه لا يحظر أي حركة مرور — وهو مفيد عند النشر الأولي لفهم حركة المرور التي سيحظرها النهج قبل فرضه. أما وضع المنع فيسجل الطلبات التي تطابق شروط القواعد ويحظرها فعليًا. ومن أفضل الممارسات البدء بوضع الكشف، ومراجعة سجلات WAF بحثًا عن النتائج الإيجابية الخاطئة، وضبط القواعد، ثم التبديل إلى وضع المنع بعد التأكد من صحة النهج.
# Switch WAF policy to Prevention mode
az network front-door waf-policy update \
--name myWAFPolicy \
--resource-group myRG \
--mode Preventionمجموعة القواعد الافتراضية من Microsoft
إن مجموعة القواعد الافتراضية من Microsoft (DRS) هي مجموعة قواعد مُدارة يتولى فريق أمان Microsoft صيانتها. وتضم قواعد لاكتشاف ثغرات OWASP Top 10، بالإضافة إلى بصمات برامج الروبوت وأنماط حشو بيانات الاعتماد. تحدّث Microsoft مجموعة DRS باستمرار بقواعد جديدة استجابةً للتهديدات الناشئة، لذلك لا تحتاج إلى كتابة القواعد بنفسك. تُصدَر إصدارات DRS بشكل دوري، مثل DRS 2.1، ويمكنك ترقية نهج WAF إلى إصدار أحدث أثناء نافذة الصيانة.
# Add the Microsoft Default Rule Set to your WAF policy
az network front-door waf-policy managed-rules add \
--policy-name myWAFPolicy \
--resource-group myRG \
--type Microsoft_DefaultRuleSet \
--version '2.1'مجموعة قواعد OWASP
تتوفر مجموعة القواعد الأساسية من OWASP (CRS) في Application Gateway WAF وكجزء من CDN WAF ضمن مستوى Verizon. وتضم أكثر من 200 قاعدة تغطي OWASP Top 10، بما في ذلك هجمات الحقن، ومشكلات المصادقة، والتعرض للبيانات الحساسة، وهجمات الكيانات الخارجية لـ XML، وغير ذلك. لكل قاعدة معرّف ومجموعة، مثل REQUEST-942-APPLICATION-ATTACK-SQLI. ويمكنك تعطيل قواعد فردية حسب المعرّف لمنع النتائج الإيجابية الكاذبة دون تعطيل مجموعة القواعد بأكملها.
قواعد WAF مخصصة
تتيح لك القواعد المخصصة كتابة شروط محددة للسماح أو الحظر لا تغطيها مجموعات القواعد المُدارة. تتكون القاعدة المخصصة من شرط مطابقة واحد أو أكثر، مثل عنوان IP المصدر، أو URI الطلب، أو قيمة الرأس، أو سلسلة الاستعلام، وتُدمج مع إجراء مثل Allow أو Block أو Log أو Redirect. تُقيَّم القواعد المخصصة قبل مجموعات القواعد المُدارة، وتدعم ترتيب الأولوية. ومن حالات الاستخدام الشائعة: حظر بلدان محددة، أو الحد من معدل برامج الزحف النشطة، أو إدراج عنوان IP موثوق لأغراض المراقبة في قائمة السماح لتجاوز قواعد WAF.
# Create a custom rule to block requests from a specific IP
az network front-door waf-policy rule create \
--name BlockMaliciousIP \
--policy-name myWAFPolicy \
--resource-group myRG \
--priority 100 \
--action Block \
--rule-type MatchRule \
--match-condition remoteAddr IPMatch '1.2.3.4/32'تحديد معدل الطلبات
تقيّد قواعد تحديد معدل الطلبات عدد طلبات HTTP الواردة من عنوان IP واحد للعميل خلال نافذة زمنية مدتها دقيقة أو 5 دقائق. وعندما يتجاوز عدد الطلبات الحد المحدد، يعيد WAF استجابة HTTP 429 (Too Many Requests) إلى ذلك العميل. ويفيد تحديد معدل الطلبات في التصدي لـهجمات تسجيل الدخول بالقوة الغاشمة وحشو بيانات الاعتماد وإساءة استخدام واجهات API. يمكنك إعداد حد الطلبات والنافذة الزمنية كجزء من تعريف القاعدة المخصصة في نهج WAF.
# Create a rate limit rule — max 100 requests per minute per IP
az network front-door waf-policy rule create \
--name RateLimitLogin \
--policy-name myWAFPolicy \
--resource-group myRG \
--priority 200 \
--action Block \
--rule-type RateLimitRule \
--rate-limit-threshold 100 \
--rate-limit-duration-in-minutes 1 \
--match-condition requestUri Contains '/login'مجموعة قواعد حماية الروبوتات
تصنّف مجموعة قواعد Bot Manager، المتاحة في Front Door Premium، حركة المرور الواردة إلى روبوتات جيدة، مثل برامج زحف محركات البحث التي تم التحقق منها، وروبوتات سيئة، مثل أدوات الفحص المعروفة وأدوات اختبار الثغرات، وروبوتات غير معروفة، وهي حركة مرور آلية غير مصنّفة. ويمكنك إعداد الإجراء لكل فئة: السماح بالروبوتات الجيدة، وحظر الروبوتات السيئة، وتسجيل الروبوتات غير المعروفة. ومن دون حماية الروبوتات، يمكن لأدوات الفحص الآلية إنشاء أحمال هائلة من حركة المرور تزيد تكاليفك وتحجب حركة المستخدمين الفعلية في التحليلات.
استثناءات WAF
تُصدر مجموعات القواعد المُدارة أحيانًا نتائج إيجابية كاذبة، إذ تحظر طلبات مشروعة لمجرد أنها تطابق نمطًا في قاعدة أمان. فعلى سبيل المثال، قد يرسل نظام إدارة محتوى يتضمن ميزة تحرير النص المنسق تعليمات HTML في أجسام POST، فتطابق قاعدة XSS. تتيح لك استثناءات WAF استثناء سمات محددة للطلب، مثل رؤوس الطلبات أو ملفات تعريف الارتباط أو معلمات سلسلة الاستعلام أو حقول جسم الطلب، من تقييم القواعد، سواء على مستوى عام أو لمجموعة قواعد محددة أو لمعرّف قاعدة محدد، دون تعطيل القاعدة بالكامل.
مراقبة WAF باستخدام السجلات
ينشئ WAF نوعين من إدخالات السجل في Azure Monitor: سجلات WAF، التي تتضمن كل طلب طابق قاعدة، سواء حُظر أو سُجّل، وسجلات الوصول، التي تتضمن جميع الطلبات، بما فيها الطلبات التي مرّت دون مطابقة أي قاعدة. أرسل هذه السجلات إلى مساحة عمل Log Analytics واستخدم KQL للاستعلام عن اتجاهات الطلبات المحظورة، وتحديد نقاط النهاية الأكثر تعرضًا للهجوم، أو التحقيق في عنوان IP محدد لعميل. ويوفر مصنف WAF Insights في المدخل لوحات معلومات مُعدة مسبقًا لعرض هذه السجلات.
// KQL — top 10 WAF rule hits in the last 24h
AzureDiagnostics
| where Category == 'FrontDoorWebApplicationFirewallLog'
| where TimeGenerated > ago(24h)
| where action_s == 'Block'
| summarize HitCount = count() by ruleName_s
| top 10 by HitCount descربط نهج WAF بـ Front Door
لتفعيل حماية WAF، يجب ربط نهج WAF بملف تعريف أمان Front Door. في المدخل، انتقل إلى ملف تعريف Front Door، وحدد Security policies، ثم أضف نهج WAF مع تحديد النطاقات التي ينطبق عليها. ويمكنك بدلًا من ذلك استخدام CLI لربط النهج. بعد الربط، يفحص WAF جميع طلبات HTTP/HTTPS الواردة إلى نطاقات Front Door المحددة قبل توجيهها إلى الأصل. ويمكنك ربط نهج WAF واحد بكل نطاق.
# Associate WAF policy with a Front Door security policy
az afd security-policy create \
--profile-name myFrontDoor \
--resource-group myRG \
--security-policy-name mySecurityPolicy \
--domains /subscriptions/<sub>/resourceGroups/myRG/providers/Microsoft.Cdn/profiles/myFrontDoor/customDomains/myDomain \
--waf-policy /subscriptions/<sub>/resourceGroups/myRG/providers/Microsoft.Network/frontDoorWebApplicationFirewallPolicies/myWAFPolicyاختبار سريع
اختبر مدى فهمك لمفاهيم Microsoft Azure Fundamentals (AZ-900) الواردة في هذا الدرس.
مراجعة الدرس
تعلّمت في هذا الدرس أن نهج WAF تحتوي على مجموعات قواعد مُدارة، مثل Microsoft DRS وOWASP، وقواعد مخصصة تفحص حركة مرور HTTP قبل وصولها إلى الأصل، وأن وضع الكشف يتيح لك ضبط القواعد قبل التبديل إلى وضع المنع، وأن قواعد تحديد معدل الطلبات تحمي من هجمات القوة الغاشمة وإساءة الاستخدام. بعد ذلك، سنستكشف استخدام محرك قواعد Front Door لتحسين الأداء من خلال عمليات إعادة التوجيه ورؤوس الأمان.
الأسئلة الشائعة
هل درس «جدار حماية تطبيقات الويب على Front Door» مجاني؟
نعم — نص درس «جدار حماية تطبيقات الويب على Front Door» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Azure Fundamentals، انتقل إلى CoddyKit PRO. تتضمن دورة Azure Fundamentals 4 دروس في المجموع.
ماذا ستتعلم في «جدار حماية تطبيقات الويب على Front Door»؟
أرفق نهج WAF بملف تعريف Front Door، وفعّل مجموعات القواعد المُدارة للحماية من OWASP Top 10، وأنشئ قواعد مخصصة لحظر عناوين IP الضارة المعروفة. تتمرن على Azure Fundamentals مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Azure Fundamentals؟
لا تُشترط خبرة سابقة. Azure Fundamentals على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 3 من أصل 4.
كم من الوقت يستغرق درس «جدار حماية تطبيقات الويب على Front Door»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Azure Fundamentals هذا؟
نعم. كل درس في Azure Fundamentals يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- ملفات تعريف Azure CDN ونقاط النهاية
- Azure Front Door: موازنة التحميل العالمية
- جدار حماية تطبيقات الويب على Front Door
- تحسين الأداء باستخدام قواعد CDN