Raccogliere i log della piattaforma Nasuni File Services
Questo documento spiega come importare i log della piattaforma Nasuni File Services in Google Security Operations utilizzando un agente Bindplane. Il parser estrae i campi dai log SYSLOG e JSON. Utilizza pattern grok per analizzare il messaggio iniziale e poi sfrutta un filtro JSON per i dati JSON incorporati, mappando i campi estratti alla UDM, gestendo vari tipi di eventi come letture, modifiche ed eventi generici di file e arricchendo i dati con informazioni su fornitori e prodotti. Esegue anche la logica condizionale in base ai campi estratti per classificare gli eventi e compilare i metadati UDM.
Prima di iniziare
- Assicurati di avere un'istanza Google SecOps.
- Assicurati di utilizzare Windows 2016 o versioni successive oppure un host Linux con
systemd
. - Se l'esecuzione avviene tramite un proxy, assicurati che le porte del firewall siano aperte.
- Assicurati di disporre dell'accesso con privilegi a Claroty CTD.
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. Salva il file in modo sicuro sul sistema in cui verrà installato Bindplane.
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
Installazione di Windows
- Apri il prompt dei comandi o PowerShell come amministratore.
Esegui questo comando:
msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
Installazione di Linux
- Apri un terminale con privilegi di root o sudo.
Esegui questo comando:
sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
Risorse aggiuntive per l'installazione
- Per ulteriori opzioni di installazione, consulta questa guida all'installazione.
Configura l'agente Bindplane per importare Syslog e inviarli a Google SecOps
Accedi al file di configurazione:
- Individua il file
config.yaml
. In genere, si trova nella directory/etc/bindplane-agent/
su Linux o nella directory di installazione su Windows. - Apri il file utilizzando un editor di testo (ad esempio
nano
,vi
o Blocco note).
- Individua il file
Modifica il file
config.yaml
come segue: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
Sostituisci la porta e l'indirizzo IP in base alle esigenze della tua infrastruttura.
Sostituisci
<customer_id>
con l'ID cliente effettivo.Aggiorna
/path/to/ingestion-authentication-file.json
al percorso in cui è stato salvato il file di autenticazione nella sezione Recupera il file di autenticazione per l'importazione di Google SecOps.
Riavvia l'agente Bindplane per applicare le modifiche
Per riavviare l'agente Bindplane in Linux, esegui questo comando:
sudo systemctl restart bindplane-agent
Per riavviare l'agente Bindplane in Windows, puoi utilizzare la console Servizi o inserire il seguente comando:
net stop BindPlaneAgent && net start BindPlaneAgent
Configura Syslog nella piattaforma Nasuni File Service
- Accedi all'UI web della console Nasuni.
- Vai a Impostazioni console > Esportazioni Syslog.
- Inserisci i seguenti dettagli di configurazione nella sezione Rete:
- Nome host: inserisci un nome univoco e significativo (ad esempio, Google SecOps syslog).
- Indirizzo IP: inserisci l'indirizzo IP di Bindplane.
- Porta: inserisci il numero di porta di configurazione di Bindplane (ad esempio, 514 per UDP).
- Protocollo: seleziona UDP (puoi selezionare anche TCP, a seconda della configurazione di Bindplane).
- Formato: seleziona SYSLOG+JSON.
- Fai clic su Salva.
Tabella di mappatura UDM
Campo log | Mappatura UDM | Logic |
---|---|---|
application |
target.application |
Compilato quando il campo msg esiste e non è JSON e il campo application non è vuoto. |
event_type |
metadata.product_event_type |
Mappato direttamente dal campo event_type nel log non elaborato. |
gid |
target.group.product_object_id |
Mappato direttamente dal campo gid nel log non elaborato, convertito in stringa. |
groupname |
target.group.group_display_name |
Mappato direttamente dal campo groupname nel log non elaborato. |
host |
principal.hostname |
Mappato direttamente dal campo host nel log non elaborato. |
ipaddr |
principal.ip |
Mappato direttamente dal campo ipaddr nel log non elaborato. |
is_dir |
additional.fields.value.string_value (dove la chiave è is_dir ) |
Mappato direttamente dal campo is_dir nel log non elaborato, convertito in stringa. Aggiunto come campo aggiuntivo. |
msg |
metadata.description |
Compilato quando il campo msg esiste, non è JSON e ipaddr e prin_port non vengono estratti. Utilizzato anche per gli eventi STATUS_UPDATE. |
newpath |
additional.fields.value.string_value (dove la chiave è newpath ) |
Mappato direttamente dal campo newpath nel log non elaborato. Aggiunto come campo aggiuntivo. |
offset |
additional.fields.value.string_value (dove la chiave è offset ) |
Mappato direttamente dal campo offset nel log non elaborato, convertito in stringa. Aggiunto come campo aggiuntivo. |
path |
target.file.full_path |
Mappato direttamente dal campo path nel log non elaborato. |
pid |
target.process.pid |
Mappato direttamente dal campo pid nel log non elaborato, convertito in stringa. |
prin_port |
principal.port |
Estratto dal campo msg utilizzando grok quando msg non è JSON, convertito in numero intero. |
proc_id |
principal.process.pid |
Mappato direttamente dal campo proc_id nel log non elaborato. |
product_log_id |
metadata.product_log_id |
Mappato direttamente dal campo product_log_id nel log non elaborato. |
proto |
metadata.description |
Mappato direttamente dal campo proto nel log non elaborato. |
resource |
target.resource.resource_subtype |
Mappato direttamente dal campo resource nel log non elaborato. |
sequence |
additional.fields.value.string_value (dove la chiave è sequence ) |
Mappato direttamente dal campo sequence nel log non elaborato, convertito in stringa. Aggiunto come campo aggiuntivo. |
sid |
principal.user.windows_sid |
Mappato direttamente dal campo sid nel log non elaborato. |
tid |
target.resource.product_object_id |
Mappato direttamente dal campo tid nel log non elaborato, convertito in stringa. |
time |
metadata.event_timestamp.seconds , timestamp.seconds |
La parte dei secondi del timestamp viene estratta dal campo time e utilizzata per compilare sia metadata.event_timestamp sia timestamp di primo livello. Determinato dalla logica in base ai valori di ipaddr , path e event_type . Può essere FILE_READ , FILE_MODIFICATION , FILE_UNCATEGORIZED , STATUS_UPDATE o GENERIC_EVENT . Codificato in modo permanente su NASUNI_FILE_SERVICES . Codificato in modo permanente su Nasuni File Services Platform . Codificato in modo permanente su Nasuni . |
uid |
additional.fields.value.string_value (dove la chiave è uid ) |
Mappato direttamente dal campo uid nel log non elaborato, convertito in stringa. Aggiunto come campo aggiuntivo. |
username |
principal.user.user_display_name |
Mappato direttamente dal campo username nel log non elaborato. |
volume |
additional.fields.value.string_value (dove la chiave è volume ) |
Mappato direttamente dal campo volume nel log non elaborato. Aggiunto come campo aggiuntivo. |
Hai bisogno di ulteriore assistenza? Ricevi risposte dai membri della community e dai professionisti di Google SecOps.