Microsoft SharePoint-Logs (Office 365) erfassen

Unterstützt in:

In diesem Dokument wird beschrieben, wie Sie Microsoft SharePoint-Logs (Office 365) mit Bindplane in Google Security Operations erfassen.

Microsoft SharePoint ist eine webbasierte Plattform für die Zusammenarbeit, die in Microsoft 361 eingebunden ist. In SharePoint-Audit-Logs werden Nutzeraktivitäten wie Dateioperationen, Ordneraktivitäten, Freigabeaktionen, Listenoperationen und Websiteverwaltungsaktionen erfasst. Der Zugriff auf diese Protokolle erfolgt über den SIEM-Agenten von Microsoft Defender for Cloud Apps, der Auditdaten von SharePoint Online und OneDrive for Business abruft und als Syslog an einen lokalen Empfänger streamt.

Hinweis

Prüfen Sie, ob folgende Voraussetzungen erfüllt sind:

  • Eine Google SecOps-Instanz
  • Windows Server 2016 oder höher oder Linux-Host mit systemd
  • Wenn die Ausführung hinter einem Proxy erfolgt, müssen die Firewallports geöffnet sein.
  • Microsoft 365-Mandant mit SharePoint Online
  • Microsoft Defender for Cloud Apps-Lizenz (in Microsoft 365 E5 enthalten oder als Add-on verfügbar)
  • Rolle „Globaler Administrator“ oder „Sicherheitsadministrator“ im Microsoft Defender-Portal
  • Einen Windows- oder Linux-Server mit Java 8 oder höher, auf dem der SIEM-Agent ausgeführt wird (kann derselbe Host wie Bindplane sein)
  • Einheitliches Audit-Logging in Microsoft 365 aktiviert

Einheitliches Audit-Logging aktivieren

Bevor Microsoft Defender for Cloud Apps SharePoint-Auditdaten erfassen kann, muss das einheitliche Audit-Logging für Ihren Microsoft 365-Mandanten aktiviert werden.

  1. Melden Sie sich im Microsoft Purview-Complianceportal an.
  2. Gehen Sie zu Audit.
  3. Klicken Sie bei Aufforderung auf Nutzer- und Administratoraktivitäten aufzeichnen. Hinweis: Nach dem Aktivieren des einheitlichen Audit-Loggings kann es bis zu 12 Stunden dauern, bis Inhalte verfügbar sind.
  • Alternativ können Sie das einheitliche Audit-Logging mit PowerShell aktivieren:

    Connect-ExchangeOnline
    Set-AdminAuditLogConfig -UnifiedAuditLogIngestionEnabled $true
    

Google SecOps-Anmeldedaten für den Bindplane-Agenten abrufen

Wählen Sie eine der folgenden Methoden aus, um den Bindplane-Agenten bei Google SecOps zu authentifizieren:

  • Neue Deployments: Verwenden Sie die Chronicle API (Option 1).
  • Alte Bereitstellungen: Verwenden Sie die Datei für die Authentifizierung bei der Aufnahme (Option 2) weiterhin, bis die Ingestion API am 20. Juli 2027 eingestellt wird.
  1. Melden Sie sich in der Google Cloud -Konsole an und wählen Sie das Google Cloud -Projekt aus, das mit Ihrer Google SecOps-Instanz verknüpft ist.
  2. Rufen Sie IAM und Verwaltung > Dienstkonten auf.
  3. Klicken Sie auf Dienstkonto erstellen.
  4. Geben Sie die folgenden Konfigurationsdetails an:
    • Name des Dienstkontos: Geben Sie einen Namen für das Konto ein, z. B. bindplane-ingest.
    • Dienstkontobeschreibung: Geben Sie eine Beschreibung ein (z. B. Bindplane agent log ingestion).
  5. Klicken Sie auf Erstellen und fortfahren.
  6. Klicken Sie im Abschnitt Diesem Dienstkonto Zugriff auf das Projekt erteilen auf Rolle auswählen und wählen Sie Chronicle-Bearbeiter aus.
  7. Klicken Sie auf Weiter und dann auf Fertig.
  8. Klicken Sie auf das erstellte Dienstkonto und rufen Sie dann den Tab Schlüssel auf.
  9. Klicken Sie auf Schlüssel hinzufügen > Neuen Schlüssel erstellen.
  10. Wählen Sie JSON aus und klicken Sie auf Erstellen. Die Schlüsseldatei wird auf Ihren Computer heruntergeladen.
  11. Speichern Sie die Schlüsseldatei als ingestion-auth.json im Bindplane-Collector-Verzeichnis (/opt/observiq-otel-collector/ingestion-auth.json unter Linux oder C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json unter Windows) oder aktualisieren Sie creds_file_path in config.yaml, damit der Pfad mit dem Pfad übereinstimmt, in dem Sie die Datei speichern.
  12. Rufen Sie IAM und Verwaltung > Einstellungen auf und kopieren Sie die Projektnummer. Sie benötigen sie für die Konfiguration des Exporters.

Option 2: Authentifizierungsdatei für die Aufnahme herunterladen (Legacy)

  1. Melden Sie sich in der Google SecOps-Konsole an.
  2. Rufen Sie die SIEM-Einstellungen > Erfassungs-Agents auf.
  3. Laden Sie die Authentifizierungsdatei für die Datenaufnahme herunter.
  4. Speichern Sie die Datei sicher auf dem System, auf dem der Bindplane-Agent installiert werden soll.

Google SecOps-Kundennummer abrufen

  1. Melden Sie sich in der Google SecOps-Konsole an.
  2. Rufen Sie die SIEM-Einstellungen > Profile auf.
  3. Kopieren und speichern Sie die Kundennummer aus dem Bereich Organization Details (Organisationsdetails).

BindPlane-Agent installieren

Installieren Sie den Bindplane-Agenten gemäß der folgenden Anleitung auf Ihrem Windows- oder Linux-Betriebssystem.

Windows-Installation

  1. Öffnen Sie die Eingabeaufforderung oder PowerShell als Administrator.
  2. Führen Sie dazu diesen Befehl aus:

    msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
    
  3. Warten Sie, bis die Installation abgeschlossen ist.

  4. Überprüfen Sie die Installation mit folgendem Befehl:

    sc query observiq-otel-collector
    

    Der Dienst sollte als RUNNING (WIRD AUSGEFÜHRT) angezeigt werden.

Linux-Installation

  1. Öffnen Sie ein Terminal mit Root- oder sudo-Berechtigungen.
  2. Führen Sie dazu diesen Befehl aus:

    sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
    
  3. Warten Sie, bis die Installation abgeschlossen ist.

  4. Überprüfen Sie die Installation mit folgendem Befehl:

    sudo systemctl status observiq-otel-collector
    

    Der Dienst sollte als active (running) angezeigt werden.

Zusätzliche Installationsressourcen

Weitere Installationsoptionen und Informationen zur Problembehebung finden Sie im Installationsanleitung für den Bindplane-Agent.

Bindplane-Agent zum Erfassen von Syslog-Daten und Senden an Google SecOps konfigurieren

Konfigurationsdatei suchen

  • Linux:

    sudo nano /opt/observiq-otel-collector/config.yaml
    
  • Windows:

    notepad "C:\Program Files\observIQ OpenTelemetry Collector\config.yaml"
    

Konfigurationsdatei bearbeiten

  • Ersetzen Sie den gesamten Inhalt von config.yaml durch die folgende Konfiguration:

    receivers:
      udplog:
        listen_address: "0.0.0.0:514"
    
    exporters:
      chronicle/sharepoint:
        protocol: https
        # Region of your instance, for example us, europe, asia-southeast1
        location: <LOCATION>
        # Project number of the Google Cloud project linked to the instance
        project: '<PROJECT_NUMBER>'
        compression: gzip
        creds_file_path: '/opt/observiq-otel-collector/ingestion-auth.json'
        customer_id: '<CUSTOMER_ID>'
        endpoint: chronicle.googleapis.com
        log_type: SHAREPOINT
        raw_log_field: body
    
    service:
      pipelines:
        logs/sharepoint_to_chronicle:
          receivers:
            - udplog
          exporters:
            - chronicle/sharepoint
    

Konfigurationsparameter

Ersetzen Sie die folgenden Platzhalter:

  • Exporter-Konfiguration:

    • <CUSTOMER_ID>: Die Google SecOps-Kundennummer, die im vorherigen Schritt kopiert wurde
    • creds_file_path: Vollständiger Pfad zur JSON-Schlüsseldatei des Dienstkontos (Option 1):
      • Linux: /opt/observiq-otel-collector/ingestion-auth.json
      • Windows: C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
    • location: Ersetzen Sie <LOCATION> durch die Region Ihrer Google SecOps-Instanz (z. B. us, europe oder asia-southeast1). Der Exporter stellt diesem Wert chronicle.googleapis.com voran. Eine vollständige Liste finden Sie unter Regionale Endpunkte.
    • project: Ersetzen Sie <PROJECT_NUMBER> durch die Projektnummer aus IAM & Verwaltung > Einstellungen.
    • endpoint: Behalten Sie die Einstellung chronicle.googleapis.com bei.

Legacy-Ingestion-API-Exporter

  • Wenn Sie die Authentifizierungsdatei für die Datenaufnahme aus Option 2 verwenden, ersetzen Sie den Block exporters durch Folgendes. Legen Sie für creds_file_path den Pfad zur Authentifizierungsdatei für die Datenaufnahme fest. Wenn sich Ihre Instanz außerhalb der USA befindet, ersetzen Sie malachiteingestion-pa.googleapis.com durch Ihren regionalen Endpunkt (z. B. europe-malachiteingestion-pa.googleapis.com).

    exporters:
      chronicle/sharepoint:
        compression: gzip
        creds_file_path: '/opt/observiq-otel-collector/ingestion-auth.json'
        customer_id: '<CUSTOMER_ID>'
        endpoint: malachiteingestion-pa.googleapis.com
        log_type: SHAREPOINT
        raw_log_field: body
    

Konfigurationsdatei speichern

  • Speichern Sie die Datei nach der Bearbeitung:
    • Linux: Drücken Sie Ctrl+O, dann Enter und dann Ctrl+X.
    • Windows: Klicken Sie auf Datei > Speichern.

Starten Sie den Bindplane-Agent neu, um die Änderungen zu übernehmen.

So starten Sie den Bindplane-Agenten unter Linux neu:

  1. Führen Sie dazu diesen Befehl aus:

    sudo systemctl restart observiq-otel-collector
    
  2. Prüfen Sie, ob der Dienst ausgeführt wird:

    sudo systemctl status observiq-otel-collector
    
  3. Prüfen Sie die Logs auf Fehler:

    sudo journalctl -u observiq-otel-collector -f
    

So starten Sie den Bindplane-Agenten unter Windows neu:

  1. Wählen Sie eine der folgenden Optionen aus:

    • Eingabeaufforderung oder PowerShell als Administrator:
    net stop observiq-otel-collector && net start observiq-otel-collector
    
    • Services Console:
      1. Drücken Sie Win+R, geben Sie services.msc ein und drücken Sie die Eingabetaste.
      2. Suchen Sie nach observIQ OpenTelemetry Collector.
      3. Rechtsklicken Sie und wählen Sie Neu starten aus.
  2. Prüfen Sie, ob der Dienst ausgeführt wird:

    sc query observiq-otel-collector
    
  3. Prüfen Sie die Logs auf Fehler:

    type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
    

Microsoft Defender for Cloud Apps-SIEM-Agent so konfigurieren, dass SharePoint-Protokolle weitergeleitet werden

Microsoft SharePoint Online ist ein Cloud-Dienst und hat keine integrierte Syslog-Weiterleitungsfunktion. Wenn Sie SharePoint-Audit-Logs über Syslog weiterleiten möchten, verwenden Sie den SIEM-Agent von Microsoft Defender for Cloud Apps. Dieser ruft Benachrichtigungen und Aktivitäten aus Defender for Cloud Apps ab und streamt sie als Syslog-Nachrichten (im CEF-Format) an den Bindplane-Agent.

Voraussetzungen für den SIEM-Agenten

  • Ein Windows- oder Linux-Server (kann eine virtuelle Maschine sein) mit:

    • Java 8 oder höher installiert
    • Transport Layer Security (TLS) 1.2 oder höher
    • CPU: 2 Kerne
    • Speicherplatz: 20 GB
    • RAM: 2 GB

Schritt 1: SIEM-Agent im Microsoft Defender-Portal konfigurieren

  1. Melden Sie sich im Microsoft Defender-Portal an.
  2. Wählen Sie Einstellungen aus.
  3. Wählen Sie Cloud-Apps aus.
  4. Wählen Sie unter System die Option SIEM-Agents aus.
  5. Klicken Sie auf SIEM-Agent hinzufügen und wählen Sie dann Generisches SIEM aus.
  6. Klicken Sie auf Assistenten starten.
  7. Geben Sie die folgenden Konfigurationsdetails an:
    • Name: Geben Sie einen aussagekräftigen Namen ein (z. B. Chronicle-Bindplane-SharePoint).
    • SIEM-Format auswählen: Wählen Sie CEF aus.
  8. Klicken Sie auf Weiter.
  9. Geben Sie die folgenden Syslog-Verbindungsdetails an:
    • Remote-Syslog-Host: Geben Sie die IP-Adresse oder den Hostnamen des Bindplane-Agent-Hosts ein (z. B. 192.168.1.100).
    • Syslog-Portnummer: Geben Sie 514 ein (oder den Port, der in Ihrem Bindplane-Agenten config.yaml konfiguriert ist).
    • Remote-Syslog-Protokoll: Wählen Sie UDP aus (muss mit dem Empfängertyp in der Bindplane-Agent-Konfiguration übereinstimmen).
  10. Klicken Sie auf Weiter.
  11. Konfigurieren Sie die zu exportierenden Datentypen:
    1. Aktivieren Sie den Schieberegler für Aktivitäten.
    2. Legen Sie im Drop-down-Menü Anwenden auf für Aktivitäten Filter fest, um SharePoint-Aktivitäten einzuschließen:
      1. Wählen Sie App equals (App ist gleich) aus und wählen Sie Microsoft SharePoint Online und Microsoft OneDrive for Business aus.
    3. Aktivieren Sie den Schieberegler für Benachrichtigungen, wenn Sie auch Richtlinienbenachrichtigungen zu SharePoint erhalten möchten.
  12. Klicken Sie auf Ergebnisse bearbeiten und Vorschau ansehen, um zu prüfen, ob der Filter mit den erwarteten Aktivitäten übereinstimmt.
  13. Klicken Sie auf Weiter.
  14. Kopieren Sie das Token, das auf der Übersichtsseite angezeigt wird, und speichern Sie es an einem sicheren Ort.
  15. Klicken Sie auf Beenden.

Schritt 2: JAR-Datei des SIEM-Agents herunterladen und ausführen

  1. Laden Sie den SIEM-Agenten aus dem Microsoft Download Center herunter.
  2. Extrahieren Sie die heruntergeladene ZIP-Datei auf dem Server, auf dem der SIEM-Agent ausgeführt wird.
  3. Führen Sie den SIEM-Agent mit dem folgenden Befehl aus:

    java -jar mcas-siemagent-0.87.20-signed.jar --token <TOKEN>
    

Ersetzen Sie <TOKEN> durch das aus dem Microsoft Defender-Portal kopierte Token.

Schritt 3: SIEM-Agent für die Ausführung als Dienst konfigurieren

Damit Protokolle kontinuierlich weitergeleitet werden, konfigurieren Sie den SIEM-Agent so, dass er automatisch gestartet wird:

Linux:

  • Fügen Sie den Ausführungsbefehl zu /etc/rc.local hinzu oder erstellen Sie einen systemd-Dienst:

    java -jar /opt/mcas-siemagent/mcas-siemagent-0.87.20-signed.jar --token <TOKEN> &
    

Windows:

  • Geplante Aufgabe konfigurieren:
    1. Öffnen Sie den Taskplaner.
    2. Erstellen Sie eine neue Aufgabe mit Ausführen, unabhängig davon, ob der Nutzer angemeldet ist.
    3. Legen Sie die Aktion fest, um die JAR-Datei mit dem Token-Parameter auszuführen.
    4. Entfernen Sie das Häkchen bei Aufgabe beenden, wenn sie länger ausgeführt wird als.

Schritt 4: SIEM-Agent-Verbindung prüfen

  1. Rufen Sie im Microsoft Defender-Portal die Einstellungen > Cloud-Apps > SIEM-Agents auf.
  2. Prüfen Sie, ob der Status des SIEM-Agents Verbunden (grün) ist.
  3. Prüfen Sie auf dem Bindplane-Agent-Host, ob Syslog-Meldungen empfangen werden:

    sudo journalctl -u observiq-otel-collector -f
    
  4. Suchen Sie in Google SecOps nach Logs mit metadata.log_type = "SHAREPOINT", um die Logaufnahme zu bestätigen.

UDM-Zuordnungstabelle

Logfeld UDM-Zuordnung Logik
Aufgetreten metadata.event_timestamp Gepasst mit dem Datumsfilter mit den Formaten „MM/dd/yyyy HH:mm:ss A“, „MM/dd/yyyy HH:mm:ss a“, „M/d/yyyy HH:mm:ss A“
has_principal metadata.event_type Auf „USER_RESOURCE_ACCESS“ setzen, wenn „has_principal“ und („has_target_resource“ oder „has_target“), andernfalls „STATUS_UPDATE“, wenn „has_principal“, andernfalls „GENERIC_EVENT“
has_target_resource metadata.event_type
has_target metadata.event_type
metadata.product_name metadata.product_name Auf „SHAREPOINT“ festgelegt
EventData metadata.product_version Wert direkt kopiert
metadata.vendor_name metadata.vendor_name Legen Sie diesen Wert auf „SHAREPOINT“ fest.
Erstellt principal.asset.attribute.labels Zusammengeführte Labels mit dem Schlüssel „Created“ aus „Created“ und dem Schlüssel „Last Modified“ aus „LastModified“
LastModified principal.asset.attribute.labels
SamAccountName principal.asset.hostname Wert direkt kopiert
SamAccountName principal.hostname Wert direkt kopiert
Datenbank principal.process.file.names Aus Datenbank zusammengeführt
UserEmail principal.user.email_addresses Zusammengeführt aus UserEmail, wenn es mit dem regulären Ausdruck für E‑Mail-Adressen übereinstimmt
Nutzername principal.user.user_display_name Wert direkt kopiert
EventType security_result.description Wert direkt kopiert
Verzeichnis target.file.full_path Wert direkt kopiert
Blatt target.file.names Aus Leaf zusammengeführt
ItemType target.resource.type Wert direkt kopiert
SecUserURL target.url Wert direkt kopiert
SecUserRole target.user.attribute.roles Rolle mit Namen aus SecUserRole zusammengeführt
SecUserEmail target.user.email_addresses Zusammengeführt aus SecUserEmail, wenn mit dem regulären Ausdruck für E‑Mail-Adressen übereinstimmt
SecGroupName target.user.group_identifiers Zusammengeführt aus SecGroupName
SecUserName target.user.user_display_name Wert direkt kopiert
SecSamAccountName target.user.userid Wert direkt kopiert

Änderungsprotokoll

Änderungsprotokoll für diesen Parser ansehen

Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten