
SIEM أصلي للسحابة للتحليلات الأمنية الذكية لمؤسستك بأكملها.
مرحبًا بكم في المستودع الموحد لمايكروسوفت سينتينل و مايكروسوفت 365 ديفيندر! يحتوي هذا المستودع على كشفيات جاهزة، استعلامات استكشاف، استعلامات صيد، كتب عمل، دفاتر تشغيل وغيرها الكثير لمساعدتك على البدء مع مايكروسوفت سينتينل وتوفير محتوى أمني لتأمين بيئتك وصيد التهديدات. تتضمن استعلامات الصيد أيضًا استعلامات صيد مايكروسوفت 365 ديفيندر لسيناريوهات الصيد المتقدمة في كل من مايكروسوفت 365 ديفيندر و مايكروسوفت سينتينل. يمكنك أيضًا التقديم على المشكلات لأي عينات أو موارد ترغب في رؤيتها هنا أثناء انضمامك إلى مايكروسوفت سينتينل. يرحب هذا المستودع بالمساهمات ويُرجى الرجوع إلى ويكي هذا المستودع للبدء. للأسئلة والملاحظات، يرجى الاتصال بـ [email protected]
نحن نقدر ملاحظاتك. فيما يلي بعض القنوات لمساعدتك في طرح أسئلتك أو ملاحظاتك:
يرحب هذا المشروع بالمساهمات والاقتراحات. تتطلب معظم المساهمات موافقتك على اتفاقية ترخيص المساهم (CLA) التي تعلن أن لديك الحق، وأنك بالفعل تمنحنا الحقوق لاستخدام مساهمتك. للتفاصيل، قم بزيارة https://cla.microsoft.com.
ملاحظة: إذا كنت مساهمًا لأول مرة في هذا المستودع، فاتبع إرشادات Fork العامة لـ GitHub قبل الاستنساخ أو الخطوات المحددة لمستودع Sentinel.
مساهمة جديدة أو تحديث لإحدى المساهمات عبر هذه الطرق:
كجزء من فحوصات طلب السحب، نقوم بتشغيل التحقق من الهيكل للتأكد من تضمين جميع الأجزاء المطلوبة من هيكل YAML. بالنسبة للكشفيات، يوجد قسم جديد يجب تضمينه. راجع إرشادات المساهمة لمزيد من المعلومات. إذا لم يتم تضمين هذا القسم أو أي قسم مطلوب آخر، فسيحدث خطأ تحقق مشابه لما يلي.
A total of 1 test files matched the specified pattern.
[xUnit.net 00:00:00.95] Kqlvalidations.Tests.DetectionTemplateStructureValidationTests.Validate_DetectionTemplates_HaveValidTemplateStructure(detectionsYamlFileName: "ExcessiveBlockedTrafficGeneratedbyUser.yaml") [FAIL]
X Kqlvalidations.Tests.DetectionTemplateStructureValidationTests.Validate_DetectionTemplates_HaveValidTemplateStructure(detectionsYamlFileName: "ExcessiveBlockedTrafficGeneratedbyUser.yaml") [104ms]
Error Message:
Expected object to be <null>, but found System.ComponentModel.DataAnnotations.ValidationException with message "An old mapping for entity 'AccountCustomEntity' does not have a matching new mapping entry."
كجزء من فحوصات طلب السحب، نقوم بتشغيل التحقق من بناء جملة استعلامات KQL المحددة في القالب. إذا فشل هذا الفحص، انتقل إلى Azure Pipeline (بالضغط على رابط الأخطاء في علامة تبويب الفحوصات في طلب السحب الخاص بك)
في خط الأنابيب، يمكنك رؤية أي اختبار فشل وما هو السبب:

مثال لرسالة خطأ:
A total of 1 test files matched the specified pattern.
[xUnit.net 00:00:01.81] Kqlvalidations.Tests.KqlValidationTests.Validate_DetectionQueries_HaveValidKql(detectionsYamlFileName: "ExcessiveBlockedTrafficGeneratedbyUser.yaml") [FAIL]
X Kqlvalidations.Tests.KqlValidationTests.Validate_DetectionQueries_HaveValidKql(detectionsYamlFileName: "ExcessiveBlockedTrafficGeneratedbyUser.yaml") [21ms]
Error Message:
Template Id:fa0ab69c-7124-4f62-acdd-61017cf6ce89 is not valid Errors:The name 'SymantecEndpointProtection' does not refer to any known table, tabular variable or function., Code: 'KS204', Severity: 'Error', Location: '67..93',The name 'SymantecEndpointProtection' does not refer to any known table, tabular variable or function., Code: 'KS204', Severity: 'Error', Location: '289..315'
إذا كنت تستخدم جدول سجلات مخصص (جدول غير محدد في جميع مساحات العمل افتراضيًا)، فيجب عليك التحقق من أن مخطط الجدول الخاص بك محدد في ملف json في المجلد Azure-Sentinel\.script\tests\KqlvalidationsTests\CustomTables
مثال لجدول tablexyz.json
{
"Name": "tablexyz",
"Properties": [
{
"Name": "SomeDateTimeColumn",
"Type": "DateTime"
},
{
"Name": "SomeStringColumn",
"Type": "String"
},
{
"Name": "SomeDynamicColumn",
"Type": "Dynamic"
}
]
}
لتشغيل التحقق من KQL قبل تقديم طلب السحب على جهازك المحلي:
Azure-Sentinel\\.script\tests\KqlvalidationsTests\dotnet testمثال للإخراج (على Ubuntu):
Welcome to .NET Core 3.1!
----------------------
SDK Version: 3.1.403