استيعاب رسائل syslog وCEF إلى Microsoft Sentinel باستخدام عامل Azure Monitor

توضح هذه المقالة كيفية استخدام Syslog عبر AMA وتنسيق الحدث المشترك (CEF) عبر موصلات AMA لتصفية رسائل syslog واستيعابها بسرعة، بما في ذلك الرسائل بتنسيق الحدث المشترك (CEF)، ومن أجهزة Linux ومن أجهزة وأجهزة وأجهزة الشبكة والأمان. لمعرفة المزيد حول موصلات البيانات هذه، راجع Syslog و Common Event Format (CEF) عبر موصلات AMA ل Microsoft Sentinel.

إشعار

تدعم Container Insights الآن المجموعة التلقائية لأحداث Syslog من عقد Linux في مجموعات AKS الخاصة بك. لمعرفة المزيد، راجع مجموعة Syslog باستخدام Container Insights.

المتطلبات الأساسية

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

متطلبات Microsoft Sentinel

قم بتثبيت حل Microsoft Sentinel المناسب وتأكد من أن لديك الأذونات لإكمال الخطوات الواردة في هذه المقالة.

  • قم بتثبيت الحل المناسب من مركز المحتوى في Microsoft Sentinel. لمزيد من المعلومات، راجع اكتشاف المحتوى الجاهز من Microsoft Sentinel وإدارته.

  • حدد موصل البيانات الذي يتطلبه حل Microsoft Sentinel — Syslog عبر AMA أو Common Event Format (CEF) عبر AMA وما إذا كنت بحاجة إلى تثبيت حل Syslog أو Common Event Format . للوفاء بهذا الشرط الأساسي،

  • لديك حساب Azure مع أدوار التحكم في الوصول المستندة إلى الدور (Azure RBAC) التالية:

    الدور مدمج النطاق السبب
    - مساهم الجهاز الظاهري
    - Azure Connected Machine
       مسؤول المورد
  • الأجهزة الظاهرية (VM)
  • مجموعات توسيع الجهاز الظاهري
  • الخوادم الممكنة بواسطة Azure Arc
  • لتوزيع العامل
    أي دور يتضمن الإجراء
    Microsoft.Resources/deployments/*
  • الاشتراك
  • مجموعة الموارد
  • قاعدة تجميع البيانات الموجودة
  • لنشر قوالب Azure Resource Manager
    المساهم في المراقبة
  • الاشتراك
  • مجموعة الموارد
  • قاعدة تجميع البيانات الموجودة
  • لإنشاء أو تحرير قواعد جمع البيانات

متطلبات معاد توجيه السجل

إذا كنت تجمع رسائل من معاد توجيه السجل، يتم تطبيق المتطلبات الأساسية التالية:

  • يجب أن يكون لديك جهاز Linux ظاهري معين كمحول سجل لتجميع السجلات.

  • إذا لم يكن معيد توجيه السجل الخاص بك جهازا ظاهريا ل Azure، فيجب أن يكون عامل Azure Arc Connected Machine مثبتا عليه.

  • يجب أن يكون الجهاز الظاهري لمحول سجل Linux مثبتا عليه Python 2.7 أو 3. قم باستخدام الأمر python --version أو python3 --version للتحقق. إذا كنت تستخدم Python 3، فتأكد من تعيينه كأمر افتراضي على الجهاز، أو قم بتشغيل البرامج النصية باستخدام الأمر "python3" بدلا من "python".

  • يجب أن يكون لدى معاد توجيه السجل إما البرنامج الخفي syslog-ng أو rsyslog ممكن.

  • للحصول على متطلبات المساحة لمحول السجل الخاص بك، راجع معيار أداء عامل Azure Monitor. يمكنك أيضا مراجعة منشور المدونة هذا، والذي يتضمن تصميمات لاستيعاب قابل للتطوير.

  • يجب تكوين مصادر السجل وأجهزة الأمان والأجهزة لإرسال رسائل السجل الخاصة بهم إلى البرنامج الخفي لسجل معاد توجيه السجل بدلا من برنامج syslog الخفي المحلي الخاص بهم.

متطلبات أمان الجهاز

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

إذا كانت أجهزتك ترسل سجلات syslog وCEF عبر TLS؛ على سبيل المثال، معيد توجيه السجل الخاص بك في السحابة، فأنت بحاجة إلى تكوين البرنامج الخفي syslog (rsyslog أو syslog-ng) للاتصال في TLS. لمزيد من المعلومات، راجع:

تكوين موصل البيانات

تتضمن عملية إعداد Syslog عبر AMA أو Common Event Format (CEF) عبر موصلات بيانات AMA الخطوات التالية:

  1. تثبيت عامل Azure Monitor وإنشاء قاعدة تجميع البيانات (DCR) باستخدام أي من الطرق التالية:
  2. إذا كنت تجمع سجلات من أجهزة أخرى باستخدام معاد توجيه السجل، فقم بتشغيل البرنامج النصي "التثبيت" على معاد توجيه السجل لتكوين البرنامج الخفي syslog للاستماع إلى الرسائل من الأجهزة الأخرى، ولفتح المنافذ المحلية الضرورية.

حدد علامة التبويب المناسبة للحصول على الإرشادات.

إنشاء قاعدة جمع البيانات (DCR)

للبدء، افتح إما Syslog عبر AMA أو Common Event Format (CEF) عبر موصل بيانات AMA في Microsoft Sentinel وأنشئ قاعدة تجميع بيانات (DCR).

  1. بالنسبة إلى Microsoft Sentinel في مدخل Microsoft Azure، ضمن Configuration، حدد Data connectors.
    بالنسبة إلى Microsoft Sentinel في مدخل Defender، حدد موصلات بيانات تكوين>Microsoft Sentinel>.

  2. بالنسبة إلى syslog، اكتب Syslog في مربع البحث . من النتائج، حدد Syslog عبر موصل AMA .
    بالنسبة إلى CEF، اكتب CEF في مربع البحث . من النتائج، حدد Common Event Format (CEF) عبر موصل AMA .

  3. حدد فتح صفحة الموصل في جزء التفاصيل.

  4. في منطقة التكوين ، حدد +Create data collection rule.

    لقطة شاشة تعرض Syslog عبر صفحة موصل AMA.

    لقطة شاشة تعرض CEF عبر صفحة موصل AMA.

  5. في علامة التبويب Basic :

    • اكتب اسم DCR.
    • حدد Subscription الخاص بك.
    • حدد مجموعة الموارد حيث تريد تحديد موقع DCR الخاص بك.

    لقطة شاشة تعرض تفاصيل DCR في علامة التبويب Basic.

  6. حدد Next : Resource>.

تعريف موارد الجهاز الظاهري

في علامة التبويب الموارد ، حدد الأجهزة التي تريد تثبيت AMA عليها - في هذه الحالة، جهاز معاد توجيه السجل. إذا لم يظهر معيد توجيه السجل في القائمة، فقد لا يكون عامل Azure Connected Machine مثبتا عليه.

  1. استخدم عوامل التصفية المتوفرة أو مربع البحث للعثور على الجهاز الظاهري لإعادة توجيه السجل. قم بتوسيع اشتراك في القائمة لمشاهدة مجموعات الموارد الخاصة به، ومجموعة موارد لمشاهدة الأجهزة الظاهرية الخاصة بها.

  2. حدد الجهاز الظاهري لإعادة توجيه السجل الذي تريد تثبيت AMA عليه. تظهر خانة الاختيار بجوار اسم الجهاز الظاهري عند المرور فوقه.

    لقطة شاشة توضح كيفية تحديد الموارد عند إعداد DCR.

  3. راجع تغييراتك وحدد Next: Collect >.

تحديد المرافق والخطورة

يجب أن تدرك أن استخدام نفس المرفق لكل من syslog ورسائل CEF قد يؤدي إلى تكرار استيعاب البيانات. لمزيد من المعلومات، راجع تجنب تكرار استيعاب البيانات.

  1. في علامة التبويب Collect ، حدد الحد الأدنى لمستوى السجل لكل مرفق. عند تحديد مستوى سجل، يجمع Microsoft Sentinel سجلات للمستوى المحدد والمستويات الأخرى ذات الخطورة الأعلى. على سبيل المثال، إذا حددت LOG_ERR، يجمع Microsoft Sentinel سجلات لمستويات LOG_ERR LOG_CRIT LOG_ALERT LOG_EMERG.

    لقطة شاشة توضح كيفية تحديد مستويات السجل عند إعداد DCR.

  2. راجع التحديدات وحدد Next: Review + create.

مراجعة القاعدة وإنشاءها

بعد إكمال جميع علامات التبويب، راجع ما أدخلته وأنشئ قاعدة تجميع البيانات.

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

    لقطة شاشة توضح كيفية مراجعة تكوين DCR وإنشاءه.

    يقوم الموصل بتثبيت عامل Azure Monitor على الأجهزة التي حددتها عند إنشاء DCR الخاص بك.

  2. تحقق من الإعلامات في مدخل Microsoft Azure أو مدخل Microsoft Defender لمعرفة وقت إنشاء DCR وتثبيت العامل.

  3. حدد تحديث في صفحة الموصل لمشاهدة DCR المعروض في القائمة.

تشغيل البرنامج النصي "التثبيت"

إذا كنت تستخدم معاد توجيه السجل، فكون البرنامج الخفي syslog للاستماع إلى الرسائل الواردة من أجهزة أخرى، وافتح المنافذ المحلية الضرورية.

  1. من صفحة الموصل، انسخ سطر الأوامر الذي يظهر ضمن تشغيل الأمر التالي لتثبيت مجمع CEF وتطبيقه:

    لقطة شاشة لخط الأوامر في صفحة الموصل.

    أو انسخه من هنا:

    sudo wget -O Forwarder_AMA_installer.py https://raw.githubusercontent.com/Azure/Azure-Sentinel/master/DataConnectors/Syslog/Forwarder_AMA_installer.py&&sudo python Forwarder_AMA_installer.py
    
  2. سجل الدخول إلى جهاز إعادة توجيه السجل حيث قمت بتثبيت AMA للتو.

  3. الصق الأمر الذي نسخته في الخطوة الأخيرة لتشغيل البرنامج النصي للتثبيت.
    يقوم البرنامج النصي بتكوين rsyslog البرنامج الخفي أو syslog-ng لاستخدام البروتوكول المطلوب وإعادة تشغيل البرنامج الخفي. يفتح البرنامج النصي المنفذ 514 للاستماع إلى الرسائل الواردة في كل من بروتوكولات UDP وTCP. لتغيير هذا الإعداد، راجع ملف تكوين البرنامج الخفي syslog وفقا لنوع البرنامج الخفي الذي يعمل على الجهاز:

    • Rsyslog: /etc/rsyslog.conf
    • Syslog-ng: /etc/syslog-ng/syslog-ng.conf

    إذا كنت تستخدم Python 3، ولم يتم تعيينه كأمر افتراضي على الجهاز، فاستبدل python3 python في الأمر الملصق. راجع متطلبات معاد توجيه السجل.

    إشعار

    لتجنب سيناريوهات القرص الكامل حيث لا يمكن للعامل العمل، نوصي بتعيين syslog-ng أو rsyslog التكوين لعدم تخزين السجلات غير الضرورية. يعطل سيناريو "القرص الكامل" وظيفة AMA المثبتة. لمزيد من المعلومات، راجع RSyslog أو Syslog-ng.

تكوين جهاز الأمان أو الجهاز

احصل على إرشادات محددة لتكوين جهاز الأمان أو الجهاز بالانتقال إلى إحدى المقالات التالية:

اتصل بموفر الحل للحصول على مزيد من المعلومات أو إذا كانت المعلومات غير متوفرة للجهاز أو الجهاز.

اختبار الموصل

تحقق من استيعاب الرسائل من جهاز Linux أو أجهزة الأمان والأجهزة في Microsoft Sentinel.

  1. للتحقق من أن البرنامج الخفي syslog قيد التشغيل على منفذ UDP وأن AMA يستمع، قم بتشغيل هذا الأمر:

    netstat -lnptv
    

    يجب أن تشاهد البرنامج الخفي rsyslog أو syslog-ng يستمع على المنفذ 514.

  2. لالتقاط الرسائل المرسلة من مسجل أو جهاز متصل، قم بتشغيل هذا الأمر في الخلفية:

    tcpdump -i any port 514 -A -vv &
    
  3. بعد إكمال التحقق من الصحة، نوصي بإيقاف tcpdump: اكتب fg ثم حدد Ctrl+C.

  4. لإرسال رسائل تجريبية، أكمل الخطوات التالية:

    • استخدم الأداة المساعدة netcat. في هذا المثال، تقرأ الأداة المساعدة البيانات المنشورة echo من خلال الأمر مع إيقاف تشغيل مفتاح سطر جديد. ثم تكتب الأداة المساعدة البيانات إلى منفذ 514 UDP على المضيف المحلي دون مهلة. لتنفيذ الأداة المساعدة netcat، قد تحتاج إلى تثبيت حزمة أخرى.

      echo -n "<164>CEF:0|Mock-test|MOCK|common=event-format-test|end|TRAFFIC|1|rt=$common=event-formatted-receive_time" | nc -u -w0 localhost 514
      
    • استخدم المسجل. يكتب هذا المثال الرسالة إلى local 4 المرفق، على مستوى Warningالخطورة ، إلى المنفذ 514، على المضيف المحلي، بتنسيق CEF RFC. -t يتم استخدام العلامتين و --rfc3164 للامتثال لتنسيق RFC المتوقع.

      logger -p local4.warn -P 514 -n 127.0.0.1 --rfc3164 -t CEF "0|Mock-test|MOCK|common=event-format-test|end|TRAFFIC|1|rt=$common=event-formatted-receive_time"
      
  5. للتحقق من تثبيت الموصل بشكل صحيح، قم بتشغيل البرنامج النصي لاستكشاف الأخطاء وإصلاحها باستخدام أحد هذه الأوامر:

    • بالنسبة لسجلات CEF، قم بتشغيل:

       sudo wget -O Sentinel_AMA_troubleshoot.py https://raw.githubusercontent.com/Azure/Azure-Sentinel/master/DataConnectors/Syslog/Sentinel_AMA_troubleshoot.py&&sudo python Sentinel_AMA_troubleshoot.py --cef
      
    • بالنسبة لسجلات Cisco Adaptive Security Appliance (ASA)، قم بتشغيل:

      sudo wget -O Sentinel_AMA_troubleshoot.py https://raw.githubusercontent.com/Azure/Azure-Sentinel/master/DataConnectors/Syslog/Sentinel_AMA_troubleshoot.py&&sudo python Sentinel_AMA_troubleshoot.py --asa
      
    • بالنسبة لسجلات Cisco Firepower Threat Defense (FTD)، قم بتشغيل:

      sudo wget -O Sentinel_AMA_troubleshoot.py https://raw.githubusercontent.com/Azure/Azure-Sentinel/master/DataConnectors/Syslog/Sentinel_AMA_troubleshoot.py&&sudo python Sentinel_AMA_troubleshoot.py --ftd