إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
تحويل محتوى Microsoft Sentinel لاستخدام البيانات المطبعة بواسطة ASIM
يتضمن محتوى الأمان الذي تمت تسويته في Microsoft Sentinel قواعد التحليلات واستعلامات التتبع والمصنفات التي تعمل مع توحيد محللات التسوية.
يمكنك العثور على المحتوى العادي الجاهز في المعارض Microsoft Sentinel وكتالوج الحلول Microsoft Sentinel أو إنشاء المحتوى الذي تمت تسويته أو تعديل المحتوى المخصص الموجود لاستخدام البيانات التي تمت تسويتها.
توضح هذه المقالة كيفية تحويل قواعد تحليلات Microsoft Sentinel الحالية لاستخدام البيانات التي تمت تسويتها ASIM مع نموذج معلومات الأمان المتقدم (ASIM).
لفهم كيفية ملاءمة المحتوى الذي تمت تسويته داخل بنية ASIM، راجع الرسم التخطيطي لبنية ASIM.
تعديل المحتوى المخصص لاستخدام التسوية
لتمكين محتوى Microsoft Sentinel المخصص لاستخدام التسوية:
قم بتعديل الاستعلامات لاستخدام أي محللات ASIM الموحدة ذات الصلة بالاستعلام.
قم بتعديل أسماء الحقول في الاستعلام الخاص بك لاستخدام أسماء حقول المخططات التي تمت تسويتها ASIM .
عند الاقتضاء، قم بتغيير الشروط لاستخدام القيم التي تمت تسويتها للحاويات في الاستعلام الخاص بك.
نموذج التسوية لقواعد التحليلات
على سبيل المثال، ضع في اعتبارك العميل النادر الذي تمت ملاحظته مع عدد بحث DNS العكسي العالي قاعدة تحليلية DNS، والتي تعمل على أحداث DNS المرسلة بواسطة خوادم Infoblox DNS:
let threshold = 200;
InfobloxNIOS
| where ProcessName =~ "named" and Log_Type =~ "client"
| where isnotempty(ResponseCode)
| where ResponseCode =~ "NXDOMAIN"
| summarize count() by Client_IP, bin(TimeGenerated,15m)
| where count_ > threshold
| join kind=inner (InfobloxNIOS
| where ProcessName =~ "named" and Log_Type =~ "client"
| where isnotempty(ResponseCode)
| where ResponseCode =~ "NXDOMAIN"
) on Client_IP
| extend timestamp = TimeGenerated, IPCustomEntity = Client_IP
التعليمات البرمجية التالية هي الإصدار غير المحدد المصدر، والذي يستخدم التسوية لتوفير نفس الكشف لأي مصدر يوفر أحداث استعلام DNS. يستخدم المثال التالي محللات ASIM المضمنة:
_Im_Dns(responsecodename='NXDOMAIN')
| summarize count() by SrcIpAddr, bin(TimeGenerated,15m)
| where count_ > threshold
| join kind=inner (imDns(responsecodename='NXDOMAIN')) on SrcIpAddr
| extend timestamp = TimeGenerated, IPCustomEntity = SrcIpAddr
يحتوي الإصدار العادي غير المحدد المصدر على الاختلافات التالية:
_Im_Dnsيتم استخدام المحللات أوimDnsالتي تمت تسويتها بدلا من محلل Infoblox.تجلب المحللات التي تمت تسويتها أحداث استعلام DNS فقط، لذلك ليست هناك حاجة للتحقق من نوع الحدث، كما يتم تنفيذه بواسطة
where ProcessName =~ "named" and Log_Type =~ "client"في إصدار Infoblox.SrcIpAddrيتم استخدام الحقل بدلا منClient_IP.يتم استخدام تصفية معلمة المحلل ل ResponseCodeName، مما يلغي الحاجة إلى عبارات صريحة
where.
ملاحظة
بصرف النظر عن دعم أي مصدر DNS تمت تسويته، يكون الإصدار الذي تمت تسويته أقصر وأسهل في الفهم.
إذا لم يدعم المخطط أو المحللات معلمات التصفية، فإن تغييرات الاستعلام المطلوبة لتطبيع القاعدة متشابهة، باستثناء أن شروط التصفية يتم الاحتفاظ بها من الاستعلام الأصلي. على سبيل المثال:
let threshold = 200;
imDns
| where isnotempty(ResponseCodeName)
| where ResponseCodeName =~ "NXDOMAIN"
| summarize count() by SrcIpAddr, bin(TimeGenerated,15m)
| where count_ > threshold
| join kind=inner (imDns
| where isnotempty(ResponseCodeName)
| where ResponseCodeName =~ "NXDOMAIN"
) on SrcIpAddr
| extend timestamp = TimeGenerated, IPCustomEntity = SrcIpAddr
راجع المزيد من المعلومات حول عناصر KQL التالية المستخدمة في أمثلة تسوية استعلام DNS، في وثائق Kusto:
- عبارة let
- حيث عامل التشغيل
- توسيع عامل التشغيل
- عامل تشغيل الانضمام
- تلخيص عامل التشغيل
- دالة isnotempty()
- دالة التجميع count()
لمزيد من المعلومات حول KQL، راجع نظرة عامة على لغة استعلام Kusto (KQL).
الموارد الأخرى:
المحتويات ذات الصلة
لمزيد من المعلومات، راجع الموارد التالية: