Fortinet FortiDDoS-Logs erfassen
In diesem Leitfaden wird beschrieben, wie Sie Fortinet FortiDDoS-Logs mit dem Bindplane-Agent in Google Security Operations aufnehmen.
Fortinet FortiDDoS ist ein Gerät zur Abwehr von DDoS-Angriffen, das Netzwerke und Anwendungen vor DDoS-Angriffen (Distributed Denial of Service) schützt. FortiDDoS bietet Echtzeit-Angriffserkennung, automatisierte Abwehr und detaillierte Berichte für Angriffe auf Netzwerk- und Anwendungsebene.
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 der Fortinet FortiDDoS-Appliance.
- 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 FortiDDoS-Weboberfläche mit Lese-/Schreibberechtigung für Protokoll- und Berichteinstellungen.
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-collectorDer 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-collectorDer 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/fortiddos:
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_FORTIDDOS
raw_log_field: body
ingestion_labels:
env: production
service:
pipelines:
logs/fortiddos_to_chronicle:
receivers:
- udplog
exporters:
- chronicle/fortiddos
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 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
- Linux:
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 - Eine vollständige Liste finden Sie unter Regionale Endpunkte.
- USA:
log_type: MussFORTINET_FORTIDDOSsein.ingestion_labels: Optionale Labels im YAML-Format.
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
Remote-Logging für FortiDDoS-Ereignisprotokolle konfigurieren
FortiDDoS unterstützt zwei Arten von Remote-Syslog-Protokollierung: Ereignisprotokolle für Systemereignisse und Angriffsprotokolle für DDoS-Angriffsereignisse. Konfigurieren Sie beide so, dass umfassende Logs an Google SecOps gesendet werden.
- Melden Sie sich in der Weboberfläche von FortiDDoS an.
- Rufen Sie Log & Report > Log Configuration> Event Log Remote auf.
- Klicken Sie auf Hinzufügen, um eine neue Konfiguration für einen Remote-Protokollserver zu erstellen.
- Geben Sie die folgenden Konfigurationsdetails an:
- Name: Geben Sie einen aussagekräftigen Namen ein, z. B.
Chronicle-Event-Logs. - Adresse: Geben Sie die IP-Adresse des Bindplane-Agent-Hosts ein.
- Port: Geben Sie
514ein. - Mindestprotokollebene: Wählen Sie die Mindestschweregradstufe aus, die weitergeleitet werden soll (z. B. Information oder Benachrichtigung).
- Einrichtung: Wählen Sie eine Syslog-Einrichtung aus, z. B. local0.
- Name: Geben Sie einen aussagekräftigen Namen ein, z. B.
- Klicken Sie auf Speichern, um die Konfiguration zu speichern.
FortiDDoS-Angriffslog-Remote-Logging konfigurieren
Die Remote-Protokollierung von Angriffsprotokollen wird pro Service Protection Profile (SPP) konfiguriert. Sie müssen die Weiterleitung von Angriffsprotokollen für jedes SPP konfigurieren, das Sie überwachen möchten.
- Melden Sie sich in der Weboberfläche von FortiDDoS an.
- Gehen Sie zu Log & Report> Log Configuration> Attack Log Remote.
- Klicken Sie auf Hinzufügen, um eine neue Konfiguration für einen Remote-Protokollserver zu erstellen.
- Geben Sie die folgenden Konfigurationsdetails an:
- Name: Geben Sie einen aussagekräftigen Namen ein, z. B.
Chronicle-Attack-Logs. - SPP: Wählen Sie das zu konfigurierende Service Protection Profile aus.
- Adresse: Geben Sie die IP-Adresse des Bindplane-Agent-Hosts ein.
- Port: Geben Sie
514ein. - Intervall: Wählen Sie das Berichtsintervall aus, z. B. 1 Minute oder 5 Minuten.
- Name: Geben Sie einen aussagekräftigen Namen ein, z. B.
- Klicken Sie auf Speichern, um die Konfiguration zu speichern.
Wiederholen Sie die Schritte 3 bis 5 für jede SPP, die Sie überwachen möchten.
Syslog-Weiterleitung bestätigen
Nachdem Sie das Remote-Logging konfiguriert haben, prüfen Sie, ob Logs an den BindPlane-Agent gesendet werden:
Überwachen Sie auf dem BindPlane-Agent-Host den eingehenden Syslog-Traffic:
Linux:
sudo tcpdump -i any -n port 514Windows:
Verwenden Sie ein Netzwerkmonitoring-Tool oder prüfen Sie die BindPlane-Agent-Logs.
Generieren Sie auf der FortiDDoS-Appliance Testprotokollnachrichten:
Test des Ereignisprotokolls:
- Nehmen Sie eine Konfigurationsänderung in der FortiDDoS-Weboberfläche vor, um ein Ereignisprotokoll zu generieren.
Test des Angriffsprotokolls:
- Warten Sie das konfigurierte Berichtsintervall (1 oder 5 Minuten) ab. FortiDDoS erstellt in regelmäßigen Abständen Berichte und benötigt zusätzlich 2 Minuten, um die Berichte zusammenzufassen. Beispielsweise werden Protokolle, die für die 5-Minuten-Markierung gemeldet werden, auf dem Syslog-Server bei der 7-Minuten-Markierung angezeigt.
Prüfen Sie, ob die Logs innerhalb von 5 bis 10 Minuten in der Google SecOps Console angezeigt werden.
UDM-Zuordnungstabelle
| Logfeld | UDM-Zuordnung | Logik |
|---|---|---|
| zusätzlich | zusätzlich | Wert direkt kopiert |
| additional.fields.additional_label.key | Auf „type“ festgelegt | |
| Typ | additional.fields.additional_label.value.string_value | Wert direkt kopiert |
| additional.fields.src_label.key | Auf „device_id“ festlegen | |
| devid | additional.fields.src_label.value.string_value | Wert direkt kopiert |
| log_id | security_result.detection_fields.log_id_label.value | Wert direkt kopiert |
| security_result.detection_fields.log_id_label.key | Auf „log_id“ festgelegt | |
| Metadaten | Metadaten | Wert direkt kopiert |
| desc_Data | metadata.description | Wert direkt kopiert |
| sip,dip,user | metadata.event_type | Auf „NETWORK_CONNECTION“ festgelegt, wenn „sip“ und „dip“ nicht leer sind, andernfalls „USER_UNCATEGORIZED“, wenn „user“ nicht leer ist, andernfalls „STATUS_UPDATE“, wenn „sip“ nicht leer ist, andernfalls „GENERIC_EVENT“ |
| Netzwerk | Netzwerk | Wert direkt kopiert |
| Prinzipal | Prinzipal | Wert direkt kopiert |
| sip | principal.asset.ip | Wert direkt kopiert |
| sip | principal.ip | Wert direkt kopiert |
| date,time,tz | principal.labels.date_label.value | Verkettet aus Datum, Uhrzeit und Zeitzone mit Leerzeichen |
| principal.labels.date_label.key | Auf „date“ festgelegt | |
| dir | principal.labels.direction_label.value | Wert direkt kopiert |
| principal.labels.direction_label.key | Auf „direction“ festgelegt | |
| dport | principal.port | In Ganzzahl konvertiert |
| Nutzer | principal.user.userid | Wert direkt kopiert |
| security_result | security_result | Wert direkt kopiert |
| direction | security_result.detection_fields.direction_label.value | Wert direkt kopiert |
| security_result.detection_fields.direction_label.key | Auf „direction“ festgelegt | |
| dropcount | security_result.detection_fields.dropcount_label.value | Wert direkt kopiert |
| security_result.detection_fields.dropcount_label.key | Auf „dropcount“ festgelegt | |
| evecode | security_result.detection_fields.evecode_label.value | Wert direkt kopiert |
| security_result.detection_fields.evecode_label.key | Auf „evecode“ festgelegt | |
| evesubcode | security_result.detection_fields.evesubcode_label.value | Wert direkt kopiert |
| security_result.detection_fields.evesubcode_label.key | Auf „evesubcode“ festgelegt | |
| Einrichtung | security_result.detection_fields.facility_label.value | Wert direkt kopiert |
| security_result.detection_fields.facility_label.key | Auf „Einrichtung“ festgelegt | |
| level | security_result.detection_fields.level_label.value | Wert direkt kopiert |
| security_result.detection_fields.level_label.key | Auf „level“ festgelegt | |
| msg_id | security_result.detection_fields.msg_id_label.value | Wert direkt kopiert |
| security_result.detection_fields.msg_id_label.key | Auf „msg_id“ festgelegt | |
| spp_name | security_result.detection_fields.spp_name_label.value | Wert direkt kopiert |
| security_result.detection_fields.spp_name_label.key | Auf „spp_name“ festlegen | |
| spp | security_result.detection_fields.spp_label.value | Wert direkt kopiert |
| security_result.detection_fields.spp_label.key | Auf „spp“ festgelegt | |
| sppoperatingmode | security_result.detection_fields.sppoperatingmode_label.value | Wert direkt kopiert |
| security_result.detection_fields.sppoperatingmode_label.key | Auf „sppoperatingmode“ festgelegt | |
| subnet_name | security_result.detection_fields.subnet_name_label.value | Wert direkt kopiert |
| security_result.detection_fields.subnet_name_label.key | Auf „subnet_name“ festgelegt | |
| subnetid | security_result.detection_fields.subnetid_label.value | Wert direkt kopiert |
| security_result.detection_fields.subnetid_label.key | Auf „subnetid“ festgelegt | |
| Untertyp | security_result.detection_fields.subtype_label.value | Wert direkt kopiert |
| security_result.detection_fields.subtype_label.key | Auf „subtype“ festgelegt | |
| Ziel | Ziel | Wert direkt kopiert |
| Einbruch | target.asset.ip | Wert direkt kopiert |
| Einbruch | target.ip | Wert direkt kopiert |
Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten