Nutanix Prism-Logs erfassen
Übersicht
Dieser Parser verarbeitet Nutanix Prism-Logs im JSON- und Syslog-Format. Es werden Felder aus verschiedenen Logstrukturen extrahiert, in das UDM normalisiert und die Daten mit zusätzlichem Kontext wie Nutzerinformationen, Netzwerkdetails und Sicherheitsrisiko angereichert. Der Parser führt auch bestimmte Aktionen basierend auf der HTTP-Methode und dem Log-Level aus und kategorisiert Ereignisse in UDM-Ereignistypen wie USER_LOGIN, STATUS_UPDATE und GENERIC_EVENT.
Hinweise
- Prüfen Sie, ob Sie eine Google SecOps-Instanz haben.
- Sie benötigen privilegierten Zugriff auf Nutanix Prism Central.
- Achten Sie darauf, dass Sie einen Windows 2012 SP2-Host oder höher oder einen Linux-Host mit systemd haben.
- Wenn Sie die Software hinter einem Proxy ausführen, müssen die Firewallports geöffnet sein.
Authentifizierungsdatei für die Aufnahme in Google SecOps abrufen
- Melden Sie sich in der Google SecOps-Konsole an.
- Rufen Sie die SIEM-Einstellungen > Collection Agents auf.
- Laden Sie die Authentifizierungsdatei für die Aufnahme herunter.
Google SecOps-Kundennummer abrufen
- Melden Sie sich in der Google SecOps-Konsole an.
- Rufen Sie die SIEM-Einstellungen > Profile auf.
- Kopieren und speichern Sie die Kunden-ID aus dem Bereich Organisationsdetails.
BindPlane-Agent installieren
- Führen Sie für die Windows-Installation das folgende Skript aus:
msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet. - Führen Sie für die Linux-Installation das folgende Skript aus:
sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh. - Weitere Installationsoptionen finden Sie in diesem Installationsleitfaden.
Bindplane-Agent so konfigurieren, dass Syslog-Daten aufgenommen und an Google SecOps gesendet werden
- Greifen Sie auf den Computer zu, auf dem der BindPlane-Agent installiert ist.
Bearbeiten Sie die Datei
config.yamlso:receivers: tcplog: # 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: Namespace raw_log_field: body service: pipelines: logs/source0__chronicle_w_labels-0: receivers: - tcplog exporters: - chronicle/chronicle_w_labelsStarten Sie den Bindplane-Agent neu, um die Änderungen zu übernehmen. Verwenden Sie dazu den folgenden Befehl:
sudo systemctl bindplane restart
Syslog aus Nutanix Prism exportieren
- Melden Sie sich mit einem privilegierten Konto in Prism Central an.
- Wählen Sie im Menü Prism Central Settings (Prism Central-Einstellungen) aus.
- Rufen Sie Syslog-Server auf.
- Klicken Sie auf + Syslog-Server konfigurieren.
- Geben Sie im Dialogfeld Syslog Servers (Syslog-Server) Werte für die Eingabeparameter an:
- Server Name (Servername): Geben Sie einen Namen für den Server ein, z. B. Google SecOps Bindplane Server.
- IP-Adresse: Geben Sie die IP-Adresse Ihres Bindplane-Agents ein.
- Port: Geben Sie den Port ein, den Bindplane Agent überwacht.
- Transport Protocol (Transportprotokoll): Wählen Sie TCP aus.
- Klicken Sie auf Konfigurieren.
- Klicken Sie bei der Option Datenquellen auf + Bearbeiten.
- Geben Sie im Dialogfeld Datenquellen und zugehöriger Schweregrad Werte für die Eingabeparameter an:
- Wählen Sie API-Audit, Audit und Flow aus.
- Legen Sie den Schweregrad für jede auf 6 – Information fest.
- Klicken Sie auf Speichern.
UDM-Zuordnungstabelle
| Logfeld | UDM-Zuordnung | Logik |
|---|---|---|
@timestamp |
metadata.event_timestamp |
Der Ereigniszeitstempel wird aus dem Feld @timestamp geparst. Die Formate yyyy-MM-dd HH:mm:ss.SSS, yyyy-MM-ddTHH:mm:ssZ und ISO8601 werden unterstützt. |
agent.id |
observer.asset_id |
Wird mit agent.type kombiniert, um die Observer-Asset-ID im Format „agent.type:agent.id“ zu bilden. |
agent.type |
observer.application |
Die für die Beobachtung verwendete Anwendung. |
agent.version |
observer.platform_version |
Die Version der Observer-Anwendung. |
alertUid |
security_result.detection_fields.value |
Der Wert der Benachrichtigungs-UID wird dem Feld value in detection_fields zugeordnet. key ist auf „Alert Uid“ festgelegt. |
api_version |
metadata.product_version |
Die API-Version. |
clientIp |
principal.ip, principal.asset.ip |
IP-Adresse des Clients. |
client_type |
principal.labels.value |
Der Wert des Clienttyps. key ist auf „client_type“ festgelegt. |
defaultMsg |
metadata.description |
Die Standardnachricht. |
entity_uuid |
metadata.product_log_id |
Entitäts-UUID. |
http_method |
network.http.method |
Die HTTP-Methode. In Großbuchstaben umgewandelt. |
host.architecture |
principal.asset.hardware.cpu_platform |
Die Architektur des Hosts. |
host.id |
principal.asset_id |
Mit „NUTANIX:“ als Präfix, um die Asset-ID des Hauptkontos zu erstellen. |
host.ip |
principal.ip, principal.asset.ip |
Host-IP-Adresse. |
host.mac |
principal.mac |
MAC-Adresse des Hosts. |
host.os.kernel |
principal.platform_patch_level |
Die Kernel-Version des Hostbetriebssystems. |
host.os.platform |
principal.platform |
Die Plattform des Hostbetriebssystems. Wird LINUX, WINDOWS, MAC oder UNKNOWN_PLATFORM zugeordnet. |
host.os.version |
principal.platform_version |
Die Version des Hostbetriebssystems. |
input.type |
network.ip_protocol |
Das Netzwerkprotokoll. Zugeordnet zu „UDP“ oder „TCP“. |
log.source.address |
principal.ip, principal.asset.ip, principal.port |
Geparsed, um die Quell-IP-Adresse und den Quellport zu extrahieren. |
logstash.collect.host |
observer.ip |
Die IP-Adresse des Logstash-Collectors. |
logstash.collect.timestamp |
metadata.collected_timestamp |
Der Zeitstempel, der angibt, wann das Log erfasst wurde. |
logstash.ingest.host |
intermediary.hostname |
Der Hostname des Logstash-Ingest-Servers. |
logstash.ingest.timestamp |
metadata.ingested_timestamp |
Der Zeitstempel, der angibt, wann der Log aufgenommen wurde. |
logstash.irm_environment |
principal.labels.value |
Der Wert der irm-Umgebung. key ist auf „irm_environment“ festgelegt. |
logstash.irm_region |
principal.labels.value |
Der Wert der Region für die Beeinträchtigung durch die Reichweite. key ist auf „irm_region“ festgelegt. |
logstash.irm_site |
principal.labels.value |
Der Wert der IRM-Website. key ist auf „irm_site“ festgelegt. |
logstash.process.host |
intermediary.hostname |
Der Hostname des Logstash-Verarbeitungsservers. |
operationType |
metadata.product_event_type |
Der Vorgangstyp. |
originatingClusterUuid |
additional.fields.value.string_value |
Die UUID des ursprünglichen Clusters. key ist auf „Originating Cluster Uuid“ (UUID des Ursprungsclusters) festgelegt. |
params.mac_address |
target.mac |
Die MAC-Adresse aus den Parametern. |
params.requested_ip_address |
target.ip, target.asset.ip |
Die angeforderte IP-Adresse aus den Parametern. |
params.vm_name |
target.resource.name |
Der VM-Name aus den Parametern. |
program |
metadata.product_event_type |
Der Name des Programms. |
rest_endpoint |
target.url |
Der REST-Endpunkt. |
sessionId |
additional.fields.value.string_value |
Die Sitzungs-ID. key ist auf „Sitzungs-ID“ festgelegt. |
syslog_host |
principal.hostname, principal.asset.hostname |
Syslog-Host. |
timestamp |
metadata.event_timestamp |
Der Zeitstempel des Ereignisses. |
username |
principal.user.user_display_name oder principal.user.userid |
Nutzername. Wird als Nutzer-ID verwendet, wenn http_method „POST“ ist. |
uuid |
metadata.product_log_id |
UUID. |
| – | metadata.vendor_name |
Fest codiert auf „Nutanix_Prism“. |
| – | metadata.product_name |
Fest codiert auf „Nutanix_Prism“. |
| – | metadata.event_type |
Wird durch die Parserlogik basierend auf den Werten von has_principal, has_target, audit_log, network_set und http_method bestimmt. Kann GENERIC_EVENT, USER_LOGIN, STATUS_UPDATE, USER_RESOURCE_ACCESS, RESOURCE_CREATION, USER_RESOURCE_UPDATE_CONTENT oder USER_RESOURCE_DELETION sein. |
| – | metadata.log_type |
Fest codiert auf „NUTANIX_PRISM“. |
| – | extensions.auth.type |
Wird auf „AUTHTYPE_UNSPECIFIED“ gesetzt, wenn metadata.event_type gleich USER_LOGIN ist. |
| – | security_result.severity |
Wird durch die Parserlogik basierend auf log_level und syslog_pri bestimmt. Kann CRITICAL, ERROR, HIGH, MEDIUM oder INFORMATIONAL sein. |
Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten