Fortinet FortiManager-Logs erfassen

Unterstützt in:

In diesem Leitfaden wird beschrieben, wie Sie Fortinet FortiManager-Logs mit dem Bindplane-Agent in Google Security Operations aufnehmen können.

Fortinet FortiManager ist eine zentrale Netzwerkverwaltungsplattform, die einheitliche Verwaltung, Compliance mit Best Practices und Workflow-Automatisierung für Sicherheits- und Netzwerkgeräte von Fortinet bietet. Mit FortiManager können Administratoren Konfigurationen, Richtlinien, Firmware-Updates und Sicherheitsdienste für Tausende von FortiGate-Firewalls und anderen Fortinet-Geräten in der Security Fabric zentral verwalten.

Hinweise

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

  • Google SecOps-Instanz.
  • Windows Server 2016 oder höher oder Linux-Host mit systemd.
  • Netzwerkverbindung zwischen dem Bindplane-Agent und Fortinet FortiManager.
  • Wenn Sie den Agent hinter einem Proxy ausführen, achten Sie darauf, dass die Firewallports gemäß den Anforderungen des Bindplane-Agents geöffnet sind.
  • Privilegierter Zugriff auf die FortiManager-Verwaltungskonsole von Fortinet mit Berechtigungen zum Ändern der Systemeinstellungen.
  • FortiManager-Version 5.0.7 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:
    udplog:
    listen_address: "0.0.0.0:514"

exporters:
    chronicle/fortimanager:
    compression: gzip
    creds_file_path: '/etc/bindplane-agent/ingestion-auth.json'
    customer_id: 'your-customer-id-here'
    endpoint: malachiteingestion-pa.googleapis.com
    log_type: FORTINET_FORTIMANAGER
    raw_log_field: body
    ingestion_labels:
        env: production
        source: fortimanager

service:
    pipelines:
    logs/fortimanager_to_chronicle:
        receivers:
        - udplog
        exporters:
        - chronicle/fortimanager

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 51 zu überwachen. Wenn für Port 514 Root-Berechtigungen unter Linux erforderlich sind, verwenden Sie 0.0.0.0:1514 und konfigurieren Sie FortiManager so, dass Daten an Port 1514 gesendet werden.

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 (z. B. a1b2c3d4-e5f6-g7h8-i9j0-k1l2m3n4o5p6)
  • endpoint: Regionale Endpunkt-URL:
    • USA: malachiteingestion-pa.googleapis.com
    • Europa: europe-malachiteingestion-pa.googleapis.com
    • Asien: asia-southeast1-malachiteingestion-pa.googleapis.com
    • Eine vollständige Liste finden Sie unter Regionale Endpunkte.
  • log_type: Muss genau FORTINET_FORTIMANAGER sein.
  • ingestion_labels: Optionale Labels zum Filtern und Organisieren

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 FortiManager konfigurieren

Die Syslog-Konfiguration von FortiManager erfolgt in zwei Schritten: Zuerst definieren Sie den Syslog-Server in der GUI und aktivieren dann die lokale Protokollweiterleitung über die CLI.

Schritt 1: Syslog-Server in der FortiManager-GUI hinzufügen

  1. Melden Sie sich in der Weboberfläche von Fortinet FortiManager an.
  2. Gehen Sie zu Systemeinstellungen > Erweitert > Syslog-Server.
  3. Klicken Sie in der Symbolleiste auf Neu erstellen.
  4. Der Bereich Neue Syslog-Servereinstellungen erstellen wird geöffnet.
  5. Legen Sie folgende Einstellungen fest:
    • Name: Geben Sie einen aussagekräftigen Namen ein, z. B. Chronicle-Bindplane.
    • IP-Adresse (oder FQDN): Geben Sie die IP-Adresse des Bindplane-Agent-Hosts ein (z. B. 192.168.1.100).
    • Syslog Server Port (Syslog-Serverport): Geben Sie 514 ein (oder 1514, wenn Sie Bindplane so konfiguriert haben, dass ein nicht privilegierter Port überwacht wird).
    • Zuverlässige Verbindung: Für UDP (Standard) deaktiviert lassen oder für TCP aktivieren.
    • Sichere Verbindung: Lassen Sie diese Option deaktiviert, sofern Sie keine TLS-Zertifikate konfiguriert haben.
  6. Klicken Sie auf OK, um die Syslog-Serverkonfiguration zu speichern.

Schritt 2: Lokale Log-Weiterleitung über die CLI aktivieren

Nachdem Sie den Syslog-Server in der Benutzeroberfläche hinzugefügt haben, müssen Sie FortiManager über die CLI aktivieren, lokale Logs an den Syslog-Server zu senden.

  1. Stellen Sie über SSH oder die Konsole eine Verbindung zur FortiManager-Befehlszeile her.
  2. Führen Sie folgende Befehle aus:

    Für FortiManager 5.0.7 und höher:

    config system locallog syslogd setting
        set syslog-name Chronicle-Bindplane
        set severity information
        set status enable
    end
    

    Konfigurationsparameter:

    • syslog-name: Muss mit dem Namen übereinstimmen, den Sie in der Benutzeroberfläche konfiguriert haben (z. B. Chronicle-Bindplane).
    • severity: Auf information setzen, um alle lokalen Logs zu erfassen. Die Standardeinstellung ist notification, wodurch weniger Ereignisse erfasst werden. Die Optionen sind: emergency, alert, critical, error, warning, notification, information, debug.
    • status: Legen Sie enable fest, um mit dem Weiterleiten von Logs zu beginnen.
  3. Konfiguration prüfen:

    config system locallog syslogd setting
        show
    end
    
  4. Prüfen Sie, ob Logs gesendet werden, indem Sie die Bindplane-Agent-Logs prüfen oder die Paketerfassung auf dem Bindplane-Agent-Host verwenden:

Linux:

sudo tcpdump -i any port 514 -A

Windows:

Verwenden Sie Wireshark oder Microsoft Message Analyzer, um Traffic an Port 514 zu erfassen.

Hinweise zum Syslog-Verhalten von FortiManager

  • FortiManager sendet seine eigenen lokalen Ereignisprotokolle (System, Konfigurationsänderungen, Administratoraktionen) an den konfigurierten Syslog-Server, nicht Protokolle von verwalteten FortiGate-Geräten.
  • Standardmäßig ist Reliable Connection deaktiviert. Das bedeutet, dass Logs über UDP auf Port 51 gesendet werden. Wenn Sie Reliable Connection (Zuverlässige Verbindung) aktivieren, werden Logs über TCP an Port 514 gesendet.
  • FortiManager-Syslog-Nachrichten verwenden ein Fortinet-spezifisches Format, das nicht streng RFC 3164- oder RFC 5424-konform ist. Der Google SecOps-Parser FORTINET_FORTIMANAGER ist für dieses Format konzipiert.
  • Achten Sie darauf, dass die Systemzeit von FortiManager mit NTP synchronisiert und auf UTC konfiguriert ist, damit die Zeitstempel in den Protokollen korrekt sind. Wenn Sie die Systemzeit konfigurieren möchten, rufen Sie das Dashboard auf und klicken Sie im Widget Systeminformationen neben dem Feld Systemzeit auf die Schaltfläche „Systemzeit bearbeiten“.

UDM-Zuordnungstabelle

Logfeld UDM-Zuordnung Logik
type, subtype, pri, operation, performed_on, lograte, msgrate, logratelimit, logratepeak, action, cpuusage, memusage, diskusage, disk2usage, userfrom about.resource.attribute.labels Mit der Ressource verknüpfte Labels.
clearpass-spt, allow-routing, color, comment, fabric-object, name, node-ip-only, obj-type, sdn-addr-type, sub-type, adom, pkgname, _signal-lte-rsrq, _signal-lte-rssi, performed_on_dev, changetype event.idm.read_only_udm.additional.fields Zusätzliche Felder, die nicht vom Standard-UDM-Schema abgedeckt werden.
event.idm.read_only_udm.about Informationen zum Ereignis.
event.idm.read_only_udm.extensions Erweiterungen des Ereignisses.
event.idm.read_only_udm.metadata Metadaten zum Ereignis.
cache_ttl_label event.idm.read_only_udm.network Netzwerkbezogene Informationen.
event.idm.read_only_udm.principal Informationen zur Hauptidentität.
event.idm.read_only_udm.security_result Ergebnisse der Sicherheitsanalyse.
event.idm.read_only_udm.target Informationen zur Zielentität.
extensions.auth.type Der Authentifizierungstyp.
Änderungen metadata.description Eine Beschreibung des Ereignisses.
event_type metadata.event_type Art des Ereignisses.
log_id metadata.product_log_id Die produktspezifische Kennung für den Logeintrag.
cache_ttl_label network.dns.answers DNS-Antworten.
session_id network.session_id Die Sitzungs-ID der Netzwerkverbindung.
adminprof principal.administrative_domain Die administrative Domain des Principals.
devname principal.asset.hostname Der Hostname des Assets, das mit dem Prinzipal verknüpft ist.
src_ip principal.asset.ip Die IP-Adresse des mit dem Rechtssubjekt verknüpften Assets.
devname principal.hostname Der Hostname des Prinzipal.
src_ip principal.ip Die IP-Adresse des Hauptkontos.
device_id principal.resource.product_object_id Die produktspezifische Kennung für die Ressource.
principal.resource.resource_type Der Ressourcentyp.
uuid principal.user.userid Die Nutzer-ID des Hauptnutzers.
action_details security_result.action Die aufgrund des Sicherheitsereignisses ergriffene Maßnahme.
wildcard, subnet, end-ip, start-ip security_result.detection_fields Felder, die für die Erkennung in Sicherheitsergebnissen verwendet werden.
msg security_result.summary Eine Zusammenfassung des Sicherheitsergebnisses.
target_ip, tar_ip, remote_ip target.asset.ip Die IP-Adresse des Assets, das mit dem Ziel verknüpft ist.
target_ip, tar_ip, remote_ip target.ip Die IP-Adresse des Ziels.
tar_port, remote_port target.port Die Portnummer des Ziels.
Nutzer target.user.userid Die Nutzer-ID des Zielnutzers.
metadata.vendor_name Der Name des Anbieters.
metadata.product_name Der Produktname.

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