Netscout Arbor Sightline-Logs erfassen

Unterstützt in:

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 Weboberfläche von Netscout Arbor Sightline
  • Administratorzugriff auf die Befehlszeile von Netscout Arbor Sightline für die Konfiguration von Systembenachrichtigungen

Authentifizierungsdatei für die Google SecOps-Aufnahme abrufen

  1. Melden Sie sich in der Google SecOps-Konsole an.
  2. Rufen Sie die SIEM-Einstellungen > Collection Agents auf.
  3. 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

  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.

Windows-Installation

  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. Warte, bis die Installation abgeschlossen ist.

  4. Überprüfen Sie die Installation mit folgendem Befehl:

    sc query observiq-otel-collector
    

    Der Dienst sollte als RUNNING 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. Warte, 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 im Installationsleitfaden 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

  1. Ersetzen Sie den gesamten Inhalt von config.yaml durch 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_sightline
    
  2. Ersetzen 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) empfängt.
      • Wenn Sie einen anderen Port verwenden müssen (z. B. 1514 für Linux-Installationen ohne Root-Zugriff), ändern Sie den Wert listen_address.
      • Wenn Sie TCP-Syslog bevorzugen, ersetzen Sie udplog sowohl im Abschnitt „Receivers“ als auch in der Pipeline durch tcplog.
    • 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

      • endpoint: Regionale Endpunkt-URL (die Standard-URL ist für 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.
      • log_type: Auf ARBOR_SIGHTLINE festlegen (genaue Übereinstimmung erforderlich)

      • ingestion_labels: Optionale Labels im YAML-Format (nach 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, dann Enter und dann Ctrl+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:

    1. Führen Sie dazu diesen Befehl aus:

      sudo systemctl restart observiq-otel-collector
      
    2. Prüfen Sie, ob der Dienst ausgeführt wird:

      sudo systemctl status observiq-otel-collector
      
    3. Logs auf Fehler prüfen:

      sudo journalctl -u observiq-otel-collector -f
      
  • So starten Sie den Bindplane-Agent unter Windows neu:

    1. Wählen Sie eine der folgenden Optionen aus:

      • Eingabeaufforderung oder PowerShell als Administrator:

        net stop observiq-otel-collector && net start observiq-otel-collector
        
      • Dienstkonsole:

        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.
    2. Prüfen Sie, ob der Dienst ausgeführt wird:

      sc query observiq-otel-collector
      
    3. Logs auf Fehler prüfen:

      type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
      

Syslog-Weiterleitung für Netscout Arbor Sightline konfigurieren

Wenn Sie Logs an Google SecOps senden möchten, müssen Sie Netscout Arbor Sightline so konfigurieren, dass Syslog-Ereignisse an den Bindplane-Agent weitergeleitet werden. Dazu müssen Sie eine Benachrichtigungsgruppe erstellen, globale Benachrichtigungseinstellungen konfigurieren und Regeln für Warnungsbenachrichtigungen einrichten.

Benachrichtigungsgruppe erstellen

  1. Melden Sie sich als Administrator in der Weboberfläche von Netscout Arbor Sightline an.
  2. Klicken Sie auf Verwaltung > Benachrichtigung > Gruppen.
  3. Klicken Sie auf Benachrichtigungsgruppe hinzufügen.
  4. 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. local0 oder user.
    • Schweregrad: Wählen Sie info aus. Der Schweregrad „Informationell“ umfasst alle Ereignismeldungen auf der Ereignisebene „Informationell“ und mit höherem Schweregrad.
  5. Klicken Sie auf Speichern.
  6. 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.

  1. Rufen Sie in der Netscout Arbor Sightline-Weboberfläche Administration > Notification > Global Settings auf.
  2. Wählen Sie im Feld Standardbenachrichtigungsgruppe die Benachrichtigungsgruppe aus, die Sie für Google SecOps erstellt haben.
  3. Klicken Sie auf Speichern.
  4. 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.

  1. Melden Sie sich als Administrator in der Befehlszeile von Netscout Arbor Sightline an.
  2. So listen Sie die aktuelle Systemwarnkonfiguration auf:

    services sp alerts system_errors show
    
  3. Führen Sie den folgenden Befehl aus, um die verfügbaren Feldnamen für Systembenachrichtigungen aufzulisten, die konfiguriert werden können:

    services sp alerts system_errors ?
    
  4. Aktivieren Sie Benachrichtigungen für Systembenachrichtigungen. Führen Sie für jeden Benachrichtigungstyp, den Sie aktivieren möchten, folgenden Befehl aus:

    services sp alerts system_errors <alert_name> notifications enable
    

    Ersetzen Sie <alert_name> durch den Namen des entsprechenden Systembenachrichtigungsfelds (z. B. disk_full, flow_collector_down, license_expiring).

  5. Übernehmen Sie die Konfigurationsänderungen:

    config write
    

Regeln für Benachrichtigungen konfigurieren

Mit Regeln für Benachrichtigungen wird festgelegt, welche Benachrichtigungen Syslog-Benachrichtigungen an Google SecOps auslösen.

  1. Rufen Sie in der Netscout Arbor Sightline-Weboberfläche Administration > Notification > Rules auf.
  2. 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.
  3. 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 Sie die Regel auf alle Ressourcen anwenden möchten, lassen Sie dieses Feld leer oder wählen Sie Alle aus.
    • Wichtigkeit: Wählen Sie die Mindestwichtigkeitsstufe für Benachrichtigungen aus (z. B. Low, Medium, High oder Critical). Benachrichtigungen mit dieser oder einer höheren Stufe werden ausgelöst.
    • Benachrichtigungsgruppe: Wählen Sie die Benachrichtigungsgruppe aus, die Sie für Google SecOps erstellt haben.
  4. Wiederholen Sie diese Schritte, um bei Bedarf zusätzliche Regeln für verschiedene Ressourcen oder Wichtigkeitsstufen zu konfigurieren.
  5. Klicken Sie auf Speichern.
  6. 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.

  1. 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.

  2. Der Befehl sollte Folgendes zurückgeben:

    Server returned: Success
    
  3. Prüfen Sie die Bindplane-Agenten-Logs, um zu bestätigen, dass Testnachrichten empfangen werden:

    Linux:

    sudo journalctl -u observiq-otel-collector -f
    

    Windows:

    type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
    
  4. Rufen Sie in der Google SecOps-Konsole Search auf und prüfen Sie, ob Netscout Arbor Sightline-Logs mit dem Ingestion-Label ARBOR_SIGHTLINE angezeigt 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: Appliance-Zustand, Dienststatus, Konfigurationsänderungen und Betriebswarnungen
    • Abwehrereignisse: Start, Ende und Statusupdates der Abwehr von DDoS-Angriffen

UDM-Zuordnungstabelle

Logfeld UDM-Zuordnung Logik
msg1 additional.fields Wird mit Labels aus den einzelnen Feldern zusammengeführt, sofern diese nicht leer sind. 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 „vulns“ nicht leer ist
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“ festgelegt
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 „(?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
Beste Variante 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“ festlegen, 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
msg1 event.idm.read_only_udm.additional.fields Aus dem Änderungsprotokoll zugeordnet
prin_user event.idm.read_only_udm.principal.user.userid Aus dem Änderungsprotokoll zugeordnet
config_version event.idm.read_only_udm.additional.fields Aus dem Änderungsprotokoll zugeordnet
old_bgp_attributes event.idm.read_only_udm.additional.fields Aus dem Änderungsprotokoll zugeordnet
new_bgp_attributes event.idm.read_only_udm.additional.fields Aus dem Änderungsprotokoll zugeordnet
reason event.idm.read_only_udm.additional.fields Aus dem Änderungsprotokoll zugeordnet
sample_rate event.idm.read_only_udm.additional.fields Aus dem Änderungsprotokoll zugeordnet
proto event.idm.read_only_udm.network.ip_protocol Aus dem Änderungsprotokoll zugeordnet
proto event.idm.read_only_udm.additional.fields Aus dem Änderungsprotokoll zugeordnet
bytes event.idm.read_only_udm.network.sent_bytes Aus dem Änderungsprotokoll zugeordnet
packets event.idm.read_only_udm.network.sent_packets Aus dem Änderungsprotokoll zugeordnet
flows event.idm.read_only_udm.additional.fields Aus dem Änderungsprotokoll zugeordnet
identifier event.idm.read_only_udm.additional.fields Aus dem Änderungsprotokoll zugeordnet
expected_bps event.idm.read_only_udm.additional.fields Aus dem Änderungsprotokoll zugeordnet
actual_bps event.idm.read_only_udm.additional.fields Aus dem Änderungsprotokoll zugeordnet
server event.idm.read_only_udm.additional.fields Aus dem Änderungsprotokoll zugeordnet
status event.idm.read_only_udm.additional.fields Aus dem Änderungsprotokoll zugeordnet
percent event.idm.read_only_udm.additional.fields Aus dem Änderungsprotokoll zugeordnet
rate event.idm.read_only_udm.additional.fields Aus dem Änderungsprotokoll zugeordnet
rateunit event.idm.read_only_udm.additional.fields Aus dem Änderungsprotokoll zugeordnet
flags event.idm.read_only_udm.additional.fields Aus dem Änderungsprotokoll zugeordnet
router event.idm.read_only_udm.additional.fields Aus dem Änderungsprotokoll zugeordnet
interface event.idm.read_only_udm.additional.fields Aus dem Änderungsprotokoll zugeordnet
ip_ver event.idm.read_only_udm.additional.fields Aus dem Änderungsprotokoll zugeordnet
protocol_id event.idm.read_only_udm.additional.fields Aus dem Änderungsprotokoll zugeordnet
router_name event.idm.read_only_udm.additional.fields Aus dem Änderungsprotokoll zugeordnet
interface_id event.idm.read_only_udm.additional.fields Aus dem Änderungsprotokoll zugeordnet
interface_name event.idm.read_only_udm.additional.fields Aus dem Änderungsprotokoll zugeordnet
network_protocol event.idm.read_only_udm.network.ip_protocol Aus dem Änderungsprotokoll zugeordnet
prin_url event.idm.read_only_udm.principal.url Aus dem Änderungsprotokoll zugeordnet
src_port event.idm.read_only_udm.principal.port Aus dem Änderungsprotokoll zugeordnet
dst_port event.idm.read_only_udm.target.port Aus dem Änderungsprotokoll zugeordnet
dst_ip event.idm.read_only_udm.target.ip Aus dem Änderungsprotokoll zugeordnet
severity event.idm.read_only_udm.security_result.severity Aus dem Änderungsprotokoll zugeordnet
Active/Cleared security_result.threat_status Aus dem Änderungsprotokoll zugeordnet
alert_id","parent_managed_object security_result.detection_fields Aus dem Änderungsprotokoll zugeordnet

Änderungsprotokoll

Änderungsprotokoll für diesen Parser ansehen

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