
Cloud-natives SIEM für intelligente Sicherheitsanalysen für Ihr gesamtes Unternehmen.
Willkommen im vereinheitlichten Repository für Microsoft Sentinel und Microsoft 365 Defender! Dieses Repository enthält vorgefertigte Erkennungen, Abfragen für die Erkundung, Jagdabfragen, Arbeitsmappen, Playbooks und vieles mehr, um Ihnen den Einstieg in Microsoft Sentinel zu erleichtern und Ihnen Sicherheitsinhalte zur Sicherung Ihrer Umgebung und zur Bedrohungsjagd bereitzustellen. Die Jagdabfragen umfassen auch Microsoft 365 Defender-Jagdabfragen für erweiterte Jagdszenarien in Microsoft 365 Defender und Microsoft Sentinel. Sie können auch Issues einreichen, um Beispiele oder Ressourcen anzufragen, die Sie hier sehen möchten, wenn Sie Microsoft Sentinel einführen. Dieses Repository begrüßt Beiträge. Hilfe zum Start finden Sie im Wiki dieses Repositorys. Bei Fragen oder Feedback wenden Sie sich bitte an [email protected].
Wir schätzen Ihr Feedback. Hier sind einige Kanäle, die Ihnen helfen, Ihre Fragen oder Rückmeldungen zu platzieren:
Dieses Projekt begrüßt Beiträge und Vorschläge. Die meisten Beiträge erfordern, dass Sie einer Contributor License Agreement (CLA) zustimmen, die erklärt, dass Sie das Recht haben, uns die Rechte zur Nutzung Ihres Beitrags zu gewähren, und dies auch tun. Details finden Sie unter https://cla.microsoft.com.
Hinweis: Wenn Sie zum ersten Mal zu diesem Repository beitragen, befolgen Sie die allgemeine GitHub-Fork-Anleitung vor dem Klonen oder die spezifischen Schritte für das Sentinel-Repository.
Völlig neue oder aktualisierte Beiträge auf diese Weise einreichen:
Als Teil der PR-Prüfungen führen wir eine Strukturvalidierung durch, um sicherzustellen, dass alle erforderlichen Teile der YAML-Struktur enthalten sind. Für Erkennungen gibt es einen neuen Abschnitt, der enthalten sein muss. Weitere Informationen finden Sie in den Richtlinien für Beiträge. Wenn dieser oder ein anderer erforderlicher Abschnitt nicht enthalten ist, tritt ein Validierungsfehler ähnlich dem folgenden auf. Das Beispiel bezieht sich speziell darauf, dass in der YAML der Abschnitt entityMappings fehlt:
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."
Als Teil der PR-Prüfungen führen wir eine Syntaxvalidierung der im Template definierten KQL-Abfragen durch. Wenn diese Prüfung fehlschlägt, gehen Sie zu Azure Pipeline (klicken Sie auf den Fehlerlink auf der Registerkarte "Checks" in Ihrem PR)
In der Pipeline können Sie sehen, welcher Test fehlgeschlagen ist und was die Ursache ist:

Beispiel einer Fehlermeldung:
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'
Wenn Sie eine benutzerdefinierte Protokolltabelle verwenden (eine Tabelle, die nicht standardmäßig in allen Arbeitsbereichen definiert ist), sollten Sie überprüfen, dass Ihr Tabellenschema in einer JSON-Datei im Ordner Azure-Sentinel\.script\tests\KqlvalidationsTests\CustomTables definiert ist.
Beispiel für die Tabelle tablexyz.json
{
"Name": "tablexyz",
"Properties": [
{
"Name": "SomeDateTimeColumn",
"Type": "DateTime"
},
{
"Name": "SomeStringColumn",
"Type": "String"
},
{
"Name": "SomeDynamicColumn",
"Type": "Dynamic"
}
]
}
Um die KQL-Validierung vor dem Einreichen eines Pull-Requests auf Ihrem lokalen Rechner auszuführen:
Azure-Sentinel\\.script\tests\KqlvalidationsTests\dotnet test ausBeispiel für die Ausgabe (unter 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
Ähnlich wie bei der KQL-Validierung gibt es eine automatische Validierung des Schemas einer Erkennung. Die Schema-Validierung umfasst die Häufigkeit und den Zeitraum der Erkennung, den Auslösertyp und die -schwelle der Erkennung, die Gültigkeit der Connector-IDs (Liste gültiger Connector-IDs) usw. Ein falsches Format oder fehlende Attribute führen zu einem informativen Fehler bei der Prüfung, der Sie durch die Lösung des Problems führen sollte. Beachten Sie jedoch das Format bereits genehmigter Erkennungen.
Um die KQL-Validierung vor dem Einreichen eines Pull-Requests auf Ihrem lokalen Rechner auszuführen:
Azure-Sentinel\\.script\tests\DetectionTemplateSchemaValidation\dotnet test ausWenn Sie einen Pull-Request einreichen, bestimmt ein CLA-Bot automatisch, ob Sie eine CLA bereitstellen müssen, und dekoriert den PR entsprechend (z. B. Label, Kommentar). Befolgen Sie einfach die Anweisungen des Bots. Sie müssen dies nur einmal für alle Repos tun, die unsere CLA verwenden.
Dieses Projekt hat den Microsoft Open Source Code of Conduct übernommen. Weitere Informationen finden Sie in den Häufig gestellten Fragen zum Verhaltenskodex oder wenden Sie sich bei weiteren Fragen oder Kommentaren an [email protected].
Informationen darüber, was Sie beitragen können, und weitere Details finden Sie im Abschnitt "get started" des Wiki des Projekts.