Nasuni File Services Platform-Protokolle erfassen
In diesem Dokument wird beschrieben, wie Sie Logs der Nasuni File Services Platform mithilfe eines Bindplane-Agents in Google Security Operations aufnehmen. Der Parser extrahiert Felder aus SYSLOG- und JSON-Protokollen. Dabei werden Grok-Muster verwendet, um die ursprüngliche Nachricht zu parsen, und dann ein JSON-Filter für eingebettete JSON-Daten. Die extrahierten Felder werden dem UDM zugeordnet, verschiedene Ereignistypen wie Dateilesevorgänge, Änderungen und generische Ereignisse werden verarbeitet und die Daten werden mit Anbieter- und Produktinformationen angereichert. Außerdem wird bedingte Logik auf Grundlage extrahierter Felder ausgeführt, um Ereignisse zu kategorisieren und UDM-Metadaten zu füllen.
Hinweise
- Sie benötigen eine Google SecOps-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 erhöhte Zugriffsrechte für Claroty CTD.
Authentifizierungsdatei für die Aufnahme in Google SecOps abrufen
- Melden Sie sich in der Google SecOps Console an.
- Gehen Sie zu SIEM-Einstellungen > Erfassungsagenten.
- 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
- Melden Sie sich in der Google SecOps Console an.
- Gehen Sie zu SIEM-Einstellungen > Profil.
- Kopieren und speichern Sie die Kundennummer aus dem Bereich Organisationsdetails.
Bindplane-Agent installieren
Windows-Installation
- Öffnen Sie die Eingabeaufforderung oder die 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
Weitere Installationsressourcen
- Weitere Installationsoptionen finden Sie in diesem Installationsleitfaden.
Bindplane-Agent so konfigurieren, dass er Syslog-Daten aufnimmt und an Google SecOps sendet
Rufen Sie die Konfigurationsdatei auf:
- 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 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: '/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: NASUNI_FILE_SERVICES 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 Kundennummer.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.
Starten Sie den Bindplane-Agent neu, um die Änderungen anzuwenden
Führen Sie den folgenden Befehl aus, um den Bindplane-Agenten unter Linux neu zu starten:
sudo systemctl restart bindplane-agent
Sie können den Bindplane-Agenten unter Windows entweder über die Dienste-Konsole oder mit dem folgenden Befehl neu starten:
net stop BindPlaneAgent && net start BindPlaneAgent
Syslog in der Nasuni File Service-Plattform konfigurieren
- Melden Sie sich in der Web-UI der Nasuni Console an.
- Gehen Sie zu Konsoleneinstellungen > Syslog-Exporte.
- Geben Sie im Abschnitt „Netzwerk“ die folgenden Konfigurationsdetails ein:
- Hostname: Geben Sie einen eindeutigen und aussagekräftigen Namen ein, z. B. Google SecOps-Syslog.
- IP-Adresse: Geben Sie die Bindplane-IP-Adresse ein.
- Port: Geben Sie die Bindplane-Konfigurationsportnummer ein (z. B. 514 für UDP).
- Protokoll: Wählen Sie UDP aus. Je nach Bindplane-Konfiguration können Sie auch TCP auswählen.
- Format: Wählen Sie SYSLOG+JSON aus.
- Klicken Sie auf Speichern.
UDM-Zuordnungstabelle
Logfeld | UDM-Zuordnung | Logik |
---|---|---|
application |
target.application |
Wird ausgefüllt, wenn das Feld msg vorhanden ist und kein JSON-Objekt ist und das Feld application nicht leer ist. |
event_type |
metadata.product_event_type |
Direkt aus dem Feld event_type im Rohprotokoll zugeordnet. |
gid |
target.group.product_object_id |
Direkt aus dem Feld gid im Rohprotokoll zugeordnet und in einen String umgewandelt. |
groupname |
target.group.group_display_name |
Direkt aus dem Feld groupname im Rohprotokoll zugeordnet. |
host |
principal.hostname |
Direkt aus dem Feld host im Rohprotokoll zugeordnet. |
ipaddr |
principal.ip |
Direkt aus dem Feld ipaddr im Rohprotokoll zugeordnet. |
is_dir |
additional.fields.value.string_value (wobei „key“ is_dir ist) |
Direkt aus dem Feld is_dir im Rohprotokoll zugeordnet und in einen String umgewandelt. Als zusätzliches Feld hinzugefügt. |
msg |
metadata.description |
Wird ausgefüllt, wenn das Feld msg vorhanden ist, kein JSON-Format hat und ipaddr und prin_port nicht daraus extrahiert werden. Wird auch für STATUS_UPDATE-Ereignisse verwendet. |
newpath |
additional.fields.value.string_value (wobei „key“ newpath ist) |
Direkt aus dem Feld newpath im Rohprotokoll zugeordnet. Als zusätzliches Feld hinzugefügt. |
offset |
additional.fields.value.string_value (wobei „key“ offset ist) |
Direkt aus dem Feld offset im Rohprotokoll zugeordnet und in einen String umgewandelt. Als zusätzliches Feld hinzugefügt. |
path |
target.file.full_path |
Direkt aus dem Feld path im Rohprotokoll zugeordnet. |
pid |
target.process.pid |
Direkt aus dem Feld pid im Rohprotokoll zugeordnet und in einen String umgewandelt. |
prin_port |
principal.port |
Wird mithilfe von Grok aus dem Feld msg extrahiert, wenn msg kein JSON-Objekt ist, und in eine Ganzzahl konvertiert. |
proc_id |
principal.process.pid |
Direkt aus dem Feld proc_id im Rohprotokoll zugeordnet. |
product_log_id |
metadata.product_log_id |
Direkt aus dem Feld product_log_id im Rohprotokoll zugeordnet. |
proto |
metadata.description |
Direkt aus dem Feld proto im Rohprotokoll zugeordnet. |
resource |
target.resource.resource_subtype |
Direkt aus dem Feld resource im Rohprotokoll zugeordnet. |
sequence |
additional.fields.value.string_value (wobei „key“ sequence ist) |
Direkt aus dem Feld sequence im Rohprotokoll zugeordnet und in einen String umgewandelt. Als zusätzliches Feld hinzugefügt. |
sid |
principal.user.windows_sid |
Direkt aus dem Feld sid im Rohprotokoll zugeordnet. |
tid |
target.resource.product_object_id |
Direkt aus dem Feld tid im Rohprotokoll zugeordnet und in einen String umgewandelt. |
time |
metadata.event_timestamp.seconds , timestamp.seconds |
Der Sekundenteil des Zeitstempels wird aus dem Feld time extrahiert und sowohl in metadata.event_timestamp als auch in timestamp auf oberster Ebene eingefügt. Wird durch Logik basierend auf den Werten von ipaddr , path und event_type bestimmt. Kann FILE_READ , FILE_MODIFICATION , FILE_UNCATEGORIZED , STATUS_UPDATE oder GENERIC_EVENT sein. Hartcodiert auf NASUNI_FILE_SERVICES . Hartcodiert auf Nasuni File Services Platform . Hartcodiert auf Nasuni . |
uid |
additional.fields.value.string_value (wobei „key“ uid ist) |
Direkt aus dem Feld uid im Rohprotokoll zugeordnet und in einen String umgewandelt. Als zusätzliches Feld hinzugefügt. |
username |
principal.user.user_display_name |
Direkt aus dem Feld username im Rohprotokoll zugeordnet. |
volume |
additional.fields.value.string_value (wobei „key“ volume ist) |
Direkt aus dem Feld volume im Rohprotokoll zugeordnet. Als zusätzliches Feld hinzugefügt. |
Änderungen
2022-08-21
newpath
wurdeadditional.fields
zugeordnet.
2022-08-08
Optimierung:
- Es wurde ein Grok-Muster hinzugefügt, um neue SYSLOG-Protokolle zu verarbeiten.
- Bedingte Prüfung für
event_type
FILE_UNCATEGORIZED
hinzugefügt. event_type
STATUS_UPDATE
wurde hinzugefügtapplication
wurdetarget.application
zugeordnet.prin_port
wurdeprincipal.port
zugeordnet.host
wurdeprincipal.hostname
zugeordnet.proc_id
wurdeprincipal.process.pid
zugeordnet.
2022-07-07
- Neu erstellter Parser.
Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten