الكشف عن التهديدات الجديدة باستخدام Microsoft Sentinel مع Azure Web Application Firewall

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

من خلال دمج Azure WAF مع Microsoft Sentinel (حل SIEM أصلي على السحابة)، يمكنك أتمتة الكشف عن التهديدات/الحوادث/التنبيهات والاستجابة لها وتوفير الوقت والجهد في تحديث نهج WAF. توضح هذه المقالة كيفية إنشاء قواعد/اكتشافات تحليلية في Microsoft Sentinel لهجمات مثل إدخال التعليمات البرمجية.

استعلامات الكشف عن هجمات تطبيقات الويب

يحتوي مستودع Azure Network Security GitHub على الاستعلامات التالية التي تم إنشاؤها مسبقا والتي يمكنك استخدامها لإنشاء قواعد تحليلية في Microsoft Sentinel. تساعد هذه القواعد التحليلية في الكشف التلقائي والاستجابة لهجمات مثل حقن التعليمات البرمجية والهجمات المستندة إلى اجتياز المسار والماسح الضوئي.

  • هجمات إدخال التعليمات البرمجية (Application Gateway و Front Door WAF)

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

  • هجمات اجتياز المسار (Application Gateway و Front Door WAF)

    هجوم اجتياز المسار هو نوع من الهجوم الإلكتروني الذي يتضمن معالجة مسارات الملفات للتطبيق للوصول إلى الملفات والدلائل المخزنة خارج مجلد جذر الويب. يمكن للمهاجم استخدام تسلسلات أحرف خاصة، مثل …/ أو …\، لنقل التسلسل الهرمي للدليل والوصول إلى البيانات الحساسة أو السرية، مثل ملفات التكوين أو التعليمات البرمجية المصدر أو ملفات النظام.

  • الهجمات المستندة إلى الماسح الضوئي (Application Gateway WAF)

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

إعداد القواعد التحليلية في Sentinel لهجمات تطبيقات الويب

المتطلبات الأساسية التالية مطلوبة لإعداد القواعد التحليلية:

  • WAF عامل ومساحة عمل Log Analytics التي تم تكوينها لتلقي سجلات من بوابة تطبيق Azure أو Azure Front Door المعنية. لمزيد من المعلومات، راجع سجلات الموارد لجدار حماية تطبيق ويب Azure.
  • بالإضافة إلى ذلك، يجب تمكين Microsoft Sentinel لمساحة عمل Log Analytics التي يتم استخدامها هنا. لمزيد من المعلومات، راجع التشغيل السريع: إلحاق Microsoft Sentinel.

استخدم الخطوات التالية لتكوين قاعدة تحليلية في Sentinel.

  1. انتقل إلى Microsoft Sentinel وحدد علامة التبويب Analytics . حدد Create ثم حدد Scheduled query rule. Screenshot showing creating a scheduled query rule.

    التكتيكات والتقنيات المقدمة هنا هي معلوماتية فقط ويتم الحصول عليها من MITRE الهجوم Knowledgebase هذا هو قاعدة المعارف (KB) من تكتيكات الخصم والتقنيات على أساس الملاحظات في العالم الحقيقي.

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

    Screenshot showing the analytics rule wizard.

  3. في صفحة تعيين منطق القاعدة، أدخل استعلام إدخال التعليمات البرمجية الذي تم إنشاؤه مسبقا: يمكنك العثور على هذا الاستعلام في مستودع GitHub لأمان شبكة Azure. وبالمثل، يمكنك استخدام أي استعلام آخر متوفر في المستودع لإنشاء قواعد تحليلية واكتشاف أنماط الهجوم المعنية.

     let Threshold = 3; 
    
     AzureDiagnostics
     | where Category == "ApplicationGatewayFirewallLog"
     | where action_s == "Matched"
     | where Message has "Injection" or Message has "File Inclusion"
     | where ruleGroup_s == "REQUEST-932-APPLICATION-ATTACK-RCE" or ruleGroup_s ==    "REQUEST-931-APPLICATION-ATTACK-RFI" or ruleGroup_s == "REQUEST-932-APPLICATION-ATTACK-RCE" or    ruleGroup_s == "REQUEST-933-APPLICATION-ATTACK-PHP" or ruleGroup_s ==    "REQUEST-942-APPLICATION-ATTACK-SQLI" or ruleGroup_s == "REQUEST-921-PROTOCOL-ATTACK" or ruleGroup_s    == "REQUEST-941-APPLICATION-ATTACK-XSS"
     | project transactionId_g, hostname_s, requestUri_s, TimeGenerated, clientIp_s, Message,    details_message_s, details_data_s
     | join kind = inner(
    
     AzureDiagnostics
    
     | where Category == "ApplicationGatewayFirewallLog"
     | where action_s == "Blocked") on transactionId_g
     | extend Uri = strcat(hostname_s,requestUri_s)
     | summarize StartTime = min(TimeGenerated), EndTime = max(TimeGenerated), TransactionID = make_set   (transactionId_g,100), Message = make_set(Message,100), Detail_Message = make_set(details_message_s,   100), Detail_Data = make_set(details_data_s,100), Total_TransactionId = dcount(transactionId_g) by    clientIp_s, Uri, action_s
     | where Total_TransactionId >= Threshold
    

    Screenshot showing the rule query.

    إشعار

    من المهم التأكد من أن سجلات WAF موجودة بالفعل في مساحة عمل Log Analytics قبل إنشاء هذه القاعدة التحليلية. وإلا، لن يتعرف Sentinel على بعض الأعمدة في الاستعلام وسيتعين عليك إضافة إدخال إضافي مثل | extend action_s = column_ifexists(“action_s”, “”), transactionId_g = column_ifexists(“transactionId_g”, “”) لكل عمود يعطي خطأ. ينشئ هذا الإدخال أسماء الأعمدة يدويا ويعين لها قيما خالية. لتخطي هذه الخطوة، أرسل سجلات WAF إلى مساحة العمل أولا.

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

  5. اختياريا، يمكنك أيضا إضافة أي استجابة تلقائية للحادث إذا لزم الأمر. راجع الكشف التلقائي والاستجابة ل Azure WAF مع Microsoft Sentinel للحصول على معلومات أكثر تفصيلا حول تكوين الاستجابة التلقائية.

  6. وأخيرا، حدد حفظ في علامة التبويب مراجعة وإنشاء .

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

يمكنك تكوين القواعد التحليلية في Sentinel لهجمات تطبيقات الويب المختلفة باستخدام استعلامات الكشف التي تم إنشاؤها مسبقا والمتوفرة في مستودع Azure Network Security GitHub. ستتم إضافة هذه الاستعلامات مباشرة إلى قوالب الكشف عن Sentinel. بمجرد إضافتها، ستكون هذه الاستعلامات متاحة مباشرة في قسم قوالب القواعد التحليلية في Sentinel.

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