Huawei-Switch-Logs erfassen

Unterstützt in:

In diesem Dokument wird beschrieben, wie Sie Huawei Switch-Logs mit dem Bindplane-Agent in Google Security Operations aufnehmen.

Huawei-Unternehmensnetzwerk-Switches generieren Syslog-Nachrichten für Schnittstellenereignisse, Authentifizierung, Spanning Tree und Konfigurationsänderungen. Die Protokolle entsprechen dem Standard-Syslog-Format und erfassen Hauptkonto- und Zielnetzwerkattribute, Nutzeridentität, Prozessmetadaten und Details zu Sicherheitsergebnissen.

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 dem Huawei-Switch
  • Wenn der Agent hinter einem Proxy ausgeführt wird, müssen die Firewallports gemäß den Anforderungen des Bindplane-Agents geöffnet sein.
  • Privilegierter Zugriff auf die Huawei-Switch-Verwaltungsoberfläche (Befehlszeile oder Web)

Google SecOps-Anmeldedaten für den Bindplane-Agenten abrufen

Wählen Sie eine der folgenden Methoden aus, um den Bindplane-Agenten bei Google SecOps zu authentifizieren:

  • Neue Deployments: Verwenden Sie die Chronicle API (Option 1).
  • Legacy-Bereitstellungen: Verwenden Sie die Authentifizierungsdatei für die Datenaufnahme (Option 2) weiter, bis die Ingestion API am 20. Juli 2027 eingestellt wird.
  1. Melden Sie sich in der Google Cloud Console an und wählen Sie das Google Cloud -Projekt aus, das mit Ihrer Google SecOps-Instanz verknüpft ist.
  2. Rufen Sie IAM und Verwaltung > Dienstkonten auf.
  3. Klicken Sie auf Dienstkonto erstellen.
  4. Geben Sie die folgenden Konfigurationsdetails an:
    • Name des Dienstkontos: Geben Sie einen Namen für das Konto ein, z. B. bindplane-ingest.
    • Dienstkontobeschreibung: Geben Sie eine Beschreibung ein, z. B. Bindplane agent log ingestion.
  5. Klicken Sie auf Erstellen und fortfahren.
  6. Klicken Sie im Abschnitt Diesem Dienstkonto Zugriff auf das Projekt erteilen auf Rolle auswählen und wählen Sie Chronicle Editor aus.
  7. Klicken Sie auf Weiter und dann auf Fertig.
  8. Klicken Sie auf das von Ihnen erstellte Dienstkonto und rufen Sie den Tab Schlüssel auf.
  9. Klicken Sie auf Schlüssel hinzufügen > Neuen Schlüssel erstellen.
  10. Wählen Sie JSON aus und klicken Sie auf Erstellen. Die Schlüsseldatei wird auf Ihren Computer heruntergeladen.
  11. Speichern Sie die Schlüsseldatei als ingestion-auth.json im Bindplane-Collector-Verzeichnis (/opt/observiq-otel-collector/ingestion-auth.json unter Linux oder C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json unter Windows) oder aktualisieren Sie creds_file_path in config.yaml, sodass der Pfad mit dem Pfad übereinstimmt, unter dem Sie die Datei speichern.
  12. Rufen Sie IAM und Verwaltung > Einstellungen auf und kopieren Sie die Projektnummer. Sie benötigen sie für die Konfiguration des Exporters.

Option 2: Authentifizierungsdatei für die Datenaufnahme herunterladen (Legacy)

  1. Melden Sie sich in der Google SecOps-Konsole an.
  2. Rufen Sie die SIEM-Einstellungen > Erfassungs-Agents auf.
  3. Laden Sie die Authentifizierungsdatei für die Aufnahme herunter.
  4. Speichern Sie die Datei sicher auf dem System, auf dem der Bindplane-Agent installiert werden soll.

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 Kundennummer aus dem Bereich Organization Details (Organisationsdetails).

BindPlane-Agent installieren

Installieren Sie den Bindplane-Agenten gemäß der folgenden Anleitung auf Ihrem Windows- oder Linux-Betriebssystem.

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

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

    sudo systemctl status observiq-otel-collector
    

    Der Dienst sollte als active (running) angezeigt werden.

Zusätzliche Installationsressourcen

Weitere Installationsoptionen und Informationen zur Fehlerbehebung finden Sie in der Installationsanleitung für den Bindplane-Agenten.

Bindplane-Agent so konfigurieren, dass Syslog-Daten aufgenommen und an Google SecOps gesendet werden

Konfigurationsdatei suchen

  • Linux:

    sudo nano /opt/observiq-otel-collector/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/huawei_switch:
        protocol: https
        # Region of your instance, for example us, europe, asia-southeast1
        location: <LOCATION>
        # Project number of the Google Cloud project linked to the instance
        project: '<PROJECT_NUMBER>'
        compression: gzip
        creds_file_path: '/opt/observiq-otel-collector/ingestion-auth.json'
        customer_id: '<customer_id>'
        endpoint: chronicle.googleapis.com
        log_type: HUAWEI_SWITCH
        raw_log_field: body
        ingestion_labels:
          env: production
    
    service:
      pipelines:
        logs/huawei_to_chronicle:
          receivers:
            - udplog
          exporters:
            - chronicle/huawei_switch
    

Konfigurationsparameter

Ersetzen Sie die folgenden Platzhalter:

  • Empfängerkonfiguration:

    • udplog: Der Empfängertyp basierend auf dem Protokoll:
      • udplog für UDP-Syslog
      • tcplog für TCP-Syslog
    • 0.0.0.0: IP-Adresse, auf der gelauscht werden soll:
      • 0.0.0.0, um auf allen Schnittstellen zuzuhören (empfohlen)
      • Bestimmte IP-Adresse, die auf einer Schnittstelle überwacht werden soll
    • 514: Portnummer, an der gelauscht werden soll (z. B. 514, 1514, 6514)
  • Exporter-Konfiguration:

    • huawei_switch: Aussagekräftiger Name für den Exporter
    • creds_file_path: Vollständiger Pfad zur JSON-Schlüsseldatei des Dienstkontos (Option 1):
      • Linux: /opt/observiq-otel-collector/ingestion-auth.json
      • Windows: C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
    • <customer_id>: Kundennummer aus dem vorherigen Schritt
    • location: Ersetzen Sie <LOCATION> durch die Region Ihrer Google SecOps-Instanz (z. B. us, europe oder asia-southeast1). Der Exporteur stellt diesem Wert das Präfix chronicle.googleapis.com voran. Eine vollständige Liste finden Sie unter Regionale Endpunkte.
    • project: Ersetzen Sie <PROJECT_NUMBER> durch die Projektnummer aus IAM & Verwaltung > Einstellungen.
    • endpoint: Behalten Sie die Einstellung chronicle.googleapis.com bei.
    • HUAWEI_SWITCH: Logtyp genau so, wie er in Chronicle angezeigt wird
    • ingestion_labels: Optionale Labels im YAML-Format (z. B. env: production)
  • Pipelinekonfiguration:

    • huawei_to_chronicle: Aussagekräftiger Name für die Pipeline

Exporter für die Legacy Ingestion API

  • Wenn Sie die Datei zur Authentifizierung bei der Aufnahme aus Option 2 verwenden, ersetzen Sie den Block exporters durch Folgendes. Legen Sie creds_file_path auf den Pfad zur Datei für die Authentifizierung bei der Aufnahme fest. Wenn sich Ihre Instanz außerhalb der USA befindet, ersetzen Sie malachiteingestion-pa.googleapis.com durch Ihren regionalen Endpunkt (z. B. europe-malachiteingestion-pa.googleapis.com).

    exporters:
      chronicle/huawei_switch:
        compression: gzip
        creds_file_path: '/opt/observiq-otel-collector/ingestion-auth.json'
        customer_id: '<customer_id>'
        endpoint: malachiteingestion-pa.googleapis.com
        log_type: HUAWEI_SWITCH
        raw_log_field: body
        ingestion_labels:
          env: production
    

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.

Starten Sie den Bindplane-Agent neu, um die Änderungen zu übernehmen.

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

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

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

      sudo journalctl -u observiq-otel-collector -f
      
  • Wählen Sie eine der folgenden Optionen aus, um den Bindplane-Agenten unter Windows neu zu starten:

    • 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. Rechtsklicken Sie und wählen Sie Neu starten aus.
      4. Prüfen Sie, ob der Dienst ausgeführt wird:

        sc query observiq-otel-collector
        
      5. Prüfen Sie die Logs auf Fehler:

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

Syslog-Weiterleitung für Huawei-Switch konfigurieren

  1. Stellen Sie über SSH oder die Konsole eine Verbindung zum Huawei-Switch her.
  2. Rufen Sie die Systemansicht auf:

    system-view
    
  3. Aktivieren Sie das Informationscenter, falls es noch nicht aktiviert ist:

    info-center enable
    
  4. Konfigurieren Sie den Syslog-Host so, dass er auf den Bindplane-Agent verweist:

    info-center loghost <BINDPLANE_AGENT_IP>
    
    • Ersetzen Sie <BINDPLANE_AGENT_IP> durch die IP-Adresse des Bindplane-Agent-Hosts.
  5. (Optional) Legen Sie die Einrichtung und den Schweregrad fest:

    info-center loghost <BINDPLANE_AGENT_IP> facility local7 level informational
    
  6. Konfiguration übertragen:

    commit
    
  7. Konfiguration prüfen:

    display info-center
    
  8. Prüfen Sie anhand der Bindplane-Agent-Logs, ob Syslog-Nachrichten empfangen werden.

UDM-Zuordnungstabelle

Logfeld UDM-Zuordnung Logik
AuthenticationMethod_label additional.fields Zusammengeführt
Command_label additional.fields Zusammengeführt
DeviceType_label additional.fields Zusammengeführt
Flapping_port_1_label additional.fields Zusammengeführt
Flapping_port_label additional.fields Zusammengeführt
InfoID_label additional.fields Zusammengeführt
Interface_label additional.fields Zusammengeführt
Task_label additional.fields Zusammengeführt
VLANID_label additional.fields Zusammengeführt
accept_label additional.fields Zusammengeführt
alarmID_label additional.fields Zusammengeführt
assistant_name_label additional.fields Zusammengeführt
body_label additional.fields Zusammengeführt
clearType_label additional.fields Zusammengeführt
content_type_label additional.fields Zusammengeführt
event_identifier_label additional.fields Zusammengeführt
facilityName_label additional.fields Zusammengeführt
facility_label additional.fields Zusammengeführt
frag_index_label additional.fields Zusammengeführt
original_port_label additional.fields Zusammengeführt
port_2_label additional.fields Zusammengeführt
service_flapping_port1_label additional.fields Zusammengeführt
service_flapping_port2_label additional.fields Zusammengeführt
service_original_port_label additional.fields Zusammengeführt
severity_label additional.fields Zusammengeführt
vlan_id_label additional.fields Zusammengeführt
has_principal extensions.auth.type Zugeordnet: true → AUTHTYPE_UNSPECIFIED
hostname intermediary.hostname Direkt zugeordnet
raw_hostname intermediary.hostname Direkt zugeordnet
desc metadata.description Direkt zugeordnet
logfile_description metadata.description Direkt zugeordnet
service_mac_description metadata.description Direkt zugeordnet
temp_description metadata.description Direkt zugeordnet
raw_syslog_timestamp metadata.event_timestamp Geparst als MMM d yyyy HH:mm:ss
syslog_timestamp metadata.event_timestamp Als MMM dd yyyy HH:mm:ss.SSS geparst
has_principal metadata.event_type Zugeordnet: true → USER_LOGOUT, true → STATUS_UPDATE, true → NETWORK_CONNECTION
has_user metadata.event_type Zugeordnet: true → USER_UNCATEGORIZED
cid metadata.product_log_id Direkt zugeordnet
temp_cid metadata.product_log_id Direkt zugeordnet
temp_service metadata.product_log_id Direkt zugeordnet
UserType network.application_protocol Zugeordnet: (?i)SSH → SSH
Method network.http.method Direkt zugeordnet
SessionId network.session_id Direkt zugeordnet
devid principal.asset.asset_id Direkt zugeordnet
SourceAddress principal.asset.ip Zusammengeführt
host principal.asset.ip Zugeordnet: ^(?:[0-9]{1,3}[.]){3}[0-9]{1,3}$ → host
Ip principal.ip Zusammengeführt
RemoteIp principal.ip Zusammengeführt
SourceAddress principal.ip Zusammengeführt
host principal.ip Zugeordnet: ^(?:[0-9]{1,3}[.]){3}[0-9]{1,3}$ → host
MacAddress principal.mac Zusammengeführt
mac_address principal.mac Zusammengeführt
cmd principal.process.command_line Direkt zugeordnet
ProcessId principal.process.pid Direkt zugeordnet
VpnName principal.resource.name Direkt zugeordnet
temp_oid principal.resource.product_object_id Direkt zugeordnet
User principal.user.userid Direkt zugeordnet
UserName principal.user.userid Direkt zugeordnet
Reason security_result.description Direkt zugeordnet
severityName security_result.severity Zugeordnet: warning → MEDIUM
severityName security_result.severity_details Direkt zugeordnet
state security_result.severity_details Direkt zugeordnet
DestAddress target.asset.ip Zusammengeführt
DestAddress target.ip Zusammengeführt
Destination target.ip Zusammengeführt
LocalIp target.ip Zusammengeführt
temp_security target.resource.name Direkt zugeordnet
tty_type target.resource.name Direkt zugeordnet
Url target.url Direkt zugeordnet
– extensions.auth.type Konstante: AUTHTYPE_UNSPECIFIED
– metadata.event_type Konstante: USER_LOGOUT
– metadata.product_name Konstante: HUAWEI_SWITCH
– metadata.vendor_name Konstante: HUAWEI_SWITCH
– network.application_protocol Konstante: SSH
– security_result.severity Konstante: MEDIUM
UserAddress event.idm.read_only_udm.principal.ip und event.idm.read_only_udm.principal.asset.ip Aus Änderungsprotokoll zugeordnet
LocalAddress event.idm.read_only_udm.target.ip und event.idm.read_only_udm.target.asset.ip Aus Änderungsprotokoll zugeordnet
FailedReason event.idm.read_only_udm.security_result.description Aus Änderungsprotokoll zugeordnet
VPNInstanceName event.idm.read_only_udm.target.resource.name Aus Änderungsprotokoll zugeordnet
event_hostname event.idm.read_only_udm.target.hostname und event.idm.read_only_udm.target.asset.hostname Aus Änderungsprotokoll zugeordnet
desc_input event.idm.read_only_udm.metadata.description Aus Änderungsprotokoll zugeordnet
event_type_value event.idm.read_only_udm.metadata.product_event_type Aus Änderungsprotokoll zugeordnet
event_identifier_value event.idm.read_only_udm.metadata.product_event_type Aus Änderungsprotokoll zugeordnet
UserType event.idm.read_only_udm.additional.fields Aus Änderungsprotokoll zugeordnet
event_type event.idm.read_only_udm.additional.fields Aus Änderungsprotokoll zugeordnet
ServiceType event.idm.read_only_udm.target.application Aus Änderungsprotokoll zugeordnet
IPADDRESS event.idm.read_only_udm.principal.ip und event.idm.read_only_udm.principal.asset.ip Aus Änderungsprotokoll zugeordnet
InterfaceName event.idm.read_only_udm.additional.fields Aus Änderungsprotokoll zugeordnet
TrapThreshold event.idm.read_only_udm.additional.fields Aus Änderungsprotokoll zugeordnet
BandWidthUsage event.idm.read_only_udm.additional.fields Aus Änderungsprotokoll zugeordnet
UserName event.idm.read_only_udm.principal.user.userid Aus Änderungsprotokoll zugeordnet
SourceAddress event.idm.read_only_udm.principal.ip Aus Änderungsprotokoll zugeordnet
SourceAddress event.idm.read_only_udm.principal.asset.ip Aus Änderungsprotokoll zugeordnet
DestAddress event.idm.read_only_udm.target.ip Aus Änderungsprotokoll zugeordnet
DestAddress event.idm.read_only_udm.target.asset.ip Aus Änderungsprotokoll zugeordnet
Method event.idm.read_only_udm.network.http.method Aus Änderungsprotokoll zugeordnet
SessionId event.idm.read_only_udm.network.session_id Aus Änderungsprotokoll zugeordnet
Url event.idm.read_only_udm.target.url Aus Änderungsprotokoll zugeordnet
FragIndex event.idm.read_only_udm.additional.fields Aus Änderungsprotokoll zugeordnet
Accept event.idm.read_only_udm.additional.fields Aus Änderungsprotokoll zugeordnet
ContentType event.idm.read_only_udm.additional.fields Aus Änderungsprotokoll zugeordnet
Body event.idm.read_only_udm.additional.fields Aus Änderungsprotokoll zugeordnet
AssistantName event.idm.read_only_udm.additional.fields Aus Änderungsprotokoll zugeordnet
raw_syslog_timestamp event.idm.read_only_udm.metadata.event_timestamp Aus Änderungsprotokoll zugeordnet
raw_hostname event.idm.read_only_udm.intermediary.hostname Aus Änderungsprotokoll zugeordnet
mac_address event.idm.read_only_udm.principal.mac Aus Änderungsprotokoll zugeordnet
temp_oid event.idm.read_only_udm.principal.resource.product_object_id Aus Änderungsprotokoll zugeordnet
severity event.idm.read_only_udm.additional.fields Aus Änderungsprotokoll zugeordnet
facility event.idm.read_only_udm.additional.fields Aus Änderungsprotokoll zugeordnet
facilityName event.idm.read_only_udm.additional.fields Aus Änderungsprotokoll zugeordnet
severityName event.idm.read_only_udm.security_result.severity_details Aus Änderungsprotokoll zugeordnet
severityName event.idm.read_only_udm.security_result.severity Aus Änderungsprotokoll zugeordnet
DeviceType event.idm.read_only_udm.additional.fields Aus Änderungsprotokoll zugeordnet
syslog_timestamp event.idm.read_only_udm.metadata.event_timestamp Aus Änderungsprotokoll zugeordnet
devid event.idm.read_only_udm.principal.asset.asset_id Aus Änderungsprotokoll zugeordnet

Änderungsprotokoll

Änderungsprotokoll für diesen Parser ansehen

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