Microsoft Graph-Aktivitätsprotokolle erfassen
Übersicht
Dieser Parser extrahiert Felder aus Microsoft Graph-Aktivitätsprotokollen und wandelt sie in das Unified Data Model (UDM) um. Es initialisiert UDM-Felder, analysiert die Nutzlast, extrahiert Zeitstempel, ordnet verschiedene Properties UDM-Feldern zu, verarbeitet IP-Adressen und Ports und kategorisiert den Ereignistyp basierend auf der Anwesenheit von Haupt- und Netzwerkinformationen.
Hinweise
- Sie benötigen eine Google SecOps-Instanz.
- Sie benötigen Berechtigungen für Microsoft Entra ID und Azure-Speicherkonten.
Azure-Speicherkonto konfigurieren
- Suchen Sie in der Azure-Konsole nach Speicherkonten.
- Klicken Sie auf Erstellen.
- Geben Sie Werte für die folgenden Eingabeparameter an:
- Abo: Wählen Sie das Abo aus.
- Ressourcengruppe: Wählen Sie die Ressourcengruppe aus.
- Region: Wählen Sie die Region aus.
- Leistung: Wählen Sie die gewünschte Leistung aus. „Standard“ wird empfohlen.
- Redundanz: Wählen Sie die gewünschte Redundanzstufe aus. GRS oder LRS wird empfohlen.
- Speicherkontoname: Geben Sie einen Namen für das neue Speicherkonto ein.
- Klicken Sie auf Überprüfen + Erstellen.
- Sehen Sie sich die Übersicht des Kontos an und klicken Sie auf Erstellen.
- Wählen Sie auf der Seite Speicherkontoübersicht unter Sicherheit & Netzwerk das Untermenü Zugriffsschlüssel aus.
- Klicken Sie neben Schlüssel 1 oder Schlüssel 2 auf Anzeigen.
- Klicke auf In die Zwischenablage kopieren, um den Schlüssel zu kopieren.
- Bewahren Sie den Schlüssel an einem sicheren Ort auf.
- Wählen Sie auf der Seite Speicherkontoübersicht unter Einstellungen das Untermenü Endpunkte aus.
- Klicken Sie auf In Zwischenablage kopieren, um die Endpunkt-URL des Blob-Dienstes zu kopieren (z. B. https://
.blob.core.windows.net ). - Speichern Sie die Endpunkt-URL an einem sicheren Ort, um sie später wiederzufinden.
Export von Microsoft Graph-Aktivitätslogs in ein Speicherkonto konfigurieren
- Suchen Sie in der Azure-Konsole nach Entra ID.
- Wählen Sie Überwachung > Diagnoseeinstellungen aus.
- Klicken Sie auf + Diagnoseeinstellung hinzufügen.
- Geben Sie der Einstellung einen eindeutigen Namen, z. B. ms-graph-activity.
- Wählen Sie die Kategorie MicrosoftGraphActivityLog aus, die Sie in Google SecOps exportieren möchten.
- Wählen Sie unter Zielangaben die Option In einem Speicherkonto archivieren aus.
- Wählen Sie Ihr Abo und das Speicherkonto aus, das Sie im vorherigen Schritt erstellt haben.
- Klicken Sie auf Speichern.
Feed in Google SecOps für die Aufnahme der Microsoft Graph-Aktivitätslogs konfigurieren
- Gehen Sie zu SIEM-Einstellungen > Feeds.
- Klicken Sie auf Neu hinzufügen.
- Geben Sie im Feld Feedname einen Namen für den Feed ein, z. B. Microsoft Graph-Aktivitätsprotokolle.
- Wählen Sie Microsoft Azure Blob Storage als Quelltyp aus.
- Wählen Sie Microsoft Graph-Aktivitätsprotokolle als Logtyp aus.
- Klicken Sie auf Weiter.
Geben Sie Werte für die folgenden Eingabeparameter an:
Azure-URI: die Blob-Endpunkt-URL.
ENDPOINT_URL/BLOB_NAME
Ersetzen Sie Folgendes:
ENDPOINT_URL
: die Blob-Endpunkt-URL (https://<storageaccountname>.blob.core.windows.net
)BLOB_NAME
: der Name des Blobs (z. B. insights-logs-)
URI ist: Wählen Sie den URI-Typ entsprechend der Logstream-Konfiguration aus (Einzeldatei | Verzeichnis | Verzeichnis mit Unterverzeichnissen).
Optionen zum Löschen der Quelle: Wählen Sie die gewünschte Löschoption aus.
- Freigegebener Schlüssel: Der Zugriffsschlüssel für Azure Blob Storage.
- Asset-Namespace: der Asset-Namespace.
- Aufnahmelabels: Das Label, das auf die Ereignisse aus diesem Feed angewendet werden soll.
Klicken Sie auf Weiter.
Prüfen Sie die neue Feedkonfiguration auf dem Bildschirm Abschließen und klicken Sie dann auf Senden.
UDM-Zuordnungstabelle
Logfeld | UDM-Zuordnung | Logik |
---|---|---|
callerIpAddress |
principal.asset.ip |
Das Rohlogfeld callerIpAddress wird in das UDM-Feld kopiert. |
callerIpAddress |
principal.ip |
Das Feld „Raw Log“ (Unverarbeitetes Protokoll) callerIpAddress wird in das UDM-Feld kopiert. |
category |
security_result.category_details |
Das Feld „Raw Log“ (Unverarbeitetes Protokoll) category wird in das UDM-Feld kopiert. |
correlationId |
security_result.detection_fields.value |
Das Feld „Raw Log“ correlationId wird in das UDM-Feld kopiert, wobei correlationId der Schlüssel ist. |
Level |
security_result.detection_fields.value |
Das Rohprotokollfeld Level wird in einen String umgewandelt und in das UDM-Feld kopiert, wobei Level der Schlüssel ist. |
operationName |
metadata.product_event_type |
Das Feld „Raw Log“ operationName wird in das UDM-Feld kopiert. |
operationVersion |
additional.fields.value.string_value |
Das Feld „Raw Log“ operationVersion wird in das UDM-Feld kopiert, wobei operationVersion der Schlüssel ist. |
properties.apiVersion |
metadata.product_version |
Das Feld „Raw Log“ (Unverarbeitetes Protokoll) properties.apiVersion wird in das UDM-Feld kopiert. |
properties.appId |
target.resource.product_object_id |
Das Feld „Raw Log“ properties.appId wird in das UDM-Feld kopiert. |
properties.atContent |
additional.fields.value.string_value |
Das Feld „Raw Log“ properties.atContent wird in das UDM-Feld kopiert, wobei atContent der Schlüssel ist. |
properties.clientAuthMethod |
extensions.auth.auth_details |
Je nach Wert von properties.clientAuthMethod wird das UDM-Feld auf „Öffentlicher Client“ (0), „Client-ID/Clientschlüssel“ (1) oder „Clientzertifikat“ (2) gesetzt. |
properties.clientRequestId |
additional.fields.value.string_value |
Das Feld „Raw Log“ properties.clientRequestId wird in das UDM-Feld kopiert, wobei clientRequestId der Schlüssel ist. |
properties.durationMs |
network.session_duration.seconds |
Das Feld „properties.durationMs “ im Rohprotokoll wird von Millisekunden in Sekunden umgewandelt und in das UDM-Feld kopiert. |
properties.identityProvider |
security_result.detection_fields.value |
Das Feld „Raw Log“ properties.identityProvider wird in das UDM-Feld kopiert, wobei identityProvider der Schlüssel ist. |
properties.ipAddress |
principal.asset.ip |
Die IP-Adresse aus dem Feld „Raw Log“ properties.ipAddress wird extrahiert und in das UDM-Feld kopiert. |
properties.ipAddress |
principal.ip |
Die IP-Adresse aus dem Feld „Raw Log“ properties.ipAddress wird extrahiert und in das UDM-Feld kopiert. |
properties.location |
principal.location.name |
Das Feld „Raw Log“ (Unverarbeitetes Protokoll) properties.location wird in das UDM-Feld kopiert. |
properties.operationId |
security_result.detection_fields.value |
Das Feld „Raw Log“ properties.operationId wird in das UDM-Feld kopiert, wobei operationId der Schlüssel ist. |
properties.requestMethod |
network.http.method |
Das Rohlogfeld properties.requestMethod wird in das UDM-Feld kopiert. |
properties.requestId |
metadata.product_log_id |
Das Rohlogfeld properties.requestId wird in das UDM-Feld kopiert. |
properties.responseSizeBytes |
network.received_bytes |
Das Rohprotokollfeld properties.responseSizeBytes wird in eine Ganzzahl ohne Vorzeichen konvertiert und in das UDM-Feld kopiert. |
properties.responseStatusCode |
network.http.response_code |
Das Rohprotokollfeld properties.responseStatusCode wird in eine Ganzzahl konvertiert und in das UDM-Feld kopiert. |
properties.roles |
additional.fields.value.string_value |
Das Feld „Raw Log“ properties.roles wird in das UDM-Feld kopiert, wobei roles der Schlüssel ist. |
properties.scopes |
additional.fields.value.string_value |
Das Feld „Raw Log“ properties.scopes wird in das UDM-Feld kopiert, wobei Scopes der Schlüssel ist. |
properties.servicePrincipalId |
principal.user.userid |
Das Feld „Raw Log“ properties.servicePrincipalId wird in das UDM-Feld kopiert, wenn properties.userId leer ist. |
properties.signInActivityId |
network.session_id |
Das Rohlogfeld properties.signInActivityId wird in das UDM-Feld kopiert. |
properties.tenantId |
metadata.product_deployment_id |
Das Feld „Raw Log“ properties.tenantId wird in das UDM-Feld kopiert. |
properties.tokenIssuedAt |
additional.fields.value.string_value |
Das Feld „Raw Log“ properties.tokenIssuedAt wird in das UDM-Feld kopiert, wobei tokenIssuedAt der Schlüssel ist. |
properties.userAgent |
network.http.user_agent |
Das Feld „Raw Log“ (Unverarbeitetes Protokoll) properties.userAgent wird in das UDM-Feld kopiert. |
properties.userId |
principal.user.userid |
Das Feld „Raw Log“ properties.userId wird in das UDM-Feld kopiert. |
properties.wids |
security_result.detection_fields.value |
Das Feld „Raw Log“ properties.wids wird in das UDM-Feld kopiert, wobei wids der Schlüssel ist. |
resourceId |
target.resource.attribute.labels.value |
Das Feld „Raw Log“ resourceId wird in das UDM-Feld kopiert, wobei Resource ID der Schlüssel ist. |
resultSignature |
additional.fields.value.string_value |
Das Feld „Raw Log“ resultSignature wird in das UDM-Feld kopiert, wobei „resultSignature “ der Schlüssel ist. |
time |
metadata.event_timestamp |
Das Rohprotokollfeld time wird analysiert, in einen Zeitstempel umgewandelt und in das UDM-Feld kopiert. Das UDM-Feld event.idm.read_only_udm.metadata.event_type wird auf „NETWORK_HTTP“ gesetzt, wenn has_principal wahr ist und network.http nicht leer ist, auf „STATUS_UPDATE“, wenn has_principal wahr ist und network.http leer ist, oder auf „GENERIC_EVENT“, wenn dies nicht der Fall ist. Das UDM-Feld ist auf „Microsoft Graph“ gesetzt. Das UDM-Feld ist auf „Microsoft“ gesetzt. |
Änderungen
2024-05-27
- Legen Sie „metadata.vendor_name“ auf „Microsoft“ und „metadata.product_name“ auf „Microsoft Graph“ fest.
2024-03-01
- Neu erstellter Parser.