Microsoft Sentinel-Protokolle erfassen
Übersicht
Dieser Parser extrahiert Felder aus Microsoft Sentinel-JSON-Logs, führt Transformationen wie die Extraktion von IP-Adressen und die Stringbearbeitung durch und ordnet die extrahierten Daten dem UDM zu, einschließlich der Felder „principal“, „target“, „security_result“ und „metadata“. Außerdem werden verschiedene Datentypen verarbeitet und extrahierte Einheiten in die UDM-Struktur eingefügt.
Hinweise
Prüfen Sie, ob die folgenden Voraussetzungen erfüllt sind:
- Google SecOps-Instanz.
- Zugriff auf Microsoft Sentinel.
Feeds einrichten
Es gibt zwei verschiedene Einstiegspunkte zum Einrichten von Feeds in der Google SecOps-Plattform:
- SIEM-Einstellungen > Feeds
- Content Hub> Content-Pakete
Feeds über „SIEM-Einstellungen“ > „Feeds“ einrichten
So konfigurieren Sie einen Feed:
- Rufen Sie die SIEM-Einstellungen > Feeds auf.
- Klicken Sie auf Neuen Feed hinzufügen.
- Klicken Sie auf der nächsten Seite auf Einen einzelnen Feed konfigurieren.
- Geben Sie im Feld Feed name (Feedname) einen Namen für den Feed ein, z. B. Microsoft Sentinel Logs (Microsoft Sentinel-Protokolle).
- Wählen Sie Webhook als Quelltyp aus.
- Wählen Sie Microsoft Sentinel als Logtyp aus.
- Klicken Sie auf Weiter.
- Optional: Geben Sie Werte für die folgenden Eingabeparameter an:
- Trennzeichen für Aufteilung: Das Trennzeichen, das zum Trennen von Logzeilen verwendet wird, z. B.
\n
.
- Trennzeichen für Aufteilung: Das Trennzeichen, das zum Trennen von Logzeilen verwendet wird, z. B.
- Klicken Sie auf Weiter.
- Prüfen Sie die neue Feedkonfiguration auf dem Bildschirm Abschließen und klicken Sie dann auf Senden.
- Klicken Sie auf Geheimen Schlüssel generieren, um einen geheimen Schlüssel zur Authentifizierung dieses Feeds zu generieren.
- Kopieren Sie den geheimen Schlüssel und speichern Sie ihn, da Sie ihn nicht noch einmal aufrufen können. Sie können einen neuen geheimen Schlüssel generieren. Durch die Neugenerierung wird der vorherige geheime Schlüssel jedoch ungültig.
- Kopieren Sie auf dem Tab Details die Feed-Endpunkt-URL aus dem Feld Endpunktinformationen. Sie müssen diese Endpunkt-URL in Ihrer Clientanwendung angeben.
- Klicken Sie auf Fertig.
Feeds über den Content Hub einrichten
Geben Sie Werte für die folgenden Felder an:
- Trennzeichen für Aufteilung: Das Trennzeichen, das zum Trennen von Logzeilen verwendet wird, z. B.
\n
.
Erweiterte Optionen
- Feedname: Ein vorausgefüllter Wert, der den Feed identifiziert.
- Quelltyp: Methode, die zum Erfassen von Logs in Google SecOps verwendet wird.
- Asset-Namespace: Der Namespace, der dem Feed zugeordnet ist.
Aufnahmelabels: Labels, die auf alle Ereignisse aus diesem Feed angewendet werden.
Klicken Sie auf Geheimen Schlüssel generieren, um einen geheimen Schlüssel zur Authentifizierung dieses Feeds zu generieren.
Kopieren Sie den geheimen Schlüssel und speichern Sie ihn, da Sie ihn nicht noch einmal aufrufen können. Sie können einen neuen geheimen Schlüssel generieren. Durch die Neugenerierung wird der vorherige geheime Schlüssel jedoch ungültig.
Kopieren Sie auf dem Tab Details die Feed-Endpunkt-URL aus dem Feld Endpunktinformationen. Sie müssen diese Endpunkt-URL in Ihrer Clientanwendung angeben.
API-Schlüssel für den Webhook-Feed erstellen
Rufen Sie die Google Cloud Console > Anmeldedaten auf.
Klicken Sie auf Anmeldedaten erstellen und wählen Sie anschließend API-Schlüssel aus.
Schränken Sie den API-Schlüsselzugriff auf die Google Security Operations API ein.
Endpunkt-URL angeben
- Geben Sie in Ihrer Clientanwendung die HTTPS-Endpunkt-URL an, die im Webhook-Feed bereitgestellt wird.
Aktivieren Sie die Authentifizierung, indem Sie den API-Schlüssel und den geheimen Schlüssel als Teil des benutzerdefinierten Headers im folgenden Format angeben:
X-goog-api-key = API_KEY X-Webhook-Access-Key = SECRET
Empfehlung: Geben Sie den API-Schlüssel als Header an, anstatt ihn in der URL anzugeben. Wenn Ihr Webhook-Client keine benutzerdefinierten Headern unterstützt, können Sie den API-Schlüssel und den geheimen Schlüssel mit Suchparametern im folgenden Format angeben:
ENDPOINT_URL?key=API_KEY&secret=SECRET
Ersetzen Sie Folgendes:
ENDPOINT_URL
: Die URL des Feed-Endpunkts.API_KEY
: Der API-Schlüssel für die Authentifizierung bei Google Security Operations.SECRET
: Der geheime Schlüssel, den Sie zur Authentifizierung des Feeds generiert haben.
Logic App für Microsoft Sentinel-Vorfälle konfigurieren
So konfigurieren Sie Logic App for Microsoft Sentinel Incidents:
- Melden Sie sich im Azure-Portal an.
- Klicken Sie auf Ressource erstellen.
- Suchen Sie nach Logic App.
- Klicken Sie auf Erstellen, um den Erstellungsvorgang zu starten.
- Geben Sie Werte für die folgenden Eingabeparameter an:
- Abo: Wählen Sie das Abo aus.
- Ressourcengruppe: Wählen Sie die Ressourcengruppe aus.
- Name: Geben Sie einen Namen für die Logic App ein.
- Region: Wählen Sie die Region aus.
- Log Analytics-Arbeitsbereich: Wählen Sie den Log Analytics-Arbeitsbereich aus.
- Klicken Sie auf Überprüfen + Erstellen.
- Klicken Sie auf Erstellen.
- Klicken Sie nach dem Erstellen der Logic App auf Zur Ressource wechseln.
- Klicken Sie auf Entwicklungstools > Logic App Designer.
- Klicken Sie auf Trigger hinzufügen.
- Suchen Sie nach Microsoft Sentinel.
- Wählen Sie Microsoft Sentinel-Vorfall als Trigger aus.
- Wenn Sie noch keine Verbindung zu Microsoft Sentinel erstellt haben, müssen Sie dies jetzt tun. Klicken Sie auf Neu erstellen und folgen Sie der Anleitung zur Authentifizierung.
- Klicken Sie auf Neuen Schritt einfügen.
- Klicken Sie auf Aktion hinzufügen.
- Suchen Sie nach HTTP und wählen Sie die Aktion aus.
- Geben Sie Werte für die folgenden Eingabeparameter an:
- URI: Die URL des Feed-Endpunkts.
- Methode: POST
- Header: Fügen Sie die folgenden Header hinzu:
- Content-Type: application/json
- X-goog-api-key: Der API-Schlüssel für die Authentifizierung bei Google Security Operations.
- X-Webhook-Access-Key: Der geheime Schlüssel, den Sie zum Authentifizieren des Feeds generiert haben.
Logic App für Microsoft Sentinel-Benachrichtigungen konfigurieren
So konfigurieren Sie Logic App for Microsoft Sentinel Alerts:
- Rufen Sie die Azure-Portal-Startseite auf.
- Klicken Sie auf Ressource erstellen.
- Suchen Sie nach Logic App.
- Klicken Sie auf Erstellen, um den Erstellungsvorgang zu starten.
- Geben Sie Werte für die folgenden Eingabeparameter an:
- Abo: Wählen Sie das Abo aus.
- Ressourcengruppe: Wählen Sie die Ressourcengruppe aus.
- Name: Geben Sie einen Namen für die Logic App ein.
- Region: Wählen Sie die Region aus.
- Log Analytics-Arbeitsbereich: Wählen Sie den Log Analytics-Arbeitsbereich aus.
- Klicken Sie auf Überprüfen + Erstellen.
- Klicken Sie auf Erstellen.
- Klicken Sie nach dem Erstellen der Logic App auf Zur Ressource wechseln.
- Klicken Sie auf Entwicklungstools > Logic App Designer.
- Klicken Sie auf Trigger hinzufügen.
- Suchen Sie nach Microsoft Sentinel.
- Wählen Sie Microsoft Sentinel-Benachrichtigung als Trigger aus.
- Wenn Sie noch keine Verbindung zu Microsoft Sentinel erstellt haben, müssen Sie dies jetzt tun. Klicken Sie auf Neu erstellen und folgen Sie der Anleitung zur Authentifizierung.
- Klicken Sie auf Neuen Schritt einfügen.
- Klicken Sie auf Aktion hinzufügen.
- Suchen Sie nach HTTP und wählen Sie die Aktion aus.
- Geben Sie Werte für die folgenden Eingabeparameter an:
- URI: Die URL des Feed-Endpunkts.
- Methode: POST
- Header: Fügen Sie die folgenden Header hinzu:
- Content-Type: application/json
- X-goog-api-key: Der API-Schlüssel für die Authentifizierung bei Google Security Operations.
- X-Webhook-Access-Key: Der geheime Schlüssel, den Sie zum Authentifizieren des Feeds generiert haben.
Automatisierungsregeln für Microsoft Sentinel konfigurieren
So konfigurieren Sie Automatisierungsregeln für Microsoft Sentinel:
- Rufen Sie Ihren Microsoft Sentinel-Arbeitsbereich auf.
- Klicken Sie auf Konfiguration > Automatisierung.
- Klicken Sie auf Erstellen.
- Wählen Sie Automatisierungsregel aus.
- Geben Sie Werte für die folgenden Eingabeparameter an:
- Name: Geben Sie einen Namen für die Automatisierungsregel ein.
- Trigger: Wählen Sie When incident is created (Wenn ein Vorfall erstellt wird) aus.
- Aktionen: Wählen Sie Playbook ausführen > Für Vorfälle erstellte Logic App aus.
- Klicken Sie auf Übernehmen.
- Klicken Sie auf Erstellen.
- Wählen Sie Automatisierungsregel aus.
- Geben Sie Werte für die folgenden Eingabeparameter an:
- Name: Geben Sie einen Namen für die Automatisierungsregel ein.
- Trigger: Wählen Sie When incident is updated (Wenn Vorfall aktualisiert wird) aus.
- Bedingung: Klicken Sie auf Hinzufügen > Bedingung (UND) > Status > Geändert.
- Aktionen: Wählen Sie Playbook ausführen > Für Vorfälle erstellte Logic App aus.
- Klicken Sie auf Übernehmen.
- Klicken Sie auf Erstellen.
- Wählen Sie Automatisierungsregel aus.
- Geben Sie Werte für die folgenden Eingabeparameter an:
- Name: Geben Sie einen Namen für die Automatisierungsregel ein.
- Trigger: Wählen Sie Wenn Benachrichtigung erstellt wird aus.
- Aktionen: Wählen Sie Playbook ausführen > Für Benachrichtigungen erstellte Logic App aus.
- Klicken Sie auf Übernehmen.
UDM-Zuordnungstabelle
Logfeld | UDM-Zuordnung | Logik |
---|---|---|
AlertGenerationStatus |
security_result.detection_fields.AlertGenerationStatus |
Direkt aus dem Feld ExtendedProperties nach dem JSON-Parsing zugeordnet. |
AlertLink |
principal.labels.AlertLink |
Direkt zugeordnet. |
AlertName |
security_result.rule_name |
Direkt zugeordnet. |
AlertSeverity |
security_result.severity |
Direkt zugeordnet, in Großbuchstaben konvertiert. Wenn der Wert HIGH, MEDIUM, LOW, CRITICAL oder UNKNOWN_SEVERITY ist, wird er security_result.severity zugeordnet. Andernfalls wird sie security_result.severity_details zugeordnet. |
AlertType |
security_result.threat_name |
Direkt zugeordnet. |
Category |
security_result.detection_fields.Category |
Direkt aus dem Feld ExtendedProperties nach dem JSON-Parsing zugeordnet. |
CompromisedEntity |
principal.resource.attribute.labels.CompromisedEntity |
Direkt zugeordnet. |
CompromisedEntityId |
security_result.detection_fields.CompromisedEntityId |
Direkt aus dem Feld ExtendedProperties nach dem JSON-Parsing zugeordnet. |
ConfidenceLevel |
security_result.confidence_details |
Direkt zugeordnet. |
ConfidenceScore |
security_result.detection_fields.ConfidenceScore |
Direkt zugeordnet. |
cribl_pipe |
additional.fields.cribl_pipe |
Direkt zugeordnet. |
Description |
security_result.description |
Direkt zugeordnet. |
DestinationDevice |
security_result.detection_fields.DestinationDevice ODER target.ip |
Wird nach dem JSON-Parsing aus dem Feld ExtendedProperties zugeordnet. Wenn der Wert eine gültige IP-Adresse ist, wird er target.ip zugeordnet. Andernfalls wird es als Erkennungsfeld zugeordnet. |
DestinationDeviceAddress |
target.ip |
Wird nach dem JSON-Parsing aus dem Feld ExtendedProperties zugeordnet, nur wenn eine gültige IP-Adresse vorhanden ist. |
DeviceId |
security_result.detection_fields.DeviceId |
Direkt aus dem Feld ExtendedProperties nach dem JSON-Parsing zugeordnet. |
DisplayName |
security_result.summary |
Direkt zugeordnet. |
EndTime |
about.labels.EndTime |
Direkt zugeordnet. |
Entities.Address |
principal.asset.ip |
Nach dem JSON-Parsing aus dem Entities -Array extrahiert. Es werden nur IP-Adressen zugeordnet. |
Entities.HostName |
principal.asset.hostname ODER principal.asset.ip |
Nach dem JSON-Parsing aus dem Entities -Array extrahiert. Wenn der Wert eine gültige IP-Adresse ist, wird er principal.asset.ip zugeordnet. Andernfalls wird sie principal.asset.hostname zugeordnet. |
Entities.IoTDevice.DeviceId |
security_result.detection_fields.IoTDeviceID |
Nach dem JSON-Parsing aus dem Entities -Array extrahiert. |
Entities.IoTDevice.DeviceType |
security_result.detection_fields.IoTDeviceType |
Nach dem JSON-Parsing aus dem Entities -Array extrahiert. |
Entities.IoTDevice.DeviceTypeId |
security_result.detection_fields.IoTDeviceTypeId |
Nach dem JSON-Parsing aus dem Entities -Array extrahiert. |
Entities.IoTDevice.Importance |
security_result.detection_fields.IoTDeviceImportance |
Nach dem JSON-Parsing aus dem Entities -Array extrahiert. |
Entities.IoTDevice.IoTSecurityAgentId |
security_result.detection_fields.IoTSecurityAgentId |
Nach dem JSON-Parsing aus dem Entities -Array extrahiert. |
Entities.IoTDevice.Manufacturer |
security_result.detection_fields.IoT Manufacturer |
Nach dem JSON-Parsing aus dem Entities -Array extrahiert. |
Entities.IoTDevice.OperatingSystem |
principal.asset.platform_software.platform_version |
Nach dem JSON-Parsing aus dem Entities -Array extrahiert, nachfolgende Leerzeichen entfernt. |
Entities.IoTDevice.PurdueLayer |
security_result.detection_fields.IoT PurdueLayer |
Nach dem JSON-Parsing aus dem Entities -Array extrahiert. |
Entities.IoTDevice.Sensor |
security_result.detection_fields.IoT Sensor |
Nach dem JSON-Parsing aus dem Entities -Array extrahiert. |
ExtendedProperties.Protocol |
security_result.detection_fields.Protocol |
Direkt aus dem Feld ExtendedProperties nach dem JSON-Parsing zugeordnet. |
ExtendedProperties.SensorId |
security_result.detection_fields.SensorId |
Direkt aus dem Feld ExtendedProperties nach dem JSON-Parsing zugeordnet. |
ExtendedProperties.SourceDevice |
principal.ip ODER security_result.detection_fields.SourceDevice |
Wird nach dem JSON-Parsing aus dem Feld ExtendedProperties zugeordnet. Wenn der Wert eine gültige IP-Adresse ist, wird er principal.ip zugeordnet. Andernfalls wird es als Erkennungsfeld zugeordnet. |
ExtendedProperties.SourceDeviceAddress |
principal.ip |
Wird nach dem JSON-Parsing aus dem Feld ExtendedProperties zugeordnet, nur wenn eine gültige IP-Adresse vorhanden ist. |
IsIncident |
security_result.detection_fields.IsIncident |
Direkt zugeordnet, in String konvertiert. |
ProcessingEndTime |
about.labels.ProcessingEndTime |
Direkt zugeordnet. |
ProductComponentName |
principal.resource.attribute.labels.ProductComponentName |
Direkt zugeordnet. |
ProductName |
principal.resource.attribute.labels.ProductName |
Direkt zugeordnet. |
ProviderName |
principal.resource.attribute.labels.ProviderName |
Direkt zugeordnet. |
ResourceId |
principal.resource.product_object_id , target.resource.name |
Direkt zugeordnet. |
SourceComputerId |
principal.asset.asset_id |
Direkt zugeordnet, mit dem Präfix „SourceComputerId:“ |
SourceSystem |
security_result.detection_fields.SourceSystem |
Direkt zugeordnet. |
StartTime |
about.labels.StartTime |
Direkt zugeordnet. |
Status |
security_result.detection_fields.Status |
Direkt zugeordnet. |
SystemAlertId |
metadata.product_log_id |
Direkt zugeordnet. |
Tactics |
security_result.attack_details.tactics.name |
Wird nach dem JSON-Parsing und dem Entfernen von Backslashes aus dem Feld Tactics extrahiert. |
Techniques |
security_result.attack_details.techniques.id |
Wird nach dem JSON-Parsing und dem Entfernen von Backslashes aus dem Feld Techniques extrahiert. |
TenantId |
additional.fields.TenantId |
Direkt zugeordnet. |
TimeGenerated |
about.labels.TimeGenerated |
Direkt zugeordnet. |
timestamp |
metadata.event_timestamp , events.timestamp |
Direkt zugeordnet. |
VendorName |
metadata.vendor_name |
Direkt zugeordnet. |
VendorOriginalId |
additional.fields.VendorOriginalId |
Direkt zugeordnet. |
_time |
metadata.event_timestamp , events.timestamp |
Wird als Zeitstempel im UNIX- oder UNIX_MS-Format geparst. |
(Parserlogik) | metadata.event_type |
Auf „USER_RESOURCE_ACCESS“ festgelegt, wenn „principal“, „target“ und „ResourceId“ vorhanden sind. Andernfalls auf „GENERIC_EVENT“ setzen. |
(Parserlogik) | metadata.log_type |
Legen Sie diesen Wert auf „MICROSOFT_SENTINEL“ fest. |
(Parserlogik) | metadata.product_name |
Legen Sie diesen Wert auf „MICROSOFT_SENTINEL“ fest. |
Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten