HP ProCurve-Protokolle erfassen

Unterstützt in:

In diesem Dokument wird beschrieben, wie Sie die HP ProCurve-Switch-Logs mit Bindplane in Google Security Operations aufnehmen. Der Parsercode versucht zuerst, die Roh-Logmeldung als JSON zu parsen. Wenn das fehlschlägt, werden reguläre Ausdrücke (grok-Muster) verwendet, um Felder aus der Nachricht basierend auf gängigen HP ProCurve-Logformaten zu extrahieren.

Hinweise

Prüfen Sie, ob die folgenden Voraussetzungen erfüllt sind:

  • Google SecOps-Instanz
  • Windows 2016 oder höher oder Linux-Host mit systemd
  • Wenn die Ausführung hinter einem Proxy erfolgt, sind die Firewallports geöffnet.
  • Privilegierter Zugriff auf einen HP ProCurve-Switch

Authentifizierungsdatei für die Aufnahme in Google SecOps abrufen

  1. Melden Sie sich in der Google SecOps-Konsole an.
  2. Rufen Sie 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 > „Profil“ auf.
  3. Kopieren und speichern Sie die Kunden-ID aus dem Bereich Organisationsdetails.

BindPlane-Agent installieren

Fenstereinbau

  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
    

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
    

Zusätzliche Installationsressourcen

Weitere Installationsoptionen finden Sie im Installationsleitfaden.

BindPlane-Agent zum Erfassen von Syslog-Daten und Senden an Google SecOps konfigurieren

  1. Greifen Sie auf die Konfigurationsdatei zu:

    • Suchen Sie die Datei config.yaml. Normalerweise befindet es sich unter Linux im Verzeichnis /etc/bindplane-agent/ oder unter Windows im Installationsverzeichnis.
    • Öffnen Sie die Datei mit einem Texteditor (z. B. nano, vi oder Notepad).
  2. Bearbeiten Sie die Datei config.yamlso:

        receivers:
            udplog:
                # Replace the port and IP address as required
                listen_address: "0.0.0.0:514"
    
        exporters:
            chronicle/chronicle_w_labels:
                compression: gzip
                # Adjust the path to the credentials file you downloaded in Step 1
                creds: '/path/to/ingestion-authentication-file.json'
                # Replace with your actual customer ID from Step 2
                customer_id: <customer_id>
                endpoint: malachiteingestion-pa.googleapis.com
                # Add optional ingestion labels for better organization
                ingestion_labels:
                    log_type: HP_PROCURVE
                    raw_log_field: body
    
        service:
            pipelines:
                logs/source0__chronicle_w_labels-0:
                    receivers:
                        - udplog
                    exporters:
                        - chronicle/chronicle_w_labels
    
  3. Ersetzen Sie den Port und die IP-Adresse nach Bedarf in Ihrer Infrastruktur.

  4. Ersetzen Sie <customer_id> durch die tatsächliche Kunden-ID.

  5. Aktualisieren Sie /path/to/ingestion-authentication-file.json auf den Pfad, in dem die Authentifizierungsdatei im Abschnitt Google SecOps-Aufnahmeauthentifizierungsdatei abrufen gespeichert wurde.

Bindplane-Agent neu starten, um die Änderungen zu übernehmen

  • Führen Sie den folgenden Befehl aus, um den Bindplane-Agent unter Linux neu zu starten:

    sudo systemctl restart bindplane-agent
    
  • Wenn Sie den Bindplane-Agent unter Windows neu starten möchten, können Sie entweder die Konsole Dienste verwenden oder den folgenden Befehl eingeben:

    net stop BindPlaneAgent && net start BindPlaneAgent
    

Syslog auf HP ProCurve-Switch konfigurieren

  1. Melden Sie sich über SSH am HP Procurve-Switch an.
  2. Prüfen Sie die Switch-Schnittstelle mit dem folgenden Befehl:

    show ip int br
    
  3. Aktivieren Sie den Konfigurationsmodus auf dem Switch mit dem folgenden Befehl:

    console# conf t
    
  4. Konfigurieren Sie den Switch so, dass er Logs sendet, indem Sie die folgenden Befehle verwenden:

        logging host <bindplae-server-ip> transport <udp/tcp> port <port-number>
        logging facility syslog
        logging trap informational
        logging buffer 65536
        logging origin-id hostname
        logging source-interface <interface>
    
  5. Ersetzen Sie <bindplae-server-ip> und <port-number> durch die Bindplane-IP-Adresse und die Portnummer.

  6. Ersetzen Sie <udp/tcp>, indem Sie nur UDP oder TCP als Kommunikationsprotokoll auswählen (je nach Konfiguration des Bindplane-Agents).

  7. Ersetzen Sie <interface> durch die Schnittstellen-ID, die Sie zuvor vom Switch erhalten haben (z. B. Ethernet1/1).

  8. Beenden Sie den Konfigurationsmodus und speichern Sie die Änderungen mit den folgenden Befehlen:

    console# exit
    console# wr
    

UDM-Zuordnungstabelle

Logfeld UDM-Zuordnung Logik
AAAScheme read_only_udm.security_result.detection_fields.value Wert, der aus dem Feld descrip extrahiert wird, wenn der Schlüssel AAAScheme ist
AAAType read_only_udm.security_result.detection_fields.value Wert, der aus dem Feld descrip extrahiert wird, wenn der Schlüssel AAAType ist
Chassis-ID read_only_udm.security_result.detection_fields.value Wert, der aus dem Feld description extrahiert wird, wenn der Schlüssel Chassis ID ist
Der Befehl lautet read_only_udm.security_result.detection_fields.value Text nach Command is im Feld commandInfo
CommandSource read_only_udm.security_result.detection_fields.value Wert, der aus dem Feld descrip extrahiert wird, wenn der Schlüssel CommandSource ist
Konfigurationsmethode read_only_udm.additional.fields.value.string_value Wenn das Feld im Log vorhanden ist, wird es als config_method in die zusätzlichen Felder eingefügt.
ConfigDestination read_only_udm.security_result.detection_fields.value Wert, der aus dem Feld descrip extrahiert wird, wenn der Schlüssel ConfigDestination ist
ConfigSource read_only_udm.security_result.detection_fields.value Wert, der aus dem Feld descrip extrahiert wird, wenn der Schlüssel ConfigSource ist
Gerätename read_only_udm.principal.hostname Wenn das Feld im Log vorhanden ist, wird es dem Hostnamen des Hauptkontos und dem Hostnamen des Assets zugeordnet.
Ereignis-ID read_only_udm.additional.fields.value.string_value Wenn das Feld im Log vorhanden ist, wird es als event_id in die zusätzlichen Felder eingefügt.
EventIndex read_only_udm.security_result.detection_fields.value Wert, der aus dem Feld descrip extrahiert wird, wenn der Schlüssel EventIndex ist
IfIndex read_only_udm.security_result.detection_fields.value Wert, der aus dem Feld description extrahiert wird, wenn der Schlüssel IfIndex ist
IP: %{IP:IPAddr} read_only_udm.target.ip, read_only_udm.target.asset.ip IP-Adresse aus dem Feld desc extrahiert und der Ziel-IP-Adresse und der IP-Adresse des Ziel-Assets zugeordnet
IPAddr read_only_udm.target.ip, read_only_udm.target.asset.ip Wenn das Feld im Log vorhanden ist, wird es der Ziel-IP und der IP des Zielassets zugeordnet.
Art der Mitteilung read_only_udm.additional.fields.value.string_value Wenn das Feld im Log vorhanden ist, wird es als notice_type in die zusätzlichen Felder eingefügt.
Port-ID read_only_udm.security_result.detection_fields.value Wert, der aus dem Feld description extrahiert wird, wenn der Schlüssel Port ID ist
Remote-IP-Adresse read_only_udm.additional.fields.value.string_value Wenn das Feld im Log vorhanden ist, wird es als remote_ip_address in die zusätzlichen Felder eingefügt.
Dienst read_only_udm.security_result.detection_fields.value Wert, der aus dem Feld descrip extrahiert wird, wenn der Schlüssel Service ist
Aufgabe read_only_udm.security_result.detection_fields.value Wert, der aus dem Feld descrip extrahiert wird, wenn der Schlüssel Task ist
Nutzer read_only_udm.principal.user.userid Wenn das Feld im Log vorhanden ist, wird es der Hauptnutzer-ID zugeordnet.
Nutzername read_only_udm.principal.user.userid Wenn das Feld im Log vorhanden ist, wird es der Hauptnutzer-ID zugeordnet.
Nutzername read_only_udm.principal.user.userid Wenn das Feld im Log vorhanden ist, wird es der Hauptnutzer-ID zugeordnet.
UserService read_only_udm.security_result.detection_fields.value Wert, der aus dem Feld desc extrahiert wird, wenn der Schlüssel UserService ist
collection_time.seconds read_only_udm.metadata.event_timestamp.seconds Sekunden des Ereignis-Zeitstempels
Daten Dieses Feld enthält die Roh-Log-Nachricht, die zum Extrahieren anderer Felder geparst wird. Sie ist nicht dem UDM zugeordnet.
Ab read_only_udm.security_result.description Beschreibung aus der Lognachricht
descrip Beschreibung, die aus dem Feld desc extrahiert und weiter nach Schlüssel/Wert-Paaren geparst wurde. Sie ist nicht dem UDM zugeordnet.
description read_only_udm.security_result.description Wenn das Feld im Log vorhanden ist, wird es der Beschreibung des Sicherheitsergebnisses zugeordnet.
Descript read_only_udm.metadata.description Wenn das Feld im Log vorhanden ist, wird es der Metadatenbeschreibung zugeordnet.
event_id read_only_udm.additional.fields.value.string_value Wenn das Feld im Log vorhanden ist, wird es als event_id in die zusätzlichen Felder eingefügt.
eventId read_only_udm.metadata.product_event_type Aus der Log-Nachricht extrahierte Ereignis-ID
Hostname read_only_udm.principal.hostname, read_only_udm.principal.asset.hostname Hostname, der aus der Log-Nachricht extrahiert und dem Prinzipal-Hostname und dem Asset-Hostname zugeordnet wird
inter_ip read_only_udm.additional.fields.value.string_value, read_only_udm.intermediary.ip Wenn das Feld im Log vorhanden und eine gültige IP-Adresse ist, wird es der Zwischen-IP-Adresse zugeordnet. Andernfalls wird sie als inter_ip in den zusätzlichen Feldern platziert.
notice_type read_only_udm.additional.fields.value.string_value Wenn das Feld im Log vorhanden ist, wird es als notice_type in die zusätzlichen Felder eingefügt.
pid read_only_udm.principal.process.pid Wenn das Feld im Log vorhanden ist, wird es der PID des Hauptprozesses zugeordnet.
Programm Programminformationen, die aus der Log-Nachricht extrahiert und weiter analysiert werden, um Modul, Schweregrad und Aktion zu extrahieren. Sie ist nicht dem UDM zugeordnet.
Proto read_only_udm.network.application_protocol, read_only_udm.additional.fields.value.string_value Aus der Log-Nachricht extrahiertes Protokoll. Wenn es mit bekannten Protokollen übereinstimmt, wird es dem Anwendungsprotokoll zugeordnet. Andernfalls wird sie als Application Protocol in den zusätzlichen Feldern platziert.
remote_ip_address read_only_udm.principal.ip, read_only_udm.principal.asset.ip, read_only_udm.additional.fields.value.string_value Wenn das Feld im Log vorhanden und eine gültige IP-Adresse ist, wird es der Haupt-IP und der Haupt-Asset-IP zugeordnet. Andernfalls wird sie als remote_ip_address in den zusätzlichen Feldern platziert.
die Ausprägung read_only_udm.security_result.severity, read_only_udm.security_result.severity_details Schweregrad, der aus dem Feld program extrahiert wurde, nachdem er nach / aufgeteilt wurde. Sie werden UDM-Schweregraden zugeordnet und auch als Rohdaten für Schweregrad gespeichert.
src_ip read_only_udm.principal.ip, read_only_udm.principal.asset.ip Die Quell-IP-Adresse wird aus der Log-Nachricht extrahiert und der Haupt-IP-Adresse und der Haupt-Asset-IP-Adresse zugeordnet.
Status read_only_udm.additional.fields.value.string_value Wenn das Feld im Log vorhanden ist, wird es als status in die zusätzlichen Felder eingefügt.
targetHostname read_only_udm.target.hostname, read_only_udm.target.asset.ip Wenn das Feld im Log vorhanden ist, wird es dem Zielhostnamen und der Ziel-Asset-IP zugeordnet.
target_ip read_only_udm.target.ip, read_only_udm.target.asset.ip Ziel-IP aus der Log-Nachricht extrahiert und der Ziel-IP und der Ziel-Asset-IP zugeordnet
timestamp read_only_udm.metadata.event_timestamp.seconds Zeitstempel, der aus der Log-Nachricht extrahiert und in einen Ereigniszeitstempel konvertiert wurde
timestamp.seconds read_only_udm.metadata.event_timestamp.seconds Sekunden des Ereignis-Zeitstempels
Nutzername read_only_udm.principal.user.userid Wenn das Feld im Log vorhanden ist, wird es der Hauptnutzer-ID zugeordnet.
read_only_udm.metadata.event_type Wird anhand einer Kombination aus Feldern und Logik bestimmt:
 – NETWORK_CONNECTION, wenn has_principal und has_target „true“ sind.
 – USER_LOGOUT: wenn action WEBOPT_LOGOUT, LOGOUT oder SHELL_LOGOUT ist.
 – USER_LOGIN: wenn action LOGIN oder WEBOPT_LOGIN_SUC ist.
 – STATUS_UPDATE: wenn action nicht leer ist oder src_ip/hostname nicht leer sind.
 – USER_UNCATEGORIZED: wenn has_user „true“ ist.
 – GENERIC_EVENT: wenn keine dieser Bedingungen erfüllt ist.
read_only_udm.metadata.product_name Fest codiert auf Procurve
read_only_udm.metadata.vendor_name Fest codiert auf HP
read_only_udm.extensions.auth.type Wird auf MACHINE gesetzt, wenn event_type gleich USER_LOGOUT oder USER_LOGIN ist.

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