Digi-Modem-Logs erfassen

Unterstützt in:

In diesem Dokument wird beschrieben, wie Sie Digi Modems-Logs mit Bindplane in Google Security Operations aufnehmen. Der Parsercode extrahiert zuerst Felder wie Zeitstempel, Hostname, Produkttyp und Protokollinhalt aus DIGI_MODEMS-Syslog-Nachrichten mithilfe von Grok-Mustern. Anschließend werden die Inhalte weiter analysiert, um Anmeldeversuche (erfolgreich oder fehlgeschlagen) zu erkennen. Dabei werden Details wie Nutzer, IP-Adresse, Port und Protokolle extrahiert und schließlich in ein Unified Data Model-Schema (UDM) für die Sicherheitsanalyse übertragen.

Hinweise

Prüfen Sie, ob folgende Voraussetzungen erfüllt sind:

  • Google SecOps-Instanz
  • Windows 2016 oder höher oder ein Linux-Host mit systemd
  • Wenn die Ausführung hinter einem Proxy erfolgt, sind die Firewallports geöffnet.
  • Privilegierter Zugriff auf Digi Remote Manager oder die lokale Web-UI des Digi-Modems

Authentifizierungsdatei für die Aufnahme in Google SecOps 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.

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 sie 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_file_path: '/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
            log_type: 'DIGI_MODEMS'
            raw_log_field: body
            ingestion_labels:
    
    service:
        pipelines:
            logs/source0__chronicle_w_labels-0:
                receivers:
                    - udplog
                exporters:
                    - chronicle/chronicle_w_labels
    
    • Ersetzen Sie den Port und die IP-Adresse nach Bedarf in Ihrer Infrastruktur.
    • Ersetzen Sie <customer_id> durch die tatsächliche Kunden-ID.
    • 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

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

    sudo systemctl restart bindplane-agent
    
  2. Um den Bindplane-Agent unter Windows neu zu starten, können Sie entweder die Konsole Dienste verwenden oder den folgenden Befehl eingeben:

    net stop BindPlaneAgent && net start BindPlaneAgent
    

Syslog-Server auf dem Digi-Modem konfigurieren

  1. Melden Sie sich im Digi Remote Manager oder in der lokalen Digi Modem-Web-UI an.
  2. So greifen Sie mit Remote Manager auf die Gerätekonfiguration zu:
    • Suchen Sie das Gerät, für das Sie Syslog konfigurieren möchten.
    • Klicken Sie auf Geräte-ID > Einstellungen > Konfiguration.
  3. Rufen Sie die Gerätekonfiguration über die lokale Digi Modem-Web-UI auf:
    • Klicken Sie auf System > Konfiguration > Gerätekonfiguration.
  4. Gehe zu System > Protokoll.
  5. Klicken Sie, um die Serverliste zu maximieren.
  6. Klicken Sie auf Server hinzufügen +.
  7. Geben Sie die folgenden Konfigurationsdetails an:
    • Server: Geben Sie die IP-Adresse des Bindplane-Agents ein.
    • Wählen Sie die Ereigniskategorien aus, die an den Server gesendet werden sollen. Standardmäßig sind alle Ereigniskategorien aktiviert.
    • Syslog-Ausgangsport: Geben Sie die Portnummer des Bindplane-Agents ein (Standard ist 514).
    • Protokoll: Wählen Sie UDP aus.
  8. Klicken Sie auf Übernehmen.

Beispiellogs für unterstützte Digi-Modems

  • SYSLOG

    {
      "priority": 14,
      "timestamp": "Dec 28 17:27:45",
      "hostname": "host-device.router",
      "tag": "Eventlog",
      "message": "17:27:33, 28 Dec 2006,Login failure by Host: 10.0.0.25:23: CMD,Telnet"
    }
    
  • SYSLOG

    {
      "priority": 14,
      "timestamp": "May 25 11:03:55",
      "hostname": "internal-srv-01",
      "tag": "Eventlog",
      "message": "11:03:55, 25 May 2023,Login failure by sanitized_user: WEB"
    }
    
  • SYSLOG

    {
      "priority": 14,
      "timestamp": "Jun 11 23:58:26",
      "hostname": "internal-srv-01",
      "tag": "Eventlog",
      "message": "23:58:26, 11 Jun 2023,Login failure by GET /masked_path HTTP/1.0: CMD,Telnet"
    }
    
  • SYSLOG

    {
      "priority": 14,
      "timestamp": "Jun 19 19:52:19",
      "hostname": "gateway-device-02",
      "tag": "Eventlog",
      "message": "19:52:18, 19 Jun 2023,WEB Login OK by internal_admin lvl 0"
    }
    

UDM-Zuordnungstabelle

Logfeld UDM-Zuordnung Logik
content security_result.description Direkt aus dem Feld content nach der ersten Grok-Analyse zugeordnet.
http_method network.http.method Wird mit einem Grok-Muster aus dem Feld content extrahiert.
http_version network.application_protocol_version Wird mit einem Grok-Muster aus dem Feld content extrahiert.
Hostname principal.hostname Aus der Logmeldung mit einem Grok-Muster extrahiert.
ip target.ip Wird mit einem Grok-Muster aus dem Feld content extrahiert.
Port target.port Wird aus dem Feld content mit einem Grok-Muster extrahiert und in eine Ganzzahl umgewandelt.
Proto network.application_protocol Wird mit einem Grok-Muster aus dem Feld content extrahiert.
ts metadata.event_timestamp Wird aus der Lognachricht mithilfe eines Grok-Musters extrahiert und in einen Zeitstempel konvertiert.
Typ login_type_label.value Wird mit einem Grok-Muster aus dem Feld content extrahiert.
extensions.auth.type Wird durch die Parserlogik auf MACHINE festgelegt.
login_type_label.key Wird durch die Parserlogik auf Login type festgelegt.
metadata.event_type Wird durch das Vorhandensein bestimmter Felder wie ip oder user bestimmt und entsprechend auf NETWORK_CONNECTION oder USER_LOGIN festgelegt.
metadata.log_type Wird durch die Parserlogik auf DIGI_MODEMS festgelegt.
metadata.product_event_type Aus dem Feld product_type in der Log-Nachricht extrahiert.
metadata.product_name Wird durch die Parserlogik auf DIGI_MODEMS festgelegt.
metadata.vendor_name Wird durch die Parserlogik auf DIGI_MODEMS festgelegt.
security_result.action Wird durch das Vorhandensein von Login OK oder Login failure in der Nachricht bestimmt und auf ALLOW bzw. BLOCK gesetzt.
Nutzer target.user.userid Wird mit einem Grok-Muster aus dem Feld content extrahiert.

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