NetApp ONTAP-Protokolle erfassen
In diesem Dokument wird beschrieben, wie Sie die NetApp ONTAP-Logs über Syslog erfassen können. Der Parser extrahiert Felder aus Syslog-Nachrichten mithilfe regulärer Ausdrücke. Anschließend werden die extrahierten Felder den entsprechenden UDM-Feldern (Unified Data Model) zugeordnet. So werden Logrohdaten in ein strukturiertes Format für die Sicherheitsanalyse umgewandelt.
Hinweise
- Prüfen Sie, ob Sie eine Google Security Operations-Instanz haben.
- Achten Sie darauf, dass Sie Windows 2016 oder höher oder einen Linux-Host mit
systemd
verwenden. - Wenn Sie einen Proxy verwenden, müssen die Firewallports geöffnet sein.
- Prüfen Sie, ob Sie Administratorzugriff auf den NetApp ONTAP-Cluster haben.
- Achten Sie darauf, dass ONTAP mit dem Syslog-Server (Bindplane) kommunizieren kann.
Authentifizierungsdatei für die Aufnahme in Google SecOps abrufen
- Melden Sie sich in der Google SecOps-Konsole an.
- Rufen Sie SIEM-Einstellungen > Collection Agents auf.
- Laden Sie die Authentifizierungsdatei für die Aufnahme herunter. Speichern Sie die Datei sicher auf dem System, auf dem der BindPlane-Agent installiert wird.
Google SecOps-Kundennummer abrufen
- Melden Sie sich in der Google SecOps-Konsole an.
- Rufen Sie die SIEM-Einstellungen > „Profil“ auf.
- Kopieren und speichern Sie die Kunden-ID aus dem Bereich Organisationsdetails.
BindPlane-Agent installieren
Fenstereinbau
- Öffnen Sie die Eingabeaufforderung oder PowerShell als Administrator.
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
- Öffnen Sie ein Terminal mit Root- oder Sudo-Berechtigungen.
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 in diesem Installationsleitfaden.
BindPlane-Agent zum Erfassen von Syslog-Daten und Senden an Google SecOps konfigurieren
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).
- Suchen Sie die Datei
Bearbeiten Sie die Datei
config.yaml
so: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
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
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-Agent entweder über die Konsole Dienste neu starten oder den folgenden Befehl eingeben:
net stop BindPlaneAgent && net start BindPlaneAgent
Syslog-Ziel in ONTAP konfigurieren
Greifen Sie über SSH auf den ONTAP-Cluster zu und ersetzen Sie
<ontap-cluster-ip>
durch die Verwaltungs-IP Ihres ONTAP-Clusters:ssh admin@<ontap-cluster-ip>
Prüfen Sie die vorhandenen Ereignisfilter und Benachrichtigungen:
event filter show event notification show
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
Weitere Optionen für -syslog-transport:
- udp-unencrypted (Standard)
- tcp-unencrypted
- tcp-encrypted (für TLS).
Bestätigen Sie das Syslog-Ziel:
event notification destination show
Vorhandene Ereignisfilter konfigurieren
Standardfilter mit dem Syslog-Ziel verknüpfen:
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
Filter für Authentifizierungsereignisse (An- und Abmeldungen): Erfasst Logs, deren Beschreibung „Anmelden“ oder „Abmelden“ enthält:
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
Filter für Sicherheitserkennungsfelder: Erfasst Logs 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
Filter für Logs nach Schweregrad: Erfasst Logs mit dem Schweregrad „Informationen“:
event filter create -filter-name severity_info event filter rule add -filter-name severity_info -type include -message-name * -severity info
Filter für Netzwerkaktivitäten: Erfasst Logs 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
Filter für URL-Zielprotokolle: Erfasst Protokolle mit URL-Informationen:
event filter create -filter-name url_target event filter rule add -filter-name url_target -type include -message-name *url* -severity info
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
Benachrichtigungen überprüfen:
event notification show
UDM-Zuordnungstabelle
Logfeld | UDM-Zuordnung | Logik |
---|---|---|
Code | Nicht zugeordnet | |
description | metadata.description | Aus der Log-Nachricht mit einem Grok-Muster extrahiert. Nur vorhanden, wenn die Beschreibung „Abmelden“ oder „Anmelden“ lautet. |
intermediary_host | intermediary.hostname | Aus der Log-Nachricht mit einem Grok-Muster extrahiert. |
nmsdk_language | security_result.detection_fields.value | Aus der Log-Nachricht mit einem Grok-Muster extrahiert. Dieser Wert wird einem „detection_fields“-Objekt mit „key“ = „nmsdk_language“ als „value“ hinzugefügt. |
nmsdk_platform | security_result.detection_fields.value | Aus der Log-Nachricht mit einem Grok-Muster extrahiert. Dieser Wert wird als „value“ einem „detection_fields“-Objekt mit „key“ = „nmsdk_platform“ hinzugefügt. |
nmsdk_version | security_result.detection_fields.value | Aus der Log-Nachricht mit einem Grok-Muster extrahiert. Dieser Wert wird einem „detection_fields“-Objekt mit „key“ = „nmsdk_version“ als „value“ hinzugefügt. |
netapp_version | security_result.detection_fields.value | Aus der Log-Nachricht mit einem Grok-Muster extrahiert. Dieser Wert wird als „value“ einem detection_fields-Objekt mit „key“ = „netapp_version“ hinzugefügt. |
product_event_type | metadata.product_event_type | Aus der Log-Nachricht mit einem Grok-Muster extrahiert. |
security_result.summary | security_result.summary | Aus der Log-Nachricht mit einem Grok-Muster extrahiert. |
die Ausprägung | security_result.severity | Auf „INFORMATIONAL“ setzen, wenn die Schwere „info“ (Groß-/Kleinschreibung wird nicht berücksichtigt) ist. |
src_ip | principal.ip | Aus der Log-Nachricht mit einem Grok-Muster extrahiert. |
src_port | principal.port | Aus der Log-Nachricht mit einem Grok-Muster extrahiert. |
Status | security_result.summary | Aus der Log-Nachricht mit einem Grok-Muster extrahiert. |
ts | metadata.event_timestamp.seconds | Wird aus der Lognachricht mithilfe eines Grok-Musters extrahiert und in einen Zeitstempel umgewandelt. |
URL | target.url | Aus der Log-Nachricht mit einem Grok-Muster extrahiert. |
Nutzer | target.user.userid | Aus der Log-Nachricht mit einem Grok-Muster extrahiert. |
extensions.auth.type | Auf „AUTHTYPE_UNSPECIFIED“ festlegen, wenn die Beschreibung „Abmelden“ oder „Anmelden“ lautet. | |
metadata.event_type | Auf „USER_LOGIN“ festgelegt, wenn die Beschreibung „Anmelden“ lautet. | |
metadata.event_type | Auf „USER_LOGOUT“ festgelegt, wenn die Beschreibung „Abmelden“ lautet. | |
metadata.event_type | Auf „SCAN_UNCATEGORIZED“ festlegen, 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 | Wird auf „WINDOWS“ festgelegt, wenn „nmsdk_platform“ „windows“ enthält (Groß-/Kleinschreibung wird nicht beachtet). |
Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten