Fortinet Switch-Logs erfassen
Parserversion:1.0
In diesem Leitfaden wird beschrieben, wie Sie Fortinet Switch-Logs mit dem Bindplane-Agent in Google Security Operations aufnehmen.
Fortinet Switch ist eine Reihe sicherer, leistungsstarker Ethernet-Switches, die für Unternehmensnetzwerke entwickelt wurden. FortiSwitch bietet Layer 2- und Layer 3-Switching-Funktionen, VLAN-Unterstützung, Link-Aggregation, Power over Ethernet (PoE) und integrierte Sicherheitsfunktionen. FortiSwitch-Einheiten können im Standalone-Modus betrieben oder über FortiGate-Firewalls mit FortiLink verwaltet werden.
Hinweis
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 Switch.
- Wenn Sie einen Proxy verwenden, achten Sie darauf, dass die Firewallports gemäß den Anforderungen des Bindplane-Agent geöffnet sind.
- Privilegierter Zugriff auf die Fortinet Switch-Verwaltungskonsole oder die FortiGate-Konsole (für verwaltete Switches).
- Fortinet Switch mit FortiSwitchOS 7.0 oder höher.
Google SecOps-Anmeldedaten für den Bindplane-Agent abrufen
Wählen Sie eine der folgenden Methoden aus, um den Bindplane-Agent bei Google SecOps zu authentifizieren:
- Neue Bereitstellungen: Verwenden Sie die Chronicle API (Option 1).
- Legacy-Bereitstellungen: Verwenden Sie die Authentifizierungsdatei für die Aufnahme (Option 2) weiter, bis die Ingestion API am 20. Juli 2027 eingestellt wird.
Option 1: Dienstkonto für die Chronicle API erstellen (empfohlen)
- Melden Sie sich in der Google Cloud Console an und wählen Sie das Google Cloud Projekt aus, das mit Ihrer Google SecOps-Instanz verknüpft ist.
- Rufen Sie IAM und Verwaltung > Dienstkonten auf.
- Klicken Sie auf Dienstkonto erstellen.
- 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).
- Name des Dienstkontos: Geben Sie einen Namen für das Konto ein (z. B.
- Klicken Sie auf Erstellen und fortfahren.
- Klicken Sie im Abschnitt Diesem Dienstkonto Zugriff auf das Projekt erteilen auf Rolle auswählen und wählen Sie Chronicle-Bearbeiter aus.
- Klicken Sie auf Weiter und dann auf Fertig.
- Klicken Sie auf das erstellte Dienstkonto und rufen Sie den Tab Schlüssel auf.
- Klicken Sie auf Schlüssel hinzufügen > Neuen Schlüssel erstellen.
- Wählen Sie JSON aus und klicken Sie auf Erstellen. Die Schlüsseldatei wird auf Ihren Computer heruntergeladen.
- Speichern Sie die Schlüsseldatei als
ingestion-auth.jsonim Bindplane-Collector-Verzeichnis (/opt/observiq-otel-collector/ingestion-auth.jsonunter Linux oderC:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.jsonunter Windows) oder aktualisieren Siecreds_file_pathinconfig.yaml, damit der Pfad mit dem Speicherort übereinstimmt. - Rufen Sie IAM und Verwaltung > Einstellungen auf und kopieren Sie die Projektnummer. Sie benötigen sie für die Exporterkonfiguration.
Option 2: Authentifizierungsdatei für die Aufnahme herunterladen (Legacy)
- Melden Sie sich in der Google SecOps-Konsole an.
- Rufen Sie SIEM-Einstellungen > Erfassungs-Agents auf.
- Laden Sie die Authentifizierungsdatei für die Aufnahme herunter.
- Speichern Sie die Datei sicher auf dem System, auf dem der Bindplane-Agent installiert wird.
Google SecOps-Kundennummer abrufen
- Melden Sie sich in der Google SecOps-Konsole an.
- Rufen Sie SIEM-Einstellungen > Profil auf.
Kopieren und speichern Sie die Kundennummer aus dem Abschnitt Organisationsdetails.
Bindplane-Agent installieren
Installieren Sie den Bindplane-Agent auf Ihrem Windows- oder Linux-Betriebssystem gemäß der folgenden Anleitung.
Windows-Installation
- Öffnen Sie die Eingabeaufforderung oder PowerShell als Administrator.
Führen Sie dazu diesen Befehl aus:
msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quietWarten Sie, bis die Installation abgeschlossen ist.
Überprüfen Sie die Installation mit folgendem Befehl:
sc query observiq-otel-collectorDer Dienst sollte als RUNNING angezeigt werden.
Linux-Installation
- Öffnen Sie ein Terminal mit Root- oder sudo-Berechtigungen.
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.shWarten Sie, bis die Installation abgeschlossen ist.
Überprüfen Sie die Installation mit folgendem Befehl:
sudo systemctl status observiq-otel-collectorDer Dienst sollte als active (running) angezeigt werden.
Weitere Installationsressourcen
Weitere Installationsoptionen und Informationen zur Problembehebung finden Sie im Installationsanleitung für den Bindplane-Agent.
Bindplane-Agent so konfigurieren, dass Syslog-Daten aufgenommen und an Google SecOps gesendet werden
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/fortiswitch:
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: 'YOUR_CUSTOMER_ID'
endpoint: chronicle.googleapis.com
log_type: FORTINET_SWITCH
raw_log_field: body
ingestion_labels:
env: production
service:
pipelines:
logs/fortiswitch_to_chronicle:
receivers:
- udplog
exporters:
- chronicle/fortiswitch
Konfigurationsparameter
Ersetzen Sie die folgenden Platzhalter:
Empfängerkonfiguration :
- Der Empfänger ist so konfiguriert, dass er auf UDP-Port 514 nach Syslog-Nachrichten von Fortinet Switch sucht.
- Wenn Sie auf allen Schnittstellen suchen möchten, verwenden Sie
0.0.0.0:514. - Wenn Sie unter Linux einen nicht privilegierten Port verwenden möchten, ändern Sie ihn in
0.0.0.0:1514und konfigurieren Sie Fortinet Switch so, dass Daten an Port 1514 gesendet werden.
Exporterkonfiguration :
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
- Linux:
customer_id: Kundennummer aus dem vorherigen Schritt.location: Ersetzen Sie<LOCATION>durch die Region Ihrer Google SecOps-Instanz (z. B.us,europeoderasia-southeast1). Der Exporter stelltchronicle.googleapis.commit diesem Wert voran. Die vollständige Liste finden Sie unter Regionale Endpunkte.project: Ersetzen Sie<PROJECT_NUMBER>durch die Projektnummer unter IAM und Verwaltung > Einstellungen.endpoint: Behalten Sie die Einstellungchronicle.googleapis.combei.log_type: Muss genauFORTINET_SWITCHsein.ingestion_labels: Optionale Labels im YAML-Format (z. B.env: production).
Exporter für die Legacy Ingestion API
Wenn Sie die Authentifizierungsdatei für die Aufnahme aus Option 2 verwenden, ersetzen Sie den Block
exportersdurch Folgendes. Legen Siecreds_file_pathauf den Pfad zur Authentifizierungsdatei für die Aufnahme fest. Wenn sich Ihre Instanz außerhalb der USA befindet, ersetzen Siemalachiteingestion-pa.googleapis.comdurch Ihren regionalen Endpunkt (z. B.europe-malachiteingestion-pa.googleapis.com).exporters: chronicle/fortiswitch: compression: gzip creds_file_path: '/opt/observiq-otel-collector/ingestion-auth.json' customer_id: 'YOUR_CUSTOMER_ID' endpoint: malachiteingestion-pa.googleapis.com log_type: FORTINET_SWITCH raw_log_field: body ingestion_labels: env: production
Konfigurationsdatei speichern
Speichern Sie die Datei nach der Bearbeitung:
- Linux: Drücken Sie
Ctrl+O, dannEnterund dannCtrl+X. - Windows: Klicken Sie auf Datei > Speichern.
Bindplane-Agent neu starten, damit die Änderungen übernommen werden
Linux
sudo systemctl restart observiq-otel-collectorPrüfen Sie, ob der Dienst ausgeführt wird:
sudo systemctl status observiq-otel-collectorPrüfen Sie die Logs auf Fehler:
sudo journalctl -u observiq-otel-collector -f
Windows
Wählen Sie eine der folgenden Optionen aus:
Über die Eingabeaufforderung oder PowerShell als Administrator:
net stop observiq-otel-collector && net start observiq-otel-collectorÜber die Konsole „Dienste“:
- Drücken Sie
Win+R, geben Sieservices.mscein und drücken Sie die Eingabetaste. - Suchen Sie nach observIQ OpenTelemetry Collector.
Rechtsklicken Sie und wählen Sie Neu starten aus.
Prüfen Sie, ob der Dienst ausgeführt wird:
sc query observiq-otel-collectorPrüfen Sie die Logs auf Fehler:
type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
- Drücken Sie
Syslog-Weiterleitung für Fortinet Switch konfigurieren
Konfigurieren Sie Fortinet Switch so, dass Logs an den Bindplane-Agent gesendet werden. Die Konfigurationsschritte unterscheiden sich je nachdem, ob der Switch eigenständig ist oder von FortiGate verwaltet wird.
Für eigenständige FortiSwitch-Geräte (GUI-Konfiguration)
- Melden Sie sich in der Weboberfläche von FortiSwitch an.
- Rufen Sie Log > Config auf.
- Wählen Sie unter Syslog die Option Aktivieren aus.
- Wählen Sie den Schweregrad der zu protokollierenden Ereignisse aus (z. B. Information oder höher).
- Geben Sie im Feld Server die IP-Adresse oder den vollständig qualifizierten Domainnamen des Bindplane-Agent-Hosts ein.
- Geben Sie im Feld Port
514ein (oder den im Bindplane-Agent konfigurierten Port). - Wählen Sie im Drop-down-Menü Facility die Option local7 aus.
- Klicken Sie auf Übernehmen.
Für eigenständige FortiSwitch-Geräte (CLI-Konfiguration)
- Melden Sie sich über SSH oder die Konsole in der FortiSwitch-Befehlszeile an.
Geben Sie die folgenden Befehle ein:
config log syslogd setting set status enable set server <BINDPLANE_AGENT_IP> set port 514 set facility local7 end config log syslogd filter set severity information endErsetzen Sie
<BINDPLANE_AGENT_IP>durch die IP-Adresse des Bindplane-Agent-Hosts.Konfiguration prüfen:
show log syslogd setting
Für FortiSwitch-Geräte, die von FortiGate verwaltet werden
Wenn FortiSwitch von FortiGate verwaltet wird, konfigurieren Sie die Syslog-Weiterleitung über die FortiGate-Befehlszeile.
- Melden Sie sich über SSH oder die Konsole in der FortiGate-Befehlszeile an.
Geben Sie die folgenden Befehle ein, um Remote-Syslog für verwaltete FortiSwitch-Geräte zu konfigurieren:
config switch-controller remote-log edit "chronicle-syslog" set status enable set server <BINDPLANE_AGENT_IP> set port 514 set severity information set facility local7 next endErsetzen Sie
<BINDPLANE_AGENT_IP>durch die IP-Adresse des Bindplane-Agent-Hosts.Konfiguration prüfen:
show switch-controller remote-logAchten Sie darauf, dass die FortiGate-Firewallrichtlinie Syslog-Traffic von der FortiLink-Schnittstelle zur Schnittstelle zulässt, auf der sich der Bindplane-Agent befindet. Erstellen Sie bei Bedarf eine Richtlinie:
config firewall policy edit 0 set srcintf <fortilink_interface> set dstintf <bindplane_interface> set srcaddr "all" set dstaddr "all" set action accept set schedule "always" set service "SYSLOG" next endErsetzen Sie
<fortilink_interface>durch den Namen der FortiLink-Schnittstelle und<bindplane_interface>durch die Schnittstelle, über die der Bindplane-Agent erreichbar ist.
UDM-Zuordnungstabelle
| Logfeld | UDM-Zuordnung | Logik |
|---|---|---|
| metadata.event_type | Der Ereignistyp, der durch diesen Datensatz dargestellt wird. | |
| event | metadata.product_event_type | Der Ereignistyp, wie er vom Produkt gemeldet wird. |
| log_id | metadata.product_log_id | Eindeutige Kennung für den Logeintrag, wie vom Produkt zugewiesen. |
| device_id | principal.asset.asset_id | Eindeutige Kennung für das Asset. |
| devname | principal.asset.hostname | Hostname des Assets, das mit dem Hauptkonto verknüpft ist. |
| devname | principal.hostname | Hostname, der mit dem Hauptkonto verknüpft ist. |
| vd | principal.user.attribute.labels | Liste der Labels, die mit dem Nutzer verknüpft sind. |
| oldrole | principal.user.attribute.roles | Liste der Rollen, die mit dem Nutzer verknüpft sind. |
| unit | principal.user.role_description | Beschreibung der Rolle des Nutzers. |
| user | principal.user.userid | Eindeutige Kennung für den Nutzer. |
| action | security_result.action_details | Details zur durchgeführten Aktion. |
| msg | security_result.description | Beschreibung des Sicherheitsergebnisses. |
| type, subtype, switch.physical-port, instanceid | security_result.detection_fields | Liste der Felder, die für die Erkennung verwendet wurden. |
| pri | security_result.priority_details | Details zur Priorität des Ereignisses. |
| status | security_result.summary | Zusammenfassung des Sicherheitsergebnisses. |
| newrole | target.user.attribute.roles | Liste der Rollen, die mit dem Zielnutzer verknüpft sind. |
| metadata.product_name | Name des Produkts, das das Ereignis generiert hat. | |
| metadata.vendor_name | Name des Anbieters, der das Produkt hergestellt hat. |
Änderungsprotokoll
Änderungsprotokoll für diesen Parser ansehen
Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten