NetApp ONTAP-Protokolle erfassen

Unterstützt in:

In diesem Dokument wird beschrieben, wie Sie die NetApp ONTAP-Protokolle über Syslog erfassen können. Der Parser extrahiert Felder aus syslog-Nachrichten mithilfe von regulären Ausdrücken. Die extrahierten Felder werden dann den entsprechenden UDM-Feldern (Unified Data Model) zugeordnet, wodurch Rohprotokolldaten effektiv in ein strukturiertes Format für die Sicherheitsanalyse umgewandelt werden.

Hinweis

  • Sie benötigen eine Google Security Operations-Instanz.
  • Sie müssen Windows 2016 oder höher oder einen Linux-Host mit systemd verwenden.
  • Wenn die Ausführung hinter einem Proxy erfolgt, müssen die Firewallports geöffnet sein.
  • Sie benötigen Administratorzugriff auf den NetApp ONTAP-Cluster.
  • Prüfen Sie, ob ONTAP mit dem Syslog-Server (Bindebene) kommunizieren kann.

Authentifizierungsdatei für die Aufnahme in Google SecOps abrufen

  1. Melden Sie sich in der Google SecOps Console an.
  2. Gehen Sie zu SIEM-Einstellungen > Erfassungsagenten.
  3. Lade die Datei zur Authentifizierung der Datenaufnahme 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 Console an.
  2. Gehen Sie zu SIEM-Einstellungen > Profil.
  3. Kopieren und speichern Sie die Kundennummer aus dem Bereich Organisationsdetails.

BindPlane-Agent installieren

Windows-Installation

  1. Öffnen Sie die Eingabeaufforderung oder die 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

BindPlane-Agent so konfigurieren, dass er Syslog-Protokolle aufnimmt und an Google SecOps sendet

  1. Rufen Sie die Konfigurationsdatei auf:

    • Suchen Sie die Datei config.yaml. Unter Linux befindet es sich normalerweise im Verzeichnis /etc/bindplane-agent/, 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 below port <54525> and IP <0.0.0.0> with your specific values
            listen_address: "0.0.0.0:54525" 
    
    exporters:
        chronicle/chronicle_w_labels:
            compression: gzip
            # Adjust the creds location below according the placement of the credentials file you downloaded
            creds: '{ json file for creds }'
            # Replace <customer_id> below with your actual ID that you copied
            customer_id: <customer_id>
            endpoint: malachiteingestion-pa.googleapis.com
            # You can apply ingestion labels below as preferred
            ingestion_labels:
            log_type: SYSLOG
            namespace: netapp_ontap
            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 Kundennummer.

  5. Aktualisieren Sie /path/to/ingestion-authentication-file.json im Abschnitt Authentifizierungsdatei für die Datenaufnahme von Google SecOps abrufen auf den Pfad, unter dem die Authentifizierungsdatei gespeichert wurde.

BindPlane-Agent neu starten, um die Änderungen anzuwenden

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

    sudo systemctl restart bindplane-agent
    
  • Unter Windows können Sie den BindPlane-Agenten entweder über die Konsole Dienste oder über den folgenden Befehl neu starten:

    net stop BindPlaneAgent && net start BindPlaneAgent
    

Syslog-Ziel in ONTAP konfigurieren

  1. Stellen Sie über SSH eine Verbindung zum ONTAP-Cluster her und ersetzen Sie <ontap-cluster-ip> durch die Verwaltungs-IP-Adresse Ihres ONTAP-Clusters:

    ssh admin@<ontap-cluster-ip>
    
  2. Prüfen Sie die vorhandenen Ereignisfilter und ‑benachrichtigungen:

    event filter show
    event notification show
    
  3. Erstellen Sie ein Syslog-Ziel und ersetzen Sie <syslog-server-ip> und <syslog-server-port> durch die Details Ihres Syslog-Servers (Bindplane):

    event notification destination create -name syslog-ems -syslog <syslog-server-ip> -syslog-port <syslog-server-port> -syslog-transport udp-unencrypted
    
  4. Weitere Optionen für -syslog-transport:

    • udp-unencrypted (Standard)
    • tcp-unencrypted
    • tcp-encrypted (für TLS).
  5. Prüfen Sie das Syslog-Ziel:

    event notification destination show
    

Vorhandene Ereignisfilter konfigurieren

  • Verknüpfen Sie Standardfilter mit dem Syslog-Ziel:

    event notification create -filter-name no-info-debug-events -destinations syslog-ems
    event notification create -filter-name default-trap-events -destinations syslog-ems
    

Optional: Benutzerdefinierte Filter erstellen und konfigurieren

  1. Filter für Authentifizierungsereignisse (Anmeldungen/Abmeldungen): Hier werden Protokolle erfasst, deren Beschreibung mit „Anmelden“ oder „Abmelden“ übereinstimmt:

    event filter create -filter-name auth_events
    event filter rule add -filter-name auth_events -type include -message-name *login* -severity info
    event filter rule add -filter-name auth_events -type include -message-name *logout* -severity info
    
  2. Filter für Felder zur Sicherheitserkennung: Erfasst Protokolle zu nmsdk_language, nmsdk_platform, nmsdk_version und netapp_version:

    event filter create -filter-name security_fields
    event filter rule add -filter-name security_fields -type include -message-name *nmsdk_language* -severity info
    event filter rule add -filter-name security_fields -type include -message-name *nmsdk_platform* -severity info
    event filter rule add -filter-name security_fields -type include -message-name *nmsdk_version* -severity info
    event filter rule add -filter-name security_fields -type include -message-name *netapp_version* -severity info
    
  3. Filter für Logs nach Schweregrad: Erfasst Protokolle, deren Schweregrad als „Information“ eingestuft wurde:

    event filter create -filter-name severity_info
    event filter rule add -filter-name severity_info -type include -message-name * -severity info
    
  4. Filter für Netzwerkaktivitäten: Erfasst Protokolle mit „src_ip“ und „src_port“:

    event filter create -filter-name network_activity
    event filter rule add -filter-name network_activity -type include -message-name *src_ip* -severity info
    event filter rule add -filter-name network_activity -type include -message-name *src_port* -severity info
    
  5. Filter für Protokolle mit URL-Ziel: Hier werden Protokolle mit URL-Informationen erfasst:

    event filter create -filter-name url_target
    event filter rule add -filter-name url_target -type include -message-name *url* -severity info
    
  6. Jeden Filter auf das Syslog-Ziel anwenden:

    event notification create -filter-name auth_events -destinations syslog-ems
    event notification create -filter-name security_fields -destinations syslog-ems
    event notification create -filter-name severity_info -destinations syslog-ems
    event notification create -filter-name network_activity -destinations syslog-ems
    event notification create -filter-name url_target -destinations syslog-ems
    
  7. Benachrichtigungen prüfen:

    event notification show
    

UDM-Zuordnungstabelle

Logfeld UDM-Zuordnung Logik
Code Nicht zugeordnet
description metadata.description Mit einem Grok-Muster aus der Protokollnachricht extrahiert. Nur vorhanden, wenn die Beschreibung „Abmelden“ oder „Anmelden“ lautet.
intermediary_host intermediary.hostname Mit einem Grok-Muster aus der Protokollnachricht extrahiert.
nmsdk_language security_result.detection_fields.value Mit einem Grok-Muster aus der Protokollnachricht extrahiert. Dieser Wert wird einem detection_fields-Objekt mit „key“ = „nmsdk_language“ als „value“ hinzugefügt.
nmsdk_platform security_result.detection_fields.value Mit einem Grok-Muster aus der Protokollnachricht extrahiert. Dieser Wert wird einem detection_fields-Objekt mit „key“ = „nmsdk_platform“ als „value“ hinzugefügt.
nmsdk_version security_result.detection_fields.value Mit einem Grok-Muster aus der Protokollnachricht extrahiert. Dieser Wert wird einem detection_fields-Objekt mit „key“ = „nmsdk_version“ als „value“ hinzugefügt.
netapp_version security_result.detection_fields.value Mit einem Grok-Muster aus der Protokollnachricht extrahiert. Dieser Wert wird einem detection_fields-Objekt mit „key“ = „netapp_version“ als „value“ hinzugefügt.
product_event_type metadata.product_event_type Mit einem Grok-Muster aus der Protokollnachricht extrahiert.
security_result.summary security_result.summary Mit einem Grok-Muster aus der Protokollnachricht extrahiert.
die Ausprägung security_result.severity Legen Sie „INFORMATIONSMELDUNG“ fest, wenn die Wichtigkeit „info“ ist (Groß- und Kleinschreibung wird nicht berücksichtigt).
src_ip principal.ip Mit einem Grok-Muster aus der Protokollnachricht extrahiert.
src_port principal.port Mit einem Grok-Muster aus der Protokollnachricht extrahiert.
Status security_result.summary Mit einem Grok-Muster aus der Protokollnachricht extrahiert.
ts metadata.event_timestamp.seconds Wird mit einem Grok-Muster aus der Protokollnachricht extrahiert und in einen Zeitstempel umgewandelt.
URL target.url Mit einem Grok-Muster aus der Protokollnachricht extrahiert.
Nutzer target.user.userid Mit einem Grok-Muster aus der Protokollnachricht extrahiert.
extensions.auth.type Legen Sie „AUTHTYPE_UNSPECIFIED“ fest, wenn die Beschreibung „Abmelden“ oder „Anmelden“ lautet.
metadata.event_type Legen Sie „USER_LOGIN“ fest, wenn die Beschreibung „Anmelden“ lautet.
metadata.event_type Legen Sie „USER_LOGOUT“ fest, wenn die Beschreibung „Abmelden“ lautet.
metadata.event_type Legen Sie „SCAN_UNCATEGORIZED“ fest, wenn die Beschreibung nicht „Anmelden“ oder „Abmelden“ lautet.
metadata.log_type Legen Sie diesen Wert auf „NETAPP_ONTAP“ fest.
metadata.product_name Legen Sie diesen Wert auf „NETAPP_ONTAP“ fest.
metadata.vendor_name Legen Sie diesen Wert auf „NETAPP_ONTAP“ fest.
target.platform Legt „WINDOWS“ fest, wenn nmsdk_platform „windows“ enthält (Groß- und Kleinschreibung wird nicht berücksichtigt).

Änderungen

2023-04-03

  • Neu erstellter Parser.