Nutanix Prism-Logs erfassen
Übersicht
Dieser Parser verarbeitet Nutanix Prism-Logs und unterstützt sowohl JSON- als auch Syslog-Formate. Felder werden aus verschiedenen Logstrukturen extrahiert, in UDM normalisiert und 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 einen Proxy verwenden, 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 > Profil 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 dieser Installationsanleitung.
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.yaml
so: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_labels
Starten 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 |
IP-Adresse des Hosts. |
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 das 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 Anzeigen. 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 User-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