Netscout Arbor Sightline-Logs erfassen
In diesem Dokument wird beschrieben, wie Sie Netscout Arbor Sightline-Logs mit dem Bindplane-Agent in Google Security Operations aufnehmen.
Netscout Arbor Sightline (früher Peakflow SP) ist eine Plattform zur DDoS-Erkennung und Netzwerktransparenz, die robuste Funktionen bietet – von der netzwerkweiten Kapazitätsplanung bis hin zur Identifizierung und Verwaltung der Abwehr von DDoS-Angriffen und anderen Bedrohungen für das Netzwerk. Sightline erfasst und analysiert Flussdaten, BGP-Routinginformationen und SNMP-Daten, um Anomalien zu erkennen, Benachrichtigungen zu generieren und Gegenmaßnahmen zu koordinieren.
Hinweis
Prüfen Sie, ob folgende Voraussetzungen erfüllt sind:
- Eine Google SecOps-Instanz
- Windows Server 2016 oder höher oder Linux-Host mit
systemd - Netzwerkverbindung zwischen dem Bindplane-Agent und der Netscout Arbor Sightline-Appliance
- Wenn Sie den Agent hinter einem Proxy ausführen, müssen die Firewallports gemäß den Anforderungen des Bindplane-Agents geöffnet sein.
- Administratorzugriff auf die Netscout Arbor Sightline-Weboberfläche
- Administratorzugriff auf die Netscout Arbor Sightline-Befehlszeile für die Konfiguration von Systembenachrichtigungen
Authentifizierungsdatei für die Aufnahme in Google SecOps abrufen
- Melden Sie sich in der Google SecOps-Konsole an.
- Rufen Sie die SIEM-Einstellungen > Collection Agents auf.
Laden Sie die Authentifizierungsdatei für die Aufnahme herunter. Speichern Sie die Datei sicher auf dem System, auf dem BindPlane 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.yamlWindows:
notepad "C:\Program Files\observIQ OpenTelemetry Collector\config.yaml"
Konfigurationsdatei bearbeiten
Ersetzen Sie den gesamten Inhalt von
config.yamldurch die folgende Konfiguration:receivers: udplog: listen_address: "0.0.0.0:514" exporters: chronicle/arbor_sightline: compression: gzip creds_file_path: '<CREDS_FILE_PATH>' customer_id: '<CUSTOMER_ID>' endpoint: malachiteingestion-pa.googleapis.com log_type: ARBOR_SIGHTLINE raw_log_field: body ingestion_labels: env: production service: pipelines: logs/arbor_to_chronicle: receivers: - udplog exporters: - chronicle/arbor_sightlineErsetzen Sie die folgenden Platzhalter:
Empfängerkonfiguration:
- Der Empfänger ist so konfiguriert, dass er an UDP-Port 514 auf allen Schnittstellen (
0.0.0.0:514) lauscht. - Wenn Sie einen anderen Port verwenden müssen (z. B.
1514für Linux-Installationen ohne Root-Zugriff), ändern Sie den Wertlisten_address. - Wenn Sie TCP-Syslog bevorzugen, ersetzen Sie
udplogdurchtcplogsowohl im Abschnitt „Receivers“ als auch in der Pipeline.
- Der Empfänger ist so konfiguriert, dass er an UDP-Port 514 auf allen Schnittstellen (
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 Schrittendpoint: Regionale Endpunkt-URL (die Standardeinstellung ist die US-Region):- 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: AufARBOR_SIGHTLINEsetzen (genaue Übereinstimmung erforderlich)ingestion_labels: Optionale Labels im YAML-Format (bei Bedarf für Ihre Umgebung anpassen)
Konfigurationsbeispiel
receivers: udplog: listen_address: "0.0.0.0:514" exporters: chronicle/arbor_sightline: compression: gzip creds_file_path: '/etc/bindplane-agent/ingestion-auth.json' customer_id: 'a1b2c3d4-e5f6-g7h8-i9j0-k1l2m3n4o5p6' endpoint: malachiteingestion-pa.googleapis.com log_type: ARBOR_SIGHTLINE raw_log_field: body ingestion_labels: env: production source: sightline service: pipelines: logs/arbor_to_chronicle: receivers: - udplog exporters: - chronicle/arbor_sightline
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
So starten Sie den Bindplane-Agent unter Linux neu:
Führen Sie dazu diesen Befehl aus:
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
So starten Sie den Bindplane-Agent unter Windows neu:
Wählen Sie eine der folgenden Optionen aus:
Eingabeaufforderung oder PowerShell als Administrator:
net stop observiq-otel-collector && net start observiq-otel-collectorServices-Konsole:
- 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.
- Drücken Sie
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"
Syslog-Weiterleitung für Netscout Arbor Sightline konfigurieren
Damit Logs an Google SecOps gesendet werden, müssen Sie Netscout Arbor Sightline so konfigurieren, dass Syslog-Ereignisse an den Bindplane-Agenten weitergeleitet werden. Dazu müssen Sie eine Benachrichtigungsgruppe erstellen, globale Benachrichtigungseinstellungen konfigurieren und Regeln für Warnungsbenachrichtigungen einrichten.
Benachrichtigungsgruppe erstellen
- Melden Sie sich als Administrator in der Weboberfläche von Netscout Arbor Sightline an.
- Klicken Sie auf Verwaltung > Benachrichtigungen > Gruppen.
- Klicken Sie auf Benachrichtigungsgruppe hinzufügen.
- Geben Sie die folgenden Konfigurationsdetails an:
- Ziele: Geben Sie die IP-Adresse des BindPlane-Agent-Hosts ein (z. B.
192.168.1.100). - Port: Geben Sie
514(oder den im BindPlane-Agent konfigurierten Port, z. B.1514) ein. - Einrichtung: Wählen Sie eine Syslog-Einrichtung aus, z. B.
local0oderuser. - Schweregrad: Wählen Sie
infoaus. Die Kategorie „Informationell“ umfasst alle Ereignismeldungen auf der Ereignisebene „Informationell“ und mit höherem Schweregrad.
- Ziele: Geben Sie die IP-Adresse des BindPlane-Agent-Hosts ein (z. B.
- Klicken Sie auf Speichern.
Klicken Sie auf Configuration Commit (Konfigurations-Commit), um die Konfigurationsänderungen zu übernehmen.
Globale Benachrichtigungseinstellungen konfigurieren
Globale Benachrichtigungen in Netscout Arbor Sightline sind Systembenachrichtigungen, die nicht mit bestimmten Benachrichtigungsregeln verknüpft sind.
- Rufen Sie in der Netscout Arbor Sightline-Weboberfläche Administration > Notification > Global Settings auf.
- Wählen Sie im Feld Standardbenachrichtigungsgruppe die Benachrichtigungsgruppe aus, die Sie für Google SecOps erstellt haben.
- Klicken Sie auf Speichern.
- Klicken Sie auf Configuration Commit (Konfigurations-Commit), um die Konfigurationsänderungen zu übernehmen.
Systembenachrichtigungen aktivieren
Für Systembenachrichtigungen ist eine zusätzliche Konfiguration über die Befehlszeile erforderlich.
- Melden Sie sich als Administrator in der Befehlszeile von Netscout Arbor Sightline an.
Aktuelle Systemwarnungskonfiguration auflisten:
services sp alerts system_errors showFühren Sie Folgendes aus, um die Namen der verfügbaren Systembenachrichtigungsfelder aufzulisten, die konfiguriert werden können:
services sp alerts system_errors ?Aktivieren Sie Benachrichtigungen für Systembenachrichtigungen. Führen Sie für jeden Benachrichtigungstyp, den Sie aktivieren möchten, Folgendes aus:
services sp alerts system_errors <alert_name> notifications enableErsetzen Sie
<alert_name>durch den Namen des entsprechenden Systembenachrichtigungsfelds (z. B.disk_full,flow_collector_down,license_expiring).Führen Sie ein Commit der Konfigurationsänderungen durch:
config write
Regeln für Warnungsbenachrichtigungen konfigurieren
Mit Regeln für Benachrichtigungen wird festgelegt, welche Benachrichtigungen Syslog-Benachrichtigungen an Google SecOps auslösen.
- Rufen Sie in der Netscout Arbor Sightline-Weboberfläche Administration > Notification > Rules auf.
- Wählen Sie eine der folgenden Optionen aus:
- Klicken Sie auf eine vorhandene Regel, um sie zu bearbeiten.
- Klicken Sie auf Regel hinzufügen, um eine neue Benachrichtigungsregel zu erstellen.
- Konfigurieren Sie die folgenden Werte:
- Name: Geben Sie einen aussagekräftigen Namen für die Regel ein, z. B.
Chronicle-DDoS-Alerts. - Ressource: Geben Sie eine CIDR-Adresse ein oder wählen Sie ein verwaltetes Objekt aus der Liste der Sightline-Ressourcen aus. Wenn die Regel auf alle Ressourcen angewendet werden soll, lassen Sie dieses Feld leer oder wählen Sie Alle aus.
- Wichtigkeit: Wählen Sie den Mindestwichtigkeitsgrad für Benachrichtigungen aus (z. B.
Low,Medium,HighoderCritical). Benachrichtigungen werden für Warnungen mit diesem oder einem höheren Wichtigkeitsgrad ausgelöst. - Benachrichtigungsgruppe: Wählen Sie die Benachrichtigungsgruppe aus, die Sie für Google SecOps erstellt haben.
- Name: Geben Sie einen aussagekräftigen Namen für die Regel ein, z. B.
- Wiederholen Sie diese Schritte, um bei Bedarf zusätzliche Regeln für verschiedene Ressourcen oder Wichtigkeitsstufen zu konfigurieren.
- Klicken Sie auf Speichern.
Klicken Sie auf Configuration Commit (Konfigurations-Commit), um die Konfigurationsänderungen zu übernehmen.
Syslog-Verbindung testen
Nachdem Sie die Benachrichtigungsgruppe und die Regeln konfiguriert haben, prüfen Sie, ob Syslog-Nachrichten an den BindPlane-Agent gesendet werden.
Testen Sie in der Netscout Arbor Sightline-Befehlszeile die Syslog-Verbindung:
services sp notification test syslog group <notification_group_name>Ersetzen Sie
<notification_group_name>durch den Namen der von Ihnen erstellten Benachrichtigungsgruppe.Der Befehl sollte Folgendes zurückgeben:
Server returned: SuccessPrüfen Sie die Bindplane-Agent-Logs, um zu sehen, ob Testnachrichten empfangen werden:
Linux:
sudo journalctl -u observiq-otel-collector -fWindows:
type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"Rufen Sie in der Google SecOps Console Search auf und prüfen Sie, ob Netscout Arbor Sightline-Logs mit dem Ingestion-Label
ARBOR_SIGHTLINEangezeigt werden.
An Google SecOps weitergeleitete Ereignistypen
Netscout Arbor Sightline leitet die folgenden Ereigniskategorien über Syslog weiter:
- DoS-Ereignisse (Denial of Service): Benachrichtigungen zur Erkennung von DDoS-Angriffen, einschließlich volumetrischer Angriffe, Protokollangriffe und Angriffe auf Anwendungsebene
- Authentifizierungsereignisse: Erfolgreiche und fehlgeschlagene Nutzeranmeldungen, Authentifizierungsversuche
- Exploit-Ereignisse: Erkannte Exploit-Versuche und verdächtige Traffic-Muster
- Ereignisse zu verdächtigen Aktivitäten: Anomales Traffic-Verhalten und potenzielle Sicherheitsbedrohungen
- Systemereignisse: Gerätestatus, Dienststatus, Konfigurationsänderungen und Betriebsbenachrichtigungen
- Abwehrereignisse: Start, Ende und Statusaktualisierungen der Abwehr von DDoS-Angriffen
UDM-Zuordnungstabelle
| Logfeld | UDM-Zuordnung | Logik |
|---|---|---|
| msg1 | additional.fields | Wird mit Labels aus jedem Feld zusammengeführt, sofern nicht leer. Dabei werden bestimmte Schlüssel wie „message_description“ für msg1, „config_version“ für config_version usw. verwendet. |
| config_version | additional.fields | |
| prin_user | additional.fields | |
| old_bgp_attributes | additional.fields | |
| new_bgp_attributes | additional.fields | |
| reason | additional.fields | |
| sample_rate | additional.fields | |
| Proto | additional.fields | |
| Flows erstellen | additional.fields | |
| identifier | additional.fields | |
| expected_bps | additional.fields | |
| actual_bps | additional.fields | |
| Server | additional.fields | |
| Status | additional.fields | |
| Prozent | additional.fields | |
| Preis | additional.fields | |
| rateunit | additional.fields | |
| flags | additional.fields | |
| Router | additional.fields | |
| Oberfläche | additional.fields | |
| ip_ver | additional.fields | |
| protocol_id | additional.fields | |
| router_name | additional.fields | |
| interface_id | additional.fields | |
| interface_name | additional.fields | |
| Priorität | additional.fields | |
| log_level | additional.fields | |
| Schwimmbecken | additional.fields | |
| thread_id | additional.fields | |
| Zeitüberschreitung | additional.fields | |
| Versuche | additional.fields | |
| vulns | extensions.vulns.vulnerabilities | Zusammengeführt, wenn Schwachstellen nicht leer sind |
| Ab | metadata.description | Wird auf „%{desc}: %{desc2}“ gesetzt, wenn sowohl „desc“ als auch „desc2“ nicht leer sind, andernfalls auf „desc“; wird von „message_desc“ überschrieben, wenn nicht leer |
| desc2 | metadata.description | |
| message_desc | metadata.description | |
| event_time | metadata.event_timestamp | Konvertiert mit Datumsfilter im Format MMM dd HH:mm:ss oder MMM d HH:mm:ss, Zeitzone Europe/London |
| desc2 | metadata.event_type | Auf „SCAN_PROCESS“ setzen, wenn desc2 mit „(DNS Amplification |
| Nachricht | metadata.event_type | |
| src_ip | metadata.event_type | |
| has_target_ip | metadata.event_type | |
| has_network_protocol | metadata.event_type | |
| host_name | metadata.event_type | |
| Nachricht | metadata.product_event_type | Auf „Host Detection“ setzen, wenn die Nachricht „Host Detection“ entspricht; auf „TMS Mitigation started“, wenn die Nachricht „ started“ entspricht; auf „TMS Mitigation stopped“, wenn die Nachricht „ stopped“ entspricht |
| metadata.product_name | metadata.product_name | Auf „ARBOR_SIGHTLINE“ festlegen |
| metadata.vendor_name | metadata.vendor_name | Auf „NETSCOUT“ festgelegt |
| direction | network.direction | Auf „INBOUND“ festgelegt, wenn die Richtung „incoming“ ist |
| Proto | network.ip_protocol | Auf „TCP“ setzen, wenn proto „6“; andernfalls auf uppercase network_protocol setzen, wenn es mit „(?i)(TCP |
| network_protocol | network.ip_protocol | |
| Byte | network.sent_bytes | Wert direkt kopiert, in „uinteger“ konvertiert |
| Pakete | network.sent_packets | Wert direkt kopiert, in Ganzzahl konvertiert |
| Dauer | network.session_duration.seconds | Der Wert wird direkt kopiert, wenn er nicht leer und nicht „0“ ist. Andernfalls wird er in eine Ganzzahl konvertiert. |
| host_name | principal.hostname | Wert direkt kopiert |
| src_ip | principal.ip | Zusammengeführt aus src_ip und nameserver_ip |
| nameserver_ip | principal.ip | |
| Namespace | principal.namespace | Wert direkt kopiert |
| filename | principal.process.file.full_path | Wert direkt kopiert |
| alert_id | principal.process.pid | Wert direkt kopiert |
| prin_url | principal.url | Wert direkt kopiert |
| prin_user | principal.user.userid | Wert direkt kopiert |
| Auswirkungen | security_result.detection_fields | Zusammengeführt mit den Schlüsseln „Impact“ aus „impact“, „Importance“ aus „importance“, „Signature“ aus „signature“, „Leader“ aus „leader“, „parent_managed_object“ aus „parent_managed_object“ und „Alert ID“ aus „alert_id“ |
| Wichtigkeit | security_result.detection_fields | |
| Signatur | security_result.detection_fields | |
| Führungskraft | security_result.detection_fields | |
| parent_managed_object | security_result.detection_fields | |
| alert_id | security_result.detection_fields | |
| die Ausprägung | security_result.severity | Auf „INFORMATIONAL“ festgelegt, wenn der Schweregrad in [„10“, „9“] liegt; „LOW“, wenn in [„8“, „7“]; „MEDIUM“, wenn „6“; „HIGH“, wenn in [„5“, „4“]; „CRITICAL“, wenn in [„3“, „2“, „1“] |
| desc2 | security_result.threat_status | Auf „ACTIVE“ setzen, wenn „desc“ mit „Host Detection alert“ und „message“ mit „start“ übereinstimmt und nicht mit „stop“; auf „CLEARED“ setzen, wenn „desc“ mit „Host Detection alert“ und „message“ mit „stop“ übereinstimmt |
| Nachricht | security_result.threat_status | |
| intem_host | target.group.product_object_id | Wert direkt kopiert |
| dst_ip | target.ip | Wert direkt kopiert |
| dst_port | target.port | Wert direkt kopiert, in Ganzzahl konvertiert |
| file_path | target.process.file.full_path | Wert direkt kopiert |
| stop_time | vulns.vulnerabilities.scan_end_time | Konvertiert mit Datumsfilter im Format JJJJ-MM-TT HH:mm:ss |
| start_time | vulns.vulnerabilities.scan_start_time | Konvertiert mit Datumsfilter im Format „JJJJ-MM-TT HH:mm:ss“ oder „JJJJ-MM-TT“ |
Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten