Raccogliere i log di Nutanix Prism
Panoramica
Questo parser elabora i log di Nutanix Prism, gestendo sia i formati JSON che syslog. Estrae i campi da varie strutture di log, li normalizza in UDM e arricchisce i dati con un contesto aggiuntivo, come informazioni utente, dettagli di rete e gravità della sicurezza. Il parser esegue anche azioni specifiche in base al metodo HTTP e al livello di log, classificando gli eventi in tipi di eventi UDM come USER_LOGIN, STATUS_UPDATE e GENERIC_EVENT.
Prima di iniziare
- Assicurati di avere un'istanza Google SecOps.
 - Assicurati di disporre dell'accesso con privilegi a Nutanix Prism Central.
 - Assicurati di avere un host Windows 2012 SP2 o versioni successive o Linux con systemd.
 - Se l'esecuzione avviene tramite un proxy, assicurati che le porte del firewall siano aperte.
 
Recuperare il file di autenticazione importazione di Google SecOps
- Accedi alla console Google SecOps.
 - Vai a Impostazioni SIEM > Agenti di raccolta.
 - Scarica il file di autenticazione importazione.
 
Recuperare l'ID cliente Google SecOps
- Accedi alla console Google SecOps.
 - Vai a Impostazioni SIEM > Profilo.
 - Copia e salva l'ID cliente dalla sezione Dettagli dell'organizzazione.
 
Installa l'agente Bindplane
- Per l'installazione di Windows, esegui il seguente script: 
msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet. - Per l'installazione di Linux, esegui lo script seguente: 
sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh. - Ulteriori opzioni di installazione sono disponibili in questa guida all'installazione.
 
Configura l'agente Bindplane per importare Syslog e inviarlo a Google SecOps
- Accedi alla macchina in cui è installato l'agente Bindplane.
 Modifica il file
config.yamlcome segue: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_labelsRiavvia Bindplane Agent per applicare le modifiche utilizzando il seguente comando:
sudo systemctl bindplane restart
Esportazione di Syslog da Nutanix Prism
- Accedi a Prism Central utilizzando un account con privilegi.
 - Seleziona Impostazioni di Prism Central dal menu.
 - Vai a Syslog Server.
 - Fai clic su + Configura server Syslog.
 - Specifica i valori per i parametri di input nella finestra di dialogo Server Syslog:
- Nome server: inserisci un nome per il server (ad esempio Server Bindplane di Google SecOps)
 - Indirizzo IP: inserisci l'IP dell'agente Bindplane.
 - Porta: inserisci la porta su cui Bindplane Agent è in ascolto.
 - Protocollo di trasporto: seleziona TCP.
 - Fai clic su Configura.
 
 - Fai clic su + Modifica nell'opzione Origini dati.
 - Specifica i valori per i parametri di input nella finestra di dialogo Origini dati e livello di gravità corrispondente:
- Seleziona API Audit, Audit e Flow.
 - Imposta il livello di gravità per ciascuno su 6 - Informazioni.
 - Fai clic su Salva.
 
 
Tabella di mappatura UDM
| Campo log | Mappatura UDM | Logic | 
|---|---|---|
@timestamp | 
metadata.event_timestamp | 
Il timestamp dell'evento viene analizzato dal campo @timestamp. Sono supportati i formati yyyy-MM-dd HH:mm:ss.SSS, yyyy-MM-ddTHH:mm:ssZ e ISO8601. | 
agent.id | 
observer.asset_id | 
Combinato con agent.type per formare l'ID risorsa osservatore nel formato "agent.type:agent.id". | 
agent.type | 
observer.application | 
L'applicazione utilizzata per l'osservazione. | 
agent.version | 
observer.platform_version | 
La versione dell'applicazione per l'osservatore. | 
alertUid | 
security_result.detection_fields.value | 
Il valore dell'UID dell'avviso viene mappato al campo value all'interno di detection_fields. key è impostato su "ID avviso". | 
api_version | 
metadata.product_version | 
La versione dell'API. | 
clientIp | 
principal.ip, principal.asset.ip | 
Indirizzo IP client. | 
client_type | 
principal.labels.value | 
Il valore del tipo di client. key è impostato su "client_type". | 
defaultMsg | 
metadata.description | 
Il messaggio predefinito. | 
entity_uuid | 
metadata.product_log_id | 
UUID entità. | 
http_method | 
network.http.method | 
Il metodo HTTP. Convertito in maiuscolo. | 
host.architecture | 
principal.asset.hardware.cpu_platform | 
L'architettura dell'host. | 
host.id | 
principal.asset_id | 
Con il prefisso "NUTANIX:" per creare l'ID risorsa principale. | 
host.ip | 
principal.ip, principal.asset.ip | 
Indirizzo IP host. | 
host.mac | 
principal.mac | 
Indirizzo MAC host. | 
host.os.kernel | 
principal.platform_patch_level | 
La versione del kernel del sistema operativo host. | 
host.os.platform | 
principal.platform | 
La piattaforma del sistema operativo host. Mappato a LINUX, WINDOWS, MAC o UNKNOWN_PLATFORM. | 
host.os.version | 
principal.platform_version | 
La versione del sistema operativo host. | 
input.type | 
network.ip_protocol | 
Il protocollo di rete. Mappato su "UDP" o "TCP". | 
log.source.address | 
principal.ip, principal.asset.ip, principal.port | 
Analizzato per estrarre l'IP e la porta di origine. | 
logstash.collect.host | 
observer.ip | 
L'indirizzo IP del raccoglitore Logstash. | 
logstash.collect.timestamp | 
metadata.collected_timestamp | 
Il timestamp di raccolta del log. | 
logstash.ingest.host | 
intermediary.hostname | 
Il nome host del server di importazione Logstash. | 
logstash.ingest.timestamp | 
metadata.ingested_timestamp | 
Timestamp di importazione del log. | 
logstash.irm_environment | 
principal.labels.value | 
Il valore dell'ambiente irm. key è impostato su "irm_environment". | 
logstash.irm_region | 
principal.labels.value | 
Il valore della regione IRM. key è impostato su "irm_region". | 
logstash.irm_site | 
principal.labels.value | 
Il valore del sito irm. key è impostato su "irm_site". | 
logstash.process.host | 
intermediary.hostname | 
Il nome host del server di elaborazione Logstash. | 
operationType | 
metadata.product_event_type | 
Il tipo di operazione. | 
originatingClusterUuid | 
additional.fields.value.string_value | 
L'UUID del cluster di origine. key è impostato su "UUID cluster di origine". | 
params.mac_address | 
target.mac | 
L'indirizzo MAC dai parametri. | 
params.requested_ip_address | 
target.ip, target.asset.ip | 
L'indirizzo IP richiesto dai parametri. | 
params.vm_name | 
target.resource.name | 
Il nome della VM dai parametri. | 
program | 
metadata.product_event_type | 
Il nome del programma. | 
rest_endpoint | 
target.url | 
L'endpoint REST. | 
sessionId | 
additional.fields.value.string_value | 
L'ID sessione. key è impostato su "ID sessione". | 
syslog_host | 
principal.hostname, principal.asset.hostname | 
Host Syslog. | 
timestamp | 
metadata.event_timestamp | 
Il timestamp dell'evento. | 
username | 
principal.user.user_display_name o principal.user.userid | 
Nome utente. Utilizzato come ID utente se http_method è "POST". | 
uuid | 
metadata.product_log_id | 
UUID. | 
| N/D | metadata.vendor_name | 
Codificato in modo permanente su "Nutanix_Prism". | 
| N/D | metadata.product_name | 
Codificato in modo permanente su "Nutanix_Prism". | 
| N/D | metadata.event_type | 
Determinato dalla logica del parser in base ai valori di has_principal, has_target, audit_log, network_set e http_method. Può essere GENERIC_EVENT, USER_LOGIN, STATUS_UPDATE, USER_RESOURCE_ACCESS, RESOURCE_CREATION, USER_RESOURCE_UPDATE_CONTENT o USER_RESOURCE_DELETION. | 
| N/D | metadata.log_type | 
Codificato su "NUTANIX_PRISM". | 
| N/D | extensions.auth.type | 
Imposta "AUTHTYPE_UNSPECIFIED" se metadata.event_type è USER_LOGIN. | 
| N/D | security_result.severity | 
Determinato dalla logica del parser in base a log_level e syslog_pri. Può essere CRITICAL, ERROR, HIGH, MEDIUM o INFORMATIONAL. | 
Hai bisogno di ulteriore assistenza? Ricevi risposte dai membri della community e dai professionisti di Google SecOps.