
आपके पूरे उद्यम के लिए बुद्धिमान सुरक्षा विश्लेषण हेतु क्लाउड-नेटिव SIEM।
Microsoft Sentinel और Microsoft 365 Defender के एकीकृत रिपॉजिटरी में आपका स्वागत है! इस रिपॉजिटरी में आउट-ऑफ-द-बॉक्स डिटेक्शन, एक्सप्लोरेशन क्वेरीज़, हंटिंग क्वेरीज़, वर्कबुक, प्लेबुक और बहुत कुछ शामिल है ताकि आप Microsoft Sentinel के साथ शुरुआत कर सकें और अपने वातावरण को सुरक्षित करने तथा खतरों की तलाश करने के लिए सुरक्षा सामग्री प्रदान कर सकें। हंटिंग क्वेरीज़ में Microsoft 365 Defender हंटिंग क्वेरीज़ भी शामिल हैं जो Microsoft 365 Defender और Microsoft Sentinel दोनों में उन्नत हंटिंग परिदृश्यों के लिए हैं। आप Microsoft Sentinel में शामिल होने पर यहाँ देखने के लिए किसी भी नमूने या संसाधन के लिए issues में सबमिट कर सकते हैं। यह रिपॉजिटरी योगदान का स्वागत करती है और शुरू करने के लिए इस रिपॉजिटरी के wiki का संदर्भ लें। प्रश्नों और प्रतिक्रिया के लिए, कृपया [email protected] से संपर्क करें।
हम आपकी प्रतिक्रिया को महत्व देते हैं। यहाँ आपके प्रश्नों या प्रतिक्रिया को साझा करने के कुछ चैनल हैं:
यह परियोजना योगदान और सुझावों का स्वागत करती है। अधिकांश योगदानों के लिए आपको एक योगदानकर्ता लाइसेंस समझौता (CLA) से सहमत होना होता है जो घोषित करता है कि आपके पास हमें आपके योगदान का उपयोग करने का अधिकार है, और वास्तव में करते हैं। विवरण के लिए, https://cla.microsoft.com पर जाएं।
नोट: यदि आप इस रिपॉजिटरी में पहली बार योगदान दे रहे हैं, तो क्लोन करने से पहले सामान्य GitHub फोर्क रेपो गाइड या Sentinel रेपो के लिए विशिष्ट चरण देखें।
इन तरीकों से बिल्कुल नया या योगदान में अपडेट करें:
PR जाँच के भाग के रूप में हम एक संरचना सत्यापन चलाते हैं ताकि यह सुनिश्चित हो सके कि YAML संरचना के सभी आवश्यक भाग शामिल हैं। डिटेक्शन के लिए, एक नया अनुभाग शामिल होना चाहिए। अधिक जानकारी के लिए योगदान दिशानिर्देश देखें। यदि यह अनुभाग या कोई अन्य आवश्यक अनुभाग शामिल नहीं है, तो नीचे दिए गए जैसी सत्यापन त्रुटि होगी। उदाहरण विशेष रूप से यदि YAML में entityMappings अनुभाग गायब है:
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."
PR जाँच के भाग के रूप में हम टेम्पलेट में परिभाषित KQL क्वेरीज़ का सिंटैक्स सत्यापन चलाते हैं। यदि यह जाँच विफल होती है, तो अपने PR में चेक टैब पर त्रुटि लिंक दबाकर 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'
यदि आप कस्टम लॉग तालिका (एक तालिका जो डिफ़ॉल्ट रूप से सभी कार्यक्षेत्रों पर परिभाषित नहीं है) का उपयोग कर रहे हैं, तो आपको सत्यापित करना चाहिए कि आपकी तालिका स्कीमा फ़ोल्डर Azure-Sentinel\.script\tests\KqlvalidationsTests\CustomTables में json फ़ाइल में परिभाषित है।
tablexyz तालिका के लिए उदाहरण
{
"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 प्रदान करने की आवश्यकता है या नहीं और PR को उचित रूप से सजाएगा (जैसे, लेबल, टिप्पणी)। बॉट द्वारा प्रदान किए गए निर्देशों का पालन करें। आपको हमारे CLA का उपयोग करने वाले सभी रिपॉजिटरी में केवल एक बार ऐसा करने की आवश्यकता होगी।
इस परियोजना ने Microsoft ओपन सोर्स आचार संहिता को अपनाया है। अधिक जानकारी के लिए आचार संहिता FAQ देखें या किसी भी अतिरिक्त प्रश्न या टिप्पणी के लिए [email protected] से संपर्क करें।
आप क्या योगदान दे सकते हैं और आगे के विवरण के लिए, परियोजना के wiki पर "शुरू करें" अनुभाग देखें।