
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
Telemetry
---------
The .NET Core tools collect usage data in order to help us improve your experience. The data is anonymous. It is collected by Microsoft and shared with the community. You can opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using your favorite shell.
Read more about .NET Core CLI Tools telemetry: https://aka.ms/dotnet-cli-telemetry
----------------
Explore documentation: https://aka.ms/dotnet-docs
Report issues and find source on GitHub: https://github.com/dotnet/core
Find out what's new: https://aka.ms/dotnet-whats-new
Learn about the installed HTTPS developer cert: https://aka.ms/aspnet-core-https
Use 'dotnet --help' to see available commands or visit: https://aka.ms/dotnet-cli-docs
Write your first app: https://aka.ms/first-net-core-app
--------------------------------------------------------------------------------------
Test run for /mnt/c/git/Azure-Sentinel/.script/tests/KqlvalidationsTests/bin/Debug/netcoreapp3.1/Kqlvalidations.Tests.dll(.NETCoreApp,Version=v3.1)
Microsoft (R) Test Execution Command Line Tool Version 16.7.0
Copyright (c) Microsoft Corporation. All rights reserved.
Starting test execution, please wait...
A total of 1 test files matched the specified pattern.
Test Run Successful.
Total tests: 171
Passed: 171
Total time: 25.7973 Seconds
على غرار التحقق من KQL، يوجد تحقق تلقائي من مخطط الكشف. يتضمن التحقق من المخطط تردد الكشف ومدته، نوع تشغيل الكشف والعتبة، صلاحية معرفات الموصلات (قائمة معرفات الموصلات الصالحة)، إلخ. سيؤدي تنسيق خاطئ أو سمات مفقودة إلى فشل فحص إعلامي، والذي يجب أن يرشدك خلال حل المشكلة، ولكن تأكد من مراجعة تنسيق كشف معتمد بالفعل.
لتشغيل التحقق من KQL قبل تقديم طلب السحب على جهازك المحلي:
Azure-Sentinel\\.script\tests\DetectionTemplateSchemaValidation\dotnet testعند تقديم طلب سحب، سيقوم بوت CLA تلقائيًا بتحديد ما إذا كنت بحاجة إلى تقديم CLA وتزيين طلب السحب بشكل مناسب (مثل وضع علامة، تعليق). ببساطة اتبع التعليمات المقدمة من البوت. ستحتاج فقط إلى القيام بذلك مرة واحدة عبر جميع المستودعات التي تستخدم اتفاقية CLA الخاصة بنا.
اعتمد هذا المشروع مدونة السلوك مفتوحة المصدر من مايكروسوفت. لمزيد من المعلومات، راجع الأسئلة الشائعة حول مدونة السلوك أو اتصل بـ [email protected] لأي أسئلة أو تعليقات إضافية.
للحصول على معلومات حول ما يمكنك المساهمة به والمزيد من التفاصيل، راجع قسم "البدء" في ويكي المشروع.