Dell EMC Data Domain-Protokolle erfassen

Unterstützt in:

In diesem Dokument wird beschrieben, wie Sie Dell EMC Data Domain-Logs mit Bindplane in Google Security Operations aufnehmen. Der Logstash-Parsercode extrahiert zuerst Schlüsselfelder aus unformatierten DELL_EMC_DATA_DOMAIN-Logs mithilfe von Grok-Mustern, die auf dem Logmeldungsformat basieren. Anschließend werden die extrahierten Felder den entsprechenden Feldern im UDM-Schema (Unified Data Model) zugeordnet, um die Daten mit zusätzlichem Kontext wie Ereignistyp und Sicherheitsergebnis anzureichern.

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 Dell EMC Data Domain

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. Rufen Sie die Konfigurationsdatei auf:
    • 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
            ingestion_labels:
                log_type: 'DELL_EMC_DATA_DOMAIN'
                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
    
  • 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 für Dell EMC Data Domain konfigurieren

  1. Melden Sie sich über die Befehlszeile bei Dell EMC Data Domain an.
  2. Aktuelle Konfiguration anzeigen:

    log host show
    
  3. Senden von Protokollnachrichten an andere Systeme aktivieren:

    log host enable
    
  4. Fügen Sie dem Syslog die IP-Adresse des Bindplane-Agents mit dem folgenden Befehl hinzu. Ersetzen Sie <bindplane-ip> durch die tatsächliche IP-Adresse des Bindplane-Agents.

    log host add <bindplane-ip>
    
  5. Fügen Sie dem Syslog den Bindplane-Agent-Port mit dem folgenden Befehl hinzu. Ersetzen Sie <bindplane-port> durch die tatsächliche Portnummer des Bindplane-Agents.

    log server-port set <bindplane-port>
    

Unterstützte Dell EMC Data Domain-Beispiellogs

  • SYSLOG + KV

    <174>ddsh: {epoch=1649171401;id='AUDIT-DDSH-00001';desc='DDSH CLI command';level=3;user='dummy_user';role='se';app='ddsh';host='dd-host-1';detail='cmd=cifs show detailed-stats';}
    
  • SYSLOG

    <38>sshd[13244]: Accepted publickey for dd-admin from 192.0.2.1 port 57656 ssh2: RSA SHA256:+BWDxlMYuJgfC0LhzacEAUpFHlAZlNOYXAKKJ4SAipQ
    
    • JSON
    {
    "Timestamp": "2024-09-05T13:25:14Z",
    "EventName": "Participant left session",
    "EventType": "Session",
    "Username": "user_9999",
    "EventDetails": [
      {
        "OldValue": "",
        "NewValue": "1352719861",
        "PolicyEnforcementNewValue": null,
        "PolicyEnforcementOldValue": null,
        "PropertyName": "ID of affected participant",
        "PropertyCategory": "AffectedParticipant"
      },
      {
        "OldValue": "",
        "NewValue": "User Name 1",
        "PolicyEnforcementNewValue": null,
        "PolicyEnforcementOldValue": null,
        "PropertyName": "Name of affected participant",
        "PropertyCategory": "AffectedParticipant"
      }
    ],
    "Computer": "HOST-PC-400",
    "EventId": 35139395
    }
    
  • SYSLOG + XML

    <21>1 2024-08-01T12:31:40.791267+02:00 VEEM-HOST-01 Veeam_ONE_Server 7172 - [origin enterpriseId="31023"] Operation:"SendEmail" Email has been sent Data:<data><recipient>recipient@example.com</recipient><subject>VM resetting Information for Virtual Machine &quot;VM_RESTORED_2024&quot;</subject></data>
    

UDM-Zuordnungstabelle

Logfeld UDM-Zuordnung Logik
App read_only_udm.target.application Der Wert stammt aus dem Feld „app“, das vom ersten Grok-Parser extrahiert wurde.
CMD read_only_udm.target.process.command_line Der Wert wird aus dem Feld „cmd“ übernommen, das vom ersten Grok-Parser extrahiert wurde, oder aus dem Feld „detail“, wenn das Feld „cmd“ leer ist.
Ab read_only_udm.metadata.description Der Wert wird aus dem Feld „desc“ übernommen, das vom ersten Grok-Parser extrahiert wurde.
Epoche read_only_udm.metadata.event_timestamp.seconds Der Wert wird aus dem Feld „epoch“ übernommen und mit dem Filter „date“ in einen Zeitstempel konvertiert.
Host read_only_udm.principal.hostname Der Wert stammt aus dem Feld „host“, das vom ersten Grok-Parser extrahiert wurde.
id read_only_udm.metadata.product_event_type Der Wert stammt aus dem Feld „id“, das vom ersten Grok-Parser extrahiert wurde.
pid read_only_udm.target.process.pid Der Wert stammt aus dem Feld „pid“, das vom ersten Grok-Parser extrahiert wurde.
reason read_only_udm.security_result.description Der Wert wird aus dem Feld „reason“ übernommen, das vom ersten Grok-Parser extrahiert wurde.
Rolle read_only_udm.principal.user.attribute.roles.name Der Wert stammt aus dem Feld „role“, das vom ersten Grok-Parser extrahiert wurde.
session_id read_only_udm.network.session_id Der Wert wird aus dem Feld „session_id“ übernommen, das vom ersten Grok-Parser extrahiert wurde.
src_ip read_only_udm.principal.ip Der Wert stammt aus dem Feld „src_ip“, das vom zweiten Grok-Parser extrahiert wurde.
src_port read_only_udm.principal.port Der Wert wird aus dem Feld „src_port“ übernommen, das vom zweiten Grok-Parser extrahiert und in eine Ganzzahl konvertiert wird.
timestamp.nanos read_only_udm.metadata.event_timestamp.nanos Der Wert wird aus dem Feld „timestamp.nanos“ des Rohlogs übernommen.
timestamp.seconds read_only_udm.metadata.event_timestamp.seconds Der Wert wird aus dem Feld „timestamp.seconds“ des Rohlogs übernommen.
Nutzer read_only_udm.target.user.userid Der Wert wird aus dem Feld „user“ übernommen, das entweder vom ersten oder vom zweiten Grok-Parser extrahiert wird.
read_only_udm.extensions.auth.mechanism Der Wert wird auf „USERNAME_PASSWORD“ gesetzt, wenn das Feld „desc“ bestimmten Mustern entspricht, die sich auf Nutzeran- oder -abmeldeereignisse beziehen.
read_only_udm.metadata.event_type Der Wert wird durch eine Reihe von bedingten Anweisungen auf Grundlage der Werte anderer Felder bestimmt, hauptsächlich „desc“, „src_ip“ und „host“.
read_only_udm.metadata.log_type Fest codiert auf „DELL_EMC_DATA_DOMAIN“.
read_only_udm.metadata.product_name Fest codiert auf „DELL_EMC_DATA_DOMAIN“.
read_only_udm.metadata.vendor_name Fest codiert auf „DELL“.
read_only_udm.network.http.method Der Wert stammt aus dem Feld „method“, das vom KV-Filter extrahiert wurde.
read_only_udm.network.http.response_code Der Wert wird aus dem Feld „response_code“ übernommen, das vom KV-Filter extrahiert und in eine Ganzzahl konvertiert wird.
read_only_udm.network.ip_protocol Der Wert wird aus dem Feld „protocol_number_src“ mithilfe einer Lookup-Tabelle und der Konfiguration „parse_ip_protocol.include“ abgeleitet.
read_only_udm.security_result.severity Der Wert wird auf „MEDIUM“ festgelegt, wenn das Feld „message“ den String „NOTICE“ enthält.
read_only_udm.target.file.sha256 Der Wert wird aus dem Feld „sha256“ übernommen, das vom zweiten Grok-Parser extrahiert wurde, in Kleinbuchstaben konvertiert und als hexadezimale Zeichenfolge validiert.
read_only_udm.target.process.file.full_path Der Wert wird entweder aus dem Feld „path“ oder „file“ übernommen, je nachdem, welches nicht leer ist.
read_only_udm.target.url Der Wert wird aus dem Feld „uri“ übernommen, das vom KV-Filter extrahiert wurde.

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