Fortinet FortiManager-Logs erfassen
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
- Melden Sie sich in der Google SecOps-Konsole an.
- Rufen Sie die SIEM-Einstellungen > Collection Agent auf.
- Klicken Sie auf Herunterladen, um die Datei zur Authentifizierung der Aufnahme herunterzuladen.
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 die SIEM-Einstellungen > Profile auf.
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
- Ö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-collector
Der Dienst sollte als RUNNING (Wird ausgeführt) 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-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 Sie0.0.0.0:514, um alle Schnittstellen auf Port 51 zu überwachen. Wenn für Port 514 Root-Berechtigungen unter Linux erforderlich sind, verwenden Sie0.0.0.0:1514und 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
- Linux:
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.
- USA:
log_type: Muss genauFORTINET_FORTIMANAGERsein.ingestion_labels: Optionale Labels zum Filtern und Organisieren
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, um die Änderungen zu übernehmen
Linux
sudo systemctl restart observiq-otel-collectorPrüfen Sie, ob der Dienst ausgeführt wird:
sudo systemctl status observiq-otel-collectorLogs 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-collectorServices Console verwenden:
- Drücken Sie
Win+R, geben Sieservices.mscein und drücken Sie die Eingabetaste. - Suchen Sie nach observIQ OpenTelemetry Collector.
Klicken Sie mit der rechten Maustaste und wählen Sie Neu starten aus.
Prüfen Sie, ob der Dienst ausgeführt wird:
sc query observiq-otel-collectorLogs auf Fehler prüfen:
type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
- Drücken Sie
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
- Melden Sie sich in der Weboberfläche von Fortinet FortiManager an.
- Gehen Sie zu Systemeinstellungen > Erweitert > Syslog-Server.
- Klicken Sie in der Symbolleiste auf Neu erstellen.
- Der Bereich Neue Syslog-Servereinstellungen erstellen wird geöffnet.
- 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
514ein (oder1514, 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.
- Name: Geben Sie einen aussagekräftigen Namen ein, z. B.
- 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.
- Stellen Sie über SSH oder die Konsole eine Verbindung zur FortiManager-Befehlszeile her.
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 endKonfigurationsparameter:
syslog-name: Muss mit dem Namen übereinstimmen, den Sie in der Benutzeroberfläche konfiguriert haben (z. B.Chronicle-Bindplane).severity: Aufinformationsetzen, um alle lokalen Logs zu erfassen. Die Standardeinstellung istnotification, wodurch weniger Ereignisse erfasst werden. Die Optionen sind:emergency,alert,critical,error,warning,notification,information,debug.status: Legen Sieenablefest, um mit dem Weiterleiten von Logs zu beginnen.
Konfiguration prüfen:
config system locallog syslogd setting show endPrü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