Fortinet FortiEDR-Logs erfassen

Unterstützt in:

In diesem Dokument wird beschrieben, wie Sie Fortinet FortiEDR-Logs mit Google Cloud Storage V2 oder dem Bindplane-Agent in Google Security Operations aufnehmen.

Fortinet FortiEDR ist eine Lösung zur Erkennung und Reaktion auf Endpunkte, die Echtzeitschutz, automatisierte Reaktion auf Vorfälle und Bedrohungsinformationen für Endpunkte in einem Unternehmen bietet.

Unterschiede bei der Erfassungsmethode

In diesem Leitfaden werden zwei Erhebungsmethoden beschrieben:

  • Option 1: Syslog über Bindplane-Agent: FortiEDR sendet Syslog-Nachrichten an den Bindplane-Agent, der Logs an Google SecOps weiterleitet. Empfohlen für die Echtzeitaufnahme von Logs mit minimaler Infrastruktur.
  • Option 2: Syslog zu GCS über Cloud Function: FortiEDR sendet Syslog-Nachrichten an eine Cloud Function, die Logs zur Aufnahme in Google SecOps in GCS schreibt. Empfohlen für die zentrale Logspeicherung und Batchverarbeitung.

Wählen Sie die Methode aus, die am besten zu Ihrer Infrastruktur und Ihren Anforderungen passt.

Option 1: Fortinet FortiEDR-Logs mit dem BindPlane-Agenten erfassen

Hinweise

Prüfen Sie, ob die folgenden Voraussetzungen erfüllt sind:

  • Google SecOps-Instanz
  • Windows Server 2016 oder höher oder Linux-Host mit systemd
  • Netzwerkverbindung zwischen Bindplane-Agent und Fortinet FortiEDR Central Manager
  • Wenn Sie den Agent hinter einem Proxy ausführen, müssen die Firewallports gemäß den Anforderungen des Bindplane-Agents geöffnet sein.
  • Berechtigter Zugriff auf die Fortinet FortiEDR-Verwaltungskonsole
  • FortiEDR-Version 5.0 oder höher

Authentifizierungsdatei für die Aufnahme in Google SecOps abrufen

  1. Melden Sie sich in der Google SecOps-Konsole an.
  2. Rufen Sie die SIEM-Einstellungen > Collection Agent auf.
  3. Klicken Sie auf Herunterladen, um die Datei zur Authentifizierung der Aufnahme herunterzuladen.
  4. Speichern Sie die Datei sicher auf dem System, auf dem der Bindplane-Agent installiert wird.

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 Kunden-ID aus dem Bereich Organisationsdetails.

BindPlane-Agent installieren

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

Fenstereinbau

  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 aktiv (wird ausgeführt) angezeigt werden.

Zusätzliche Installationsressourcen

Weitere Installationsoptionen und Informationen zur Fehlerbehebung finden Sie in der Installationsanleitung für den Bindplane-Agent.

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

Konfigurationsdatei suchen

Linux:

sudo nano /etc/bindplane-agent/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:
    tcplog:
        listen_address: "0.0.0.0:514"

exporters:
    chronicle/fortiedr:
        compression: gzip
        creds_file_path: '/etc/bindplane-agent/ingestion-auth.json'
        customer_id: 'YOUR_CUSTOMER_ID'
        endpoint: malachiteingestion-pa.googleapis.com
        log_type: FORTINET_FORTIEDR
        raw_log_field: body
        ingestion_labels:
            env: production

service:
    pipelines:
        logs/fortiedr_to_chronicle:
            receivers:
                - tcplog
            exporters:
                - chronicle/fortiedr

Konfigurationsparameter

Ersetzen Sie die folgenden Platzhalter:

Empfängerkonfiguration:

  • listen_address: IP-Adresse und Port, auf dem gelauscht werden soll. Verwenden Sie 0.0.0.0:514, um alle Schnittstellen auf Port 514 zu überwachen.

Exporter-Konfiguration:

  • creds_file_path: Vollständiger Pfad zur Datei für die Authentifizierung bei der Aufnahme:
    • Linux: /etc/bindplane-agent/ingestion-auth.json
    • Windows: C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
  • customer_id: Kunden-ID aus dem vorherigen Schritt.
  • endpoint: Regionale Endpunkt-URL:
    • USA: malachiteingestion-pa.googleapis.com
    • Europa: europe-malachiteingestion-pa.googleapis.com
    • Asien: asia-southeast1-malachiteingestion-pa.googleapis.com
  • ingestion_labels: Optionale Labels im YAML-Format.

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.

Bindplane-Agent neu starten, um die Änderungen zu übernehmen

  • Linux

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

      sudo systemctl status observiq-otel-collector
      
    2. Logs auf Fehler prüfen:

      sudo journalctl -u observiq-otel-collector -f
      
  • Windows

    Wählen Sie eine der folgenden Optionen aus:

    • So verwenden Sie die Eingabeaufforderung oder PowerShell als Administrator:

      net stop observiq-otel-collector && net start observiq-otel-collector
      
    • Services Console verwenden:

      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. Klicken Sie mit der rechten Maustaste und wählen Sie Neu starten aus.

      4. Prüfen Sie, ob der Dienst ausgeführt wird:

        sc query observiq-otel-collector
        
      5. Logs auf Fehler prüfen:

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

Syslog-Weiterleitung für Fortinet FortiEDR konfigurieren

Syslog-Ziel konfigurieren

  1. Melden Sie sich in der FortiEDR Central Manager-Konsole an.
  2. Gehen Sie zu Administration > Export Settings > Syslog.
  3. Klicken Sie auf die Schaltfläche Neuen Syslog definieren.
  4. Geben Sie im Feld Syslog Name einen aussagekräftigen Namen ein, z. B. Chronicle-Integration.
  5. Geben Sie im Feld Host die IP-Adresse des Bindplane-Agent-Hosts ein.
  6. Geben Sie in das Feld Port die Zahl 514 ein.
  7. Wählen Sie im Drop-down-Menü Protokoll die Option TCP aus.
  8. Wählen Sie im Drop-down-Menü Format die Option Semikolon aus (Standardformat mit durch Semikolon getrennten Feldern).
  9. Klicken Sie auf die Schaltfläche Testen, um die Verbindung zum BindPlane-Agent zu testen.
  10. Prüfen Sie, ob der Test erfolgreich war.
  11. Klicken Sie auf die Schaltfläche Speichern, um das Syslog-Ziel zu speichern.

Syslog-Benachrichtigungen pro Ereignistyp aktivieren

  1. Wählen Sie auf der Seite Syslog die soeben erstellte Syslog-Zielzeile aus.
  2. Verwenden Sie im Bereich BENACHRICHTIGUNGEN rechts die Schieberegler, um das Ziel pro Ereignistyp zu aktivieren oder zu deaktivieren:
    • Systemereignisse: Aktivieren Sie diese Option, um FortiEDR-Systemzustandsereignisse zu senden.
    • Sicherheitsereignisse: Aktivieren Sie diese Option, um aggregierte Sicherheitsereignisse zu senden.
    • Audit-Trail: Aktivieren Sie diese Option, um Audit-Log-Ereignisse zu senden.
  3. Klicken Sie für jeden aktivierten Ereignistyp auf die Schaltfläche rechts davon.
  4. Setzen Sie ein Häkchen bei den Feldern, die Sie in die Syslog-Nachrichten aufnehmen möchten.
  5. Klicken Sie auf Speichern.

Playbook-Benachrichtigungen konfigurieren

Syslog-Nachrichten werden nur für Sicherheitsereignisse gesendet, die auf Geräten auftreten, die einer Playbook-Richtlinie mit aktivierter Option Syslog-Benachrichtigung senden zugewiesen sind.

  1. Rufen Sie die Sicherheitseinstellungen > Playbooks auf.
  2. Wählen Sie die Playbook-Richtlinie aus, die für die Geräte gilt, die Sie überwachen möchten, z. B. Standard-Playbook.
  3. Suchen Sie im Abschnitt Benachrichtigungen nach der Zeile Syslog.
  4. Aktivieren Sie die Option Syslog-Benachrichtigung senden, indem Sie die Kästchen für die Ereignisklassifizierungen auswählen, die Sie senden möchten:
    • Schädlich: Sicherheitsereignisse, die als schädlich eingestuft wurden.
    • Verdächtig: Sicherheitsereignisse, die als verdächtig eingestuft wurden.
    • PUP: Potenziell unerwünschte Programme.
    • Nicht eindeutig: Ereignisse mit nicht eindeutiger Klassifizierung.
    • Wahrscheinlich sicher: Ereignisse, die als wahrscheinlich sicher eingestuft werden (optional).
  5. Klicken Sie auf Speichern.

Option 2: Fortinet FortiEDR-Logs mit GCS erfassen

Hinweise

Prüfen Sie, ob die folgenden Voraussetzungen erfüllt sind:

  • Eine Google SecOps-Instanz
  • Ein GCP-Projekt mit aktivierter Cloud Storage API
  • Berechtigungen zum Erstellen und Verwalten von GCS-Buckets
  • Berechtigungen zum Verwalten von IAM-Richtlinien für GCS-Buckets
  • Berechtigungen zum Erstellen von Cloud Run-Diensten, Pub/Sub-Themen und Cloud Scheduler-Jobs
  • Berechtigter Zugriff auf die Fortinet FortiEDR-Verwaltungskonsole
  • FortiEDR-Version 5.0 oder höher

Google Cloud Storage-Bucket erstellen

  1. Gehen Sie zur Google Cloud Console.
  2. Wählen Sie Ihr Projekt aus oder erstellen Sie ein neues.
  3. Rufen Sie im Navigationsmenü Cloud Storage > Buckets auf.
  4. Klicken Sie auf Bucket erstellen.
  5. Geben Sie die folgenden Konfigurationsdetails an:

    Einstellung Wert
    Bucket benennen Geben Sie einen global eindeutigen Namen ein, z. B. fortiedr-logs.
    Standorttyp Wählen Sie je nach Bedarf aus (Region, Dual-Region, Multi-Region).
    Standort Wählen Sie den Speicherort aus, z. B. us-central1.
    Speicherklasse Standard (empfohlen für Logs, auf die häufig zugegriffen wird)
    Zugriffskontrolle Einheitlich (empfohlen)
    Schutzmaßnahmen Optional: Objektversionsverwaltung oder Aufbewahrungsrichtlinie aktivieren
  6. Klicken Sie auf Erstellen.

Dienstkonto für Cloud Run-Funktion erstellen

Die Cloud Run-Funktion benötigt ein Dienstkonto mit Berechtigungen zum Schreiben in den GCS-Bucket und zum Aufrufen durch Pub/Sub.

Dienstkonto erstellen

  1. Wechseln Sie in der GCP Console zu IAM & Verwaltung > Dienstkonten.
  2. Klicken Sie auf Dienstkonto erstellen.
  3. Geben Sie die folgenden Konfigurationsdetails an:
    • Name des Dienstkontos: Geben Sie fortiedr-syslog-collector-sa ein.
    • Beschreibung des Dienstkontos: Geben Sie Service account for Cloud Run function to collect FortiEDR syslog logs ein.
  4. Klicken Sie auf Erstellen und fortfahren.
  5. Fügen Sie im Abschnitt Diesem Dienstkonto Zugriff auf das Projekt erteilen die folgenden Rollen hinzu:
    1. Klicken Sie auf Rolle auswählen.
    2. Suchen Sie nach Storage-Objekt-Administrator und wählen Sie die Rolle aus.
    3. Klicken Sie auf + Weitere Rolle hinzufügen.
    4. Suchen Sie nach Cloud Run Invoker und wählen Sie die Rolle aus.
    5. Klicken Sie auf + Weitere Rolle hinzufügen.
    6. Suchen Sie nach Cloud Functions Invoker und wählen Sie die Rolle aus.
  6. Klicken Sie auf Weiter.
  7. Klicken Sie auf Fertig.

Diese Rollen sind erforderlich für:

  • Storage-Objekt-Administrator: Protokolle in GCS-Bucket schreiben und Statusdateien verwalten
  • Cloud Run-Aufrufer: Pub/Sub darf die Funktion aufrufen.
  • Cloud Functions-Invoker: Funktionsaufruf zulassen

IAM-Berechtigungen für GCS-Bucket erteilen

Gewähren Sie dem Dienstkonto Schreibberechtigungen für den GCS-Bucket:

  1. Rufen Sie Cloud Storage > Buckets auf.
  2. Klicken Sie auf den Namen Ihres Buckets.
  3. Wechseln Sie zum Tab Berechtigungen.
  4. Klicken Sie auf Zugriff erlauben.
  5. Geben Sie die folgenden Konfigurationsdetails an:
    • Hauptkonten hinzufügen: Geben Sie die E-Mail-Adresse des Dienstkontos ein (z. B. fortiedr-syslog-collector-sa@PROJECT_ID.iam.gserviceaccount.com).
    • Rollen zuweisen: Wählen Sie Storage-Objekt-Administrator aus.
  6. Klicken Sie auf Speichern.

Pub/Sub-Thema erstellen

Erstellen Sie ein Pub/Sub-Thema, in dem Cloud Scheduler veröffentlicht und das von der Cloud Run-Funktion abonniert wird.

  1. Rufen Sie in der GCP Console Pub/Sub > Themen auf.
  2. Klicken Sie auf Thema erstellen.
  3. Geben Sie die folgenden Konfigurationsdetails an:
    • Themen-ID: Geben Sie fortiedr-syslog-trigger ein.
    • Übernehmen Sie die anderen Einstellungen.
  4. Klicken Sie auf Erstellen.

Cloud Run-Funktion zum Empfangen von Syslog erstellen

Die Cloud Run-Funktion empfängt Syslog-Nachrichten von FortiEDR über HTTP und schreibt sie in GCS.

  1. Rufen Sie in der GCP Console Cloud Run auf.
  2. Klicken Sie auf Dienst erstellen.
  3. Wählen Sie Funktion aus, um eine Funktion mit einem Inline-Editor zu erstellen.
  4. Geben Sie im Abschnitt Konfigurieren die folgenden Konfigurationsdetails an:

    Einstellung Wert
    Dienstname fortiedr-syslog-collector
    Region Wählen Sie die Region aus, die Ihrem GCS-Bucket entspricht (z. B. us-central1).
    Laufzeit Wählen Sie Python 3.12 oder höher aus.
  5. Im Abschnitt Trigger (optional):

    1. Klicken Sie auf + Trigger hinzufügen.
    2. Wählen Sie HTTPS aus.
    3. Wählen Sie unter Authentifizierung die Option Nicht authentifizierte Aufrufe zulassen aus.
    4. Klicken Sie auf Speichern.
  6. Scrollen Sie zu Container, Netzwerk, Sicherheit und maximieren Sie diesen Bereich.

  7. Rufen Sie den Tab Sicherheit auf:

    • Dienstkonto: Wählen Sie das Dienstkonto aus (fortiedr-syslog-collector-sa).
  8. Rufen Sie den Tab Container auf:

    1. Klicken Sie auf Variablen und Secrets.
    2. Klicken Sie für jede Umgebungsvariable auf + Variable hinzufügen:

      Variablenname Beispielwert Beschreibung
      GCS_BUCKET fortiedr-logs Name des GCS-Buckets
      GCS_PREFIX fortiedr-syslog Präfix für Protokolldateien
  9. Scrollen Sie im Bereich Variablen und Secrets zu Anfragen:

    • Zeitüberschreitung für Anfrage: Geben Sie 60 Sekunden ein.
  10. Rufen Sie den Tab Einstellungen auf:

    • Im Abschnitt Ressourcen:
      • Arbeitsspeicher: Wählen Sie 256 MiB oder höher aus.
      • CPU: Wählen Sie 1 aus.
  11. Im Abschnitt Versionsskalierung:

    • Mindestanzahl von Instanzen: Geben Sie 0 ein.
    • Maximale Anzahl von Instanzen: Geben Sie 10 ein (oder passen Sie den Wert an die erwartete Last an).
  12. Klicken Sie auf Erstellen.

  13. Warten Sie ein bis zwei Minuten, bis der Dienst erstellt wurde.

  14. Nachdem der Dienst erstellt wurde, wird automatisch der Inline-Code-Editor geöffnet.

Funktionscode hinzufügen

  1. Geben Sie main in das Feld Einstiegspunkt ein.
  2. Erstellen Sie im Inline-Codeeditor zwei Dateien:

    • Erste Datei: main.py::
    import functions_framework
    from google.cloud import storage
    import json
    import os
    from datetime import datetime, timezone
    from flask import Request
    
    # Initialize Storage client
    storage_client = storage.Client()
    
    # Environment variables
    GCS_BUCKET = os.environ.get('GCS_BUCKET')
    GCS_PREFIX = os.environ.get('GCS_PREFIX', 'fortiedr-syslog')
    
    @functions_framework.http
    def main(request: Request):
        """
        Cloud Run function to receive syslog messages from FortiEDR and write to GCS.
    
        Args:
            request: Flask Request object containing syslog message
        """
    
        if not GCS_BUCKET:
            print('Error: Missing GCS_BUCKET environment variable')
            return ('Missing GCS_BUCKET environment variable', 500)
    
        try:
            # Get request body
            request_data = request.get_data(as_text=True)
    
            if not request_data:
                print('Warning: Empty request body')
                return ('Empty request body', 400)
    
            # Parse syslog messages (one per line)
            lines = request_data.strip().split('\n')
    
            if not lines:
                print('Warning: No syslog messages found')
                return ('No syslog messages found', 400)
    
            # Get GCS bucket
            bucket = storage_client.bucket(GCS_BUCKET)
    
            # Write to GCS as NDJSON
            now = datetime.now(timezone.utc)
            timestamp = now.strftime('%Y%m%d_%H%M%S_%f')
            object_key = f"{GCS_PREFIX}/logs_{timestamp}.ndjson"
            blob = bucket.blob(object_key)
    
            # Convert each line to JSON object with raw syslog message
            records = []
            for line in lines:
                if line.strip():
                    records.append({'raw': line.strip(), 'timestamp': now.isoformat()})
    
            ndjson = '\n'.join([json.dumps(record, ensure_ascii=False) for record in records]) + '\n'
            blob.upload_from_string(ndjson, content_type='application/x-ndjson')
    
            print(f"Wrote {len(records)} records to gs://{GCS_BUCKET}/{object_key}")
    
            return (f"Successfully processed {len(records)} records", 200)
    
        except Exception as e:
            print(f'Error processing syslog: {str(e)}')
            return (f'Error processing syslog: {str(e)}', 500)
    
    • Zweite Datei: requirements.txt::
    functions-framework==3.*
    google-cloud-storage==2.*
    flask==3.*
    
  3. Klicken Sie auf Bereitstellen, um die Funktion zu speichern und bereitzustellen.

  4. Warten Sie, bis die Bereitstellung abgeschlossen ist (2–3 Minuten).

  5. Rufen Sie nach der Bereitstellung den Tab Trigger auf und kopieren Sie die Trigger-URL (z. B. https://fortiedr-syslog-collector-abc123-uc.a.run.app).

Fortinet FortiEDR-Syslog-Weiterleitung an Cloud Function konfigurieren

Syslog-Ziel konfigurieren

  1. Melden Sie sich in der FortiEDR Central Manager-Konsole an.
  2. Gehen Sie zu Administration > Export Settings > Syslog.
  3. Klicken Sie auf die Schaltfläche Neuen Syslog definieren.
  4. Geben Sie im Feld Syslog Name einen aussagekräftigen Namen ein, z. B. Chronicle-GCS-Integration.
  5. Geben Sie im Feld Host den Hostnamen der Cloud Function-Trigger-URL ein, z. B. fortiedr-syslog-collector-abc123-uc.a.run.app.
  6. Geben Sie in das Feld Port die Zahl 443 ein.
  7. Wählen Sie im Drop-down-Menü Protokoll die Option TCP aus.
  8. Wählen Sie im Drop-down-Menü Format die Option Semikolon aus (Standardformat mit durch Semikolon getrennten Feldern).
  9. Klicken Sie auf die Schaltfläche Test, um die Verbindung zur Cloud Functions-Funktion zu testen.
  10. Prüfen Sie, ob der Test erfolgreich war.
  11. Klicken Sie auf die Schaltfläche Speichern, um das Syslog-Ziel zu speichern.

Syslog-Benachrichtigungen pro Ereignistyp aktivieren

  1. Wählen Sie auf der Seite Syslog die soeben erstellte Syslog-Zielzeile aus.
  2. Verwenden Sie im Bereich BENACHRICHTIGUNGEN rechts die Schieberegler, um das Ziel pro Ereignistyp zu aktivieren oder zu deaktivieren:
    • Systemereignisse: Aktivieren Sie diese Option, um FortiEDR-Systemzustandsereignisse zu senden.
    • Sicherheitsereignisse: Aktivieren Sie diese Option, um aggregierte Sicherheitsereignisse zu senden.
    • Audit-Trail: Aktivieren Sie diese Option, um Audit-Log-Ereignisse zu senden.
  3. Klicken Sie für jeden aktivierten Ereignistyp auf die Schaltfläche rechts davon.
  4. Setzen Sie ein Häkchen bei den Feldern, die Sie in die Syslog-Nachrichten aufnehmen möchten.
  5. Klicken Sie auf Speichern.

Playbook-Benachrichtigungen konfigurieren

Syslog-Nachrichten werden nur für Sicherheitsereignisse gesendet, die auf Geräten auftreten, die einer Playbook-Richtlinie mit aktivierter Option Syslog-Benachrichtigung senden zugewiesen sind.

  1. Rufen Sie die Sicherheitseinstellungen > Playbooks auf.
  2. Wählen Sie die Playbook-Richtlinie aus, die für die Geräte gilt, die Sie überwachen möchten, z. B. Standard-Playbook.
  3. Suchen Sie im Abschnitt Benachrichtigungen nach der Zeile Syslog.
  4. Aktivieren Sie die Option Syslog-Benachrichtigung senden, indem Sie die Kästchen für die Ereignisklassifizierungen auswählen, die Sie senden möchten:
    • Schädlich: Sicherheitsereignisse, die als schädlich eingestuft wurden.
    • Verdächtig: Sicherheitsereignisse, die als verdächtig eingestuft wurden.
    • PUP: Potenziell unerwünschte Programme.
    • Nicht eindeutig: Ereignisse mit nicht eindeutiger Klassifizierung.
    • Wahrscheinlich sicher: Ereignisse, die als wahrscheinlich sicher eingestuft werden (optional).
  5. Klicken Sie auf Speichern.

Integration testen

  1. Rufen Sie in der FortiEDR Central Manager-Konsole Administration > Export Settings > Syslog auf.
  2. Wählen Sie die Zeile mit dem Syslog-Ziel aus.
  3. Klicken Sie auf die Schaltfläche Testen, um eine Testnachricht zu senden.
  4. Rufen Sie in der GCP Console Cloud Run > Dienste auf.
  5. Klicken Sie auf den Funktionsnamen (fortiedr-syslog-collector).
  6. Klicken Sie auf den Tab Logs.
  7. Prüfen Sie, ob die Funktion erfolgreich ausgeführt wurde. Darauf sollten Sie achten:

    Wrote X records to gs://fortiedr-logs/fortiedr-syslog/logs_YYYYMMDD_HHMMSS_MMMMMM.ndjson
    Successfully processed X records
    
  8. Rufen Sie Cloud Storage > Buckets auf.

  9. Klicken Sie auf den Namen Ihres Buckets.

  10. Rufen Sie den Präfixordner (fortiedr-syslog/) auf.

  11. Prüfen Sie, ob eine neue .ndjson-Datei mit dem aktuellen Zeitstempel erstellt wurde.

Wenn in den Logs Fehler angezeigt werden, gehen Sie so vor:

  • Leerer Anfragetext: FortiEDR sendet keine Daten an Cloud Function.
  • Umgebungsvariable GCS_BUCKET fehlt: Prüfen Sie, ob Umgebungsvariablen festgelegt sind.
  • Berechtigung verweigert: Prüfen Sie, ob das Dienstkonto die Rolle „Storage-Objekt-Administrator“ für den Bucket hat.

Google SecOps-Dienstkonto abrufen

Google SecOps verwendet ein eindeutiges Dienstkonto, um Daten aus Ihrem GCS-Bucket zu lesen. Sie müssen diesem Dienstkonto Zugriff auf Ihren Bucket gewähren.

Feed in Google SecOps konfigurieren, um Fortinet FortiEDR-Logs aufzunehmen

  1. Rufen Sie die SIEM-Einstellungen > Feeds auf.
  2. Klicken Sie auf Neuen Feed hinzufügen.
  3. Klicken Sie auf Einzelnen Feed konfigurieren.
  4. Geben Sie im Feld Feedname einen Namen für den Feed ein, z. B. FortiEDR Syslog Logs.
  5. Wählen Sie Google Cloud Storage V2 als Quelltyp aus.
  6. Wählen Sie Fortinet FortiEDR als Logtyp aus.

  7. Klicken Sie auf Dienstkonto abrufen.

  8. Es wird eine eindeutige E-Mail-Adresse für das Dienstkonto angezeigt, z. B.:

    chronicle-12345678@chronicle-gcp-prod.iam.gserviceaccount.com
    
  9. Kopieren Sie diese E-Mail-Adresse. Sie verwenden es in der nächsten Aufgabe.

  10. Klicken Sie auf Weiter.

  11. Geben Sie Werte für die folgenden Eingabeparameter an:

    • Storage-Bucket-URL: Geben Sie den GCS-Bucket-URI mit dem Präfixpfad ein:

      gs://fortiedr-logs/fortiedr-syslog/
      

      Ersetzen Sie:

      • fortiedr-logs: Der Name Ihres GCS-Buckets.
      • fortiedr-syslog: Optionales Präfix/Ordnerpfad, in dem Logs gespeichert werden (für den Stamm leer lassen).
    • Option zum Löschen der Quelle: Wählen Sie die gewünschte Löschoption aus:

      • Nie: Es werden nach Übertragungen nie Dateien gelöscht (empfohlen für Tests).
      • Übertragene Dateien löschen: Dateien werden nach der erfolgreichen Übertragung gelöscht.
      • Übertragene Dateien und leere Verzeichnisse löschen: Löscht Dateien und leere Verzeichnisse nach der erfolgreichen Übertragung.
    • Maximales Dateialter: Dateien einschließen, die in den letzten Tagen geändert wurden. Der Standardwert ist 180 Tage.

    • Asset-Namespace: Der Asset-Namespace.

    • Aufnahmelabels: Das Label, das auf die Ereignisse aus diesem Feed angewendet werden soll.

  12. Klicken Sie auf Weiter.

  13. Prüfen Sie die neue Feedkonfiguration auf dem Bildschirm Abschließen und klicken Sie dann auf Senden.

Dem Google SecOps-Dienstkonto IAM-Berechtigungen gewähren

Das Google SecOps-Dienstkonto benötigt die Rolle Storage-Objekt-Betrachter für Ihren GCS-Bucket.

  1. Rufen Sie Cloud Storage > Buckets auf.
  2. Klicken Sie auf den Namen Ihres Buckets.
  3. Wechseln Sie zum Tab Berechtigungen.
  4. Klicken Sie auf Zugriff erlauben.
  5. Geben Sie die folgenden Konfigurationsdetails an:
    • Hauptkonten hinzufügen: Fügen Sie die E‑Mail-Adresse des Google SecOps-Dienstkontos ein.
    • Rollen zuweisen: Wählen Sie Storage-Objekt-Betrachter aus.
  6. Klicken Sie auf Speichern.

UDM-Zuordnungstabelle

Logfeld UDM-Zuordnung Logik
Land target.location.country_or_region Wert wird direkt kopiert, wenn er nicht „N/A“ oder leer ist
srccountry principal.location.country_or_region Wert wird direkt kopiert, wenn er nicht „Reserved“ oder leer ist
dstcountry target.location.country_or_region Wert wird direkt kopiert, wenn er nicht leer ist
srcip principal.ip Wert direkt kopiert
dstip target.ip Wert wird direkt kopiert, wenn er nicht „N/A“ ist.
Ziel target.ip Wird als IP-Adresse aus dem Ziel extrahiert, sofern gültig
dst target.ip Als IP-Adresse aus „dst“ extrahiert, falls gültig
srcmac principal.mac Wert direkt kopiert
dstosname target.platform Auf LINUX setzen, wenn LINUX zutrifft; auf WINDOWS, wenn WINDOWS zutrifft; auf MAC, wenn MAC zutrifft
srcport principal.port In Ganzzahl konvertiert
dstport target.port In Ganzzahl konvertiert
spt principal.port In Ganzzahl konvertiert
dpt target.port In Ganzzahl konvertiert
sessionid network.session_id Wert direkt kopiert
sentbyte network.sent_bytes In vorzeichenlose Ganzzahl konvertiert
rcvdbyte network.received_bytes In vorzeichenlose Ganzzahl konvertiert
Dauer network.session_duration.seconds In Ganzzahl konvertiert
Aktion security_result.summary Wert direkt kopiert
level security_result.severity_details Auf „level: %{level}“ festgelegt
policyid security_result.rule_id Wert direkt kopiert
policyname security_result.rule_name Wert direkt kopiert
policytype security_result.rule_type Wert direkt kopiert
Dienst target.application Wert direkt kopiert
intermediary_ip target.ip Wert wird direkt kopiert, wenn „message_type“ „Audit“ ist oder „loginStatus“ nicht leer ist.
Vermittler Vermittler Wert direkt kopiert
devname target.hostname Wert direkt kopiert
server_host target.hostname Wert wird direkt kopiert, wenn „message_type“ „Audit“ ist oder „loginStatus“ nicht leer ist.
server_host intermediary.hostname Wert wird direkt als Label kopiert, wenn er nicht „Audit“ oder „loginStatus“ ist.
deviceInformation target.resource.name, target.resource.resource_type device_name extrahiert und resource_type auf DEVICE festgelegt
component_name additional.fields Als Label mit dem Schlüssel „Component Name“ festlegen
process_name principal.application Wert direkt kopiert
Prozesspfad target.file.full_path Wert direkt kopiert
asset_os target.platform Auf WINDOWS setzen, wenn .Windows. übereinstimmt; LINUX, wenn .Linux übereinstimmt.
os_version target.platform_version Aus „asset_os“ extrahiert
asset_os principal.platform Auf WINDOWS setzen, wenn .Windows. übereinstimmt; LINUX, wenn .Linux übereinstimmt.
os_version principal.platform_version Aus „asset_os“ extrahiert
usr_name userId Wert direkt kopiert
Nutzer userId Wert direkt kopiert, wenn nicht WG oder ADDC
id userId Wert direkt kopiert
userId target.user.userid Wert wird direkt kopiert, wenn „message_type“ „Audit“ ist oder „loginStatus“ nicht leer ist.
userId principal.user.userid Wert wird direkt kopiert, wenn es sich nicht um „Audit“ oder „loginStatus“ handelt.
userDisplayName target.user.user_display_name Wert wird direkt kopiert, wenn „message_type“ „Audit“ ist oder „loginStatus“ nicht leer ist.
userDisplayName principal.user.user_display_name Wert wird direkt kopiert, wenn es sich nicht um „Audit“ oder „loginStatus“ handelt.
userPrincipalName principal.user.userid Wert direkt kopiert
Beschreibung metadata.description Wert wird direkt kopiert, wenn er nicht leer ist
Details metadata.description Wert wird direkt kopiert, wenn er nicht leer ist
mfaResult metadata.description Wert wird direkt kopiert, wenn er nicht leer ist
data7 metadata.description Wert wird direkt kopiert, wenn er nicht leer ist
message_type metadata.description Wert direkt kopiert, wenn „description_details“ leer ist
src_ip, srcip principal.ip Wert aus „src_ip“, falls nicht leer, andernfalls „src“, andernfalls „Source“, andernfalls „ipAddress“
src_ip principal.ip Wird als IP-Adresse aus „src_ip“ extrahiert, sofern gültig
mac_address principal.mac Als Array verarbeitet, in Kleinbuchstaben umgewandelt, bei gültiger MAC-Adresse zusammengeführt
event_id target.process.pid Wert wird direkt kopiert, wenn „message_type“ „Audit“ ist oder „loginStatus“ nicht leer ist.
event_id metadata.product_log_id Wert wird direkt kopiert, wenn es sich nicht um „Audit“ oder „loginStatus“ handelt.
event_type metadata.event_type Wert direkt kopiert
Schweregrad security_result.severity Auf INFORMATIONAL festgelegt, wenn „Niedrig“ oder leer; MEDIUM, wenn „Mittel“; HIGH, wenn „Hoch“; CRITICAL, wenn „Kritisch“
Aktion security_result.action Auf ALLOW setzen, wenn Übereinstimmungen (?i)Allow; BLOCK, wenn Übereinstimmungen (?i)Block; andernfalls action_details
security_action security_result.action Wert direkt kopiert
Regel Regeln Wert direkt kopiert
Regeln security_result.rule_name Wert direkt kopiert
Klassifizierung security_result.summary Wert direkt kopiert
Zuerst erfasst security_result.detection_fields Als Label mit dem Schlüssel „First Seen“ festlegen
Zuletzt erfasst security_result.detection_fields Als Label mit dem Schlüssel „Last Seen“ festlegen
Organisation target.administrative_domain Wert wird direkt kopiert, wenn „message_type“ „Audit“ ist oder „loginStatus“ nicht leer ist.
Organisation additional.fields Als Label mit dem Schlüssel „Organization“ festlegen, wenn es sich nicht um „Audit“ oder „loginStatus“ handelt
security_result security_result Zusammengeführt aus sec_result
metadata.vendor_name Auf „FORTINET“ festgelegt
metadata.product_name Legen Sie diesen Wert auf „FORTINET_FORTIEDR“ fest.

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