استخدام Logstash لتوصيل مصادر البيانات ب Microsoft Sentinel

ملاحظة

يسمى Azure Sentinel الآن Microsoft Sentinel، وسنقوم بتحديث هذه الصفحات في الأسابيع القادمة. تعرف على المزيد حول التحسينات الأمنية الأخيرة لـ Microsoft.

هام

يتم حاليا ابتلاع البيانات باستخدام المكون الإضافي لإخراج Logstash في المعاينة العامة. يتم توفير هذه الميزة بدون اتفاقية مستوى الخدمة، ولا يوصى بها لأحمال عمل الإنتاج. لمزيد من المعلومات، راجع ⁧⁩شروط الاستخدام التكميلية لمعاينات Microsoft Azure⁧⁩.

باستخدام المكون الإضافي لإخراج Microsoft Sentinel لمحرك جمع بيانات Logstash ، يمكنك إرسال أي نوع من السجلات التي تريدها من خلال Logstash مباشرة إلى مساحة عمل Log Analytics في Microsoft Sentinel. سيتم إرسال سجلاتك إلى جدول مخصص ستقوم بتحديده باستخدام المكون الإضافي للإخراج.

لمعرفة المزيد حول العمل مع محرك جمع بيانات Logstash ، راجع بدء استخدام Logstash.

نظرة عامة

الهندسة المعمارية والخلفية

Diagram of the Log stash architecture.

يتكون محرك Logstash من ثلاثة مكونات:

  • المكونات الإضافية للإدخال: مجموعة مخصصة من البيانات من مصادر مختلفة.
  • تصفية المكونات الإضافية: معالجة البيانات وتطبيعها وفقا لمعايير محددة.
  • المكونات الإضافية للإخراج: إرسال مخصص للبيانات التي تم جمعها ومعالجتها إلى وجهات مختلفة.

ملاحظة

  • تدعم Microsoft فقط المكون الإضافي لإخراج Logstash المقدم من Microsoft Sentinel والذي تمت مناقشته هنا. الإصدار الحالي من هذا المكون الإضافي هو v1.0.0 ، تم إصداره في 2020-08-25. يمكنك فتح تذكرة دعم لأي مشكلات تتعلق بالمكون الإضافي للإخراج.

  • لا تدعم Microsoft المكونات الإضافية لإخراج Logstash التابعة لجهة خارجية ل Microsoft Sentinel أو أي مكون إضافي أو مكون Logstash آخر من أي نوع.

  • يدعم المكون الإضافي لإخراج Logstash من Microsoft Sentinel إصدارات Logstash فقط من 7.0 إلى 7.16.

يرسل المكون الإضافي لإخراج Microsoft Sentinel ل Logstash بيانات بتنسيق JSON إلى مساحة عمل Log Analytics الخاصة بك، باستخدام واجهة برمجة تطبيقات REST لتجميع بيانات HTTP في Log Analytics. يتم استيعاب البيانات في سجلات مخصصة.

نشر المكون الإضافي لإخراج Microsoft Sentinel في Logstash

الخطوة 1: التثبيت

يتوفر المكون الإضافي لإخراج Microsoft Sentinel في مجموعة Logstach.

الخطوة 2: التكوين

استخدم المعلومات الموجودة في بنية Logstash لمستند ملف تكوين وأضف المكون الإضافي لإخراج Microsoft Sentinel إلى التكوين باستخدام المفاتيح والقيم التالية. (يظهر بناء جملة ملف التكوين المناسب بعد الجدول.)

اسم الحقل نوع البيانات الوصف
workspace_id سلسلة أدخل المعرف الفريد العمومي لمعرف مساحة العمل (انظر تلميح).
workspace_key سلسلة أدخل المعرف الفريد العمومي (GUID) للمفتاح الأساسي لمساحة العمل (انظر تلميح).
custom_log_table_name سلسلة قم بتعيين اسم الجدول الذي سيتم استيعاب السجلات فيه. يمكن تكوين اسم جدول واحد فقط لكل مكون إضافي للإخراج. سيظهر جدول السجلات في Microsoft Sentinel ضمن السجلات، وفي الجداول في فئة السجلات المخصصة، مع لاحقة_CL.
endpoint سلسلة حقل اختياري. بشكل افتراضي، هذه هي نقطة نهاية Log Analytics. استخدم هذا الحقل لتعيين نقطة نهاية بديلة.
time_generated_field سلسلة حقل اختياري. تتجاوز هذه الخاصية الحقل TimeGenerated الافتراضي في Log Analytics. أدخل اسم حقل الطابع الزمني في مصدر البيانات. يجب أن تتوافق البيانات الموجودة في الحقل مع تنسيق ISO 8601 (YYYY-MM-DDThh:mm:ssZ)
key_names صفيف أدخل قائمة بحقول مخطط مخرجات Log Analytics. وينبغي أن يرفق كل بند من بنود القائمة بعلامات اقتباس مفردة وأن تفصل البنود بفواصل، وأن ترفق القائمة بأكملها بين معقوفتين. انظر المثال أدناه.
plugin_flush_interval العدد حقل اختياري. اضبط لتحديد الحد الأقصى للفاصل الزمني (بالثواني) بين عمليات إرسال الرسائل إلى Log Analytics. الافتراضي هو 5.
amount_resizing منطقي صواب أو خطأ. قم بتمكين آلية القياس التلقائي أو تعطيلها، والتي تقوم بضبط حجم المخزن المؤقت للرسالة وفقا لحجم بيانات السجل المستلمة.
max_items العدد حقل اختياري. ينطبق فقط إذا amount_resizing تم تعيينه إلى "false". استخدمه لتعيين حد أقصى على حجم المخزن المؤقت للرسائل (في السجلات). الافتراضي هو 2000.
azure_resource_id سلسلة حقل اختياري. يحدد معرف مورد Azure حيث توجد البيانات.
تعد قيمة معرف المورد مفيدة بشكل خاص إذا كنت تستخدم RBAC في سياق الموارد لتوفير الوصول إلى بيانات محددة فقط.

تلميح

  • يمكنك العثور على معرف مساحة العمل والمفتاح الأساسي في مورد مساحة العمل، ضمن إدارة الوكلاء.
  • ومع ذلك، نظرا لأن وجود بيانات اعتماد ومعلومات حساسة أخرى مخزنة في نص واضح في ملفات التكوين لا يتماشى مع أفضل ممارسات الأمان، نشجعك بشدة على الاستفادة من مخزن مفاتيح Logstash من أجل تضمين معرف مساحة العملوالمفتاح الأساسي لمساحة العمل بشكل آمن في التكوين. راجع وثائق Elastic للحصول على التعليمات .

نماذج تكوينات

فيما يلي بعض نماذج التكوينات التي تستخدم بعض الخيارات المختلفة.

  • تكوين أساسي يستخدم أنبوب إدخال filebeat :

      input {
          beats {
              port => "5044"
          }
      }
      filter {
      }
      output {
          microsoft-logstash-output-azure-loganalytics {
            workspace_id => "4g5tad2b-a4u4-147v-a4r7-23148a5f2c21" # <your workspace id>
            workspace_key => "u/saRtY0JGHJ4Ce93g5WQ3Lk50ZnZ8ugfd74nk78RPLPP/KgfnjU5478Ndh64sNfdrsMni975HJP6lp==" # <your workspace key>
            custom_log_table_name => "tableName"
          }
      }
    
  • تكوين أساسي يستخدم أنبوب إدخال TCP:

      input {
          tcp {
              port => "514"
              type => syslog #optional, will effect log type in table
          }
      }
      filter {
      }
      output {
          microsoft-logstash-output-azure-loganalytics {
            workspace_id => "4g5tad2b-a4u4-147v-a4r7-23148a5f2c21" # <your workspace id>
            workspace_key => "u/saRtY0JGHJ4Ce93g5WQ3Lk50ZnZ8ugfd74nk78RPLPP/KgfnjU5478Ndh64sNfdrsMni975HJP6lp==" # <your workspace key>
            custom_log_table_name => "tableName"
          }
      }
    
  • تكوين متقدم:

      input {
          tcp {
              port => 514
              type => syslog
          }
      }
      filter {
          grok {
              match => { "message" => "<%{NUMBER:PRI}>1 (?<TIME_TAG>[0-9]{4}-[0-9]{1,2}-[0-9]{1,2}T[0-9]{1,2}:[0-9]{1,2}:[0-9]{1,2})[^ ]* (?<HOSTNAME>[^ ]*) %{GREEDYDATA:MSG}" }
          }
      }
      output {
          microsoft-logstash-output-azure-loganalytics {
              workspace_id => "<WS_ID>"
              workspace_key => "${WS_KEY}"
              custom_log_table_name => "logstashCustomTable"
              key_names => ['PRI','TIME_TAG','HOSTNAME','MSG']
              plugin_flush_interval => 5
          }
      } 
    

    ملاحظة

    قم بزيارة المكون الإضافي للإخراج GitHub مستودع لمعرفة المزيد حول إعدادات العمل الداخلي والتكوين والأداء.

الخطوة 3: إعادة تشغيل Logstash

الخطوة 4: عرض السجلات الواردة في Microsoft Sentinel

  1. تحقق من إرسال الرسائل إلى المكون الإضافي للإخراج.

  2. من قائمة التنقل Microsoft Sentinel، انقر فوق سجلات. ضمن عنوان الجداول ، قم بتوسيع فئة السجلات المخصصة . ابحث عن اسم الجدول الذي حددته (مع لاحقة) وانقر فوقه _CL في التكوين.

    Screenshot of log stash custom logs.

  3. لعرض السجلات في الجدول، قم بالاستعلام عن الجدول باستخدام اسم الجدول كمخطط.

    Screenshot of a log stash custom logs query.

مراقبة سجلات تدقيق المكون الإضافي للإخراج

لمراقبة اتصال ونشاط المكون الإضافي لإخراج Microsoft Sentinel، قم بتمكين ملف سجل Logstash المناسب. راجع مستند تخطيط دليل Logstash لمعرفة موقع ملف السجل.

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

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

في هذا المستند، تعلمت كيفية استخدام Logstash لتوصيل مصادر البيانات الخارجية ب Microsoft Sentinel. لمعرفة المزيد حول Microsoft Sentinel، راجع المقالات التالية: