Raccogliere i log di Tableau
Questo documento spiega come importare i log di Tableau in Google Security Operations utilizzando Bindplane.
Tableau è una piattaforma di business intelligence e visualizzazione dei dati che genera log di attività utente, autenticazione e controllo. Tableau Server archivia i file di log nel file system del server, rendendo la raccolta basata su file ideale per l'importazione.
Prima di iniziare
Assicurati di soddisfare i seguenti prerequisiti:
- Un'istanza Google SecOps
- Windows Server 2016 o versioni successive oppure host Linux con
systemd - Connettività di rete tra l'agente Bindplane e l'host di Tableau Server
- Se l'agente viene eseguito dietro un proxy, assicurati che le porte del firewall siano aperte in base ai requisiti dell'agente Bindplane
- Accesso privilegiato a Tableau Server con autorizzazioni di amministratore
- Accesso ai file di log di Tableau Server sul file system del server
Recuperare il file di autenticazione dell'importazione di Google SecOps
- Accedi alla console Google SecOps.
- Vai a Impostazioni SIEM > Agenti di raccolta.
Scarica il file di autenticazione dell'acquisizione. 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
Installa l'agente Bindplane sul sistema operativo Windows o Linux seguendo le istruzioni riportate di seguito.
Installazione di Windows
- Apri 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" /quietAttendi il completamento dell'installazione.
Verifica l'installazione eseguendo:
sc query observiq-otel-collector
Il servizio dovrebbe essere visualizzato come IN ESECUZIONE.
Installazione di Linux
- Apri un terminale con privilegi 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.shAttendi il completamento dell'installazione.
Verifica l'installazione eseguendo:
sudo systemctl status observiq-otel-collector
Il servizio dovrebbe essere visualizzato come attivo (in esecuzione).
Risorse aggiuntive per l'installazione
Per ulteriori opzioni di installazione e risoluzione dei problemi, consulta la guida all'installazione dell'agente Bindplane.
Configura l'agente Bindplane per importare syslog e inviarli a Google SecOps
Individua il file di configurazione
Linux:
sudo nano /etc/bindplane-agent/config.yamlWindows:
notepad "C:\Program Files\observIQ OpenTelemetry Collector\config.yaml"
Modifica il file di configurazione
Sostituisci l'intero contenuto di
config.yamlcon la seguente configurazione:receivers: filelog: include: - /var/opt/tableau/tableau_server/data/tabsvc/logs/httpd/access.*.log - /var/opt/tableau/tableau_server/data/tabsvc/logs/vizqlserver/*.log - /var/opt/tableau/tableau_server/data/tabsvc/logs/backgrounder/*.log start_at: beginning exporters: chronicle/tableau: compression: gzip creds_file_path: '/etc/bindplane-agent/ingestion-auth.json' customer_id: '<customer_id>' endpoint: malachiteingestion-pa.googleapis.com log_type: TABLEAU raw_log_field: body ingestion_labels: env: production service: pipelines: logs/tableau_to_chronicle: receivers: - filelog exporters: - chronicle/tableau
Parametri di configurazione
Sostituisci i seguenti segnaposto:
Configurazione del ricevitore:
filelog: Il tipo di ricevitore per la raccolta dei file di log dal discoinclude: elenco di percorsi di file o pattern glob da monitorare:- Linux:
/var/opt/tableau/tableau_server/data/tabsvc/logs/ - Windows:
C:\ProgramData\Tableau\Tableau Server\data\tabsvc\logs\ - I file di log chiave includono
httpd/access.*.log(log di accesso Apache),vizqlserver/*.log(log del server VizQL) ebackgrounder/*.log(log delle attività in background). - Modifica i percorsi in modo che corrispondano all'installazione di Tableau Server
- Linux:
start_at: imposta subeginningper leggere i file di log esistenti dall'inizio o suendper leggere solo le nuove voci.
Configurazione dell'esportatore:
tableau: Nome descrittivo per l'esportatorecreds_file_path: percorso completo del file di autenticazione dell'acquisizione:- Linux:
/etc/bindplane-agent/ingestion-auth.json - Windows:
C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
- Linux:
<customer_id>: l'ID cliente del passaggio precedenteendpoint: URL endpoint regionale:- Stati Uniti:
malachiteingestion-pa.googleapis.com - Europa:
europe-malachiteingestion-pa.googleapis.com - Asia:
asia-southeast1-malachiteingestion-pa.googleapis.com - Per un elenco completo, vedi Endpoint regionali.
- Stati Uniti:
TABLEAU: Tipo di log esattamente come appare in Chronicleingestion_labels: Etichette facoltative in formato YAML (ad esempio,env: production)
Configurazione pipeline:
* tableau_to_chronicle: nome descrittivo della pipeline
Salvare il file di configurazione
- Dopo la modifica, salva il file:
- Linux: premi
Ctrl+O, poiEntere infineCtrl+X. - Windows: fai clic su File > Salva.
- Linux: premi
Riavvia l'agente Bindplane per applicare le modifiche
Per riavviare l'agente Bindplane in Linux:
Esegui questo comando:
sudo systemctl restart observiq-otel-collectorVerifica che il servizio sia in esecuzione:
sudo systemctl status observiq-otel-collectorControlla i log per individuare eventuali errori:
sudo journalctl -u observiq-otel-collector -f
Per riavviare l'agente Bindplane in Windows:
Scegli una delle seguenti opzioni:
- Prompt dei comandi o PowerShell come amministratore:
net stop observiq-otel-collector && net start observiq-otel-collector- Console dei servizi:
- Premi
Win+R, digitaservices.msce premi Invio. - Individua observIQ OpenTelemetry Collector.
- Fai clic con il tasto destro del mouse e seleziona Riavvia.
- Premi
Verifica che il servizio sia in esecuzione:
sc query observiq-otel-collectorControlla i log per individuare eventuali errori:
type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
Verifica le posizioni dei file di log di Tableau Server
- Accedi all'host di Tableau Server con privilegi di amministratore.
- Verifica le directory dei file di log:
- Linux:
/var/opt/tableau/tableau_server/data/tabsvc/logs/ - Windows:
C:\ProgramData\Tableau\Tableau Server\data\tabsvc\logs\
- Linux:
- Sottodirectory e file di log delle chiavi:
httpd/access.*.log: log di accesso Apache con i dettagli della richiesta HTTPvizqlserver/*.log: log del server VizQL con attività di query di visualizzazionebackgrounder/*.log: Log delle attività in background con attività di job programmati
(Facoltativo) Genera un archivio log utilizzando lo strumento a riga di comando TSM per la verifica:
tsm maintenance ziplogs -a -t -o -f tableau-logs.zipAggiorna i percorsi
includenell'agente Bindplaneconfig.yamlse la directory dei log è diversa da quella predefinita.
Tabella di mappatura UDM
| Campo log | Mappatura UDM | Logica |
|---|---|---|
| dataserver_permissions, local_dataserver, saved_credentials_viewerid, locale, server_oauth, :id, server_viewerid, dataserver_version, tablename, ElapsedTime, LastStatus, Timeszone | additional.fields | Coppie chiave-valore unite dai campi specificati |
| Contenuti | metadata.description | Valore copiato subito dopo la rimozione di "_" |
| ID, RemoteHost | metadata.event_type | Impostato su USER_UNCATEGORIZED se l'ID non è vuoto, STATUS_UPDATE se è presente RemoteHost, GENERIC_EVENT altrimenti |
| protocollo | network.application_protocol | Valore copiato direttamente |
| http_version | network.application_protocol_version | Valore copiato direttamente |
| metodo | network.http.method | Valore copiato subito dopo la rimozione di "" |
| SizeBytes | network.received_bytes | Convertito in uinteger |
| session_id | network.session_id | Valore copiato direttamente |
| Workername | principal.asset.hostname | Valore copiato direttamente |
| RemoteHost | principal.asset.ip | Valore copiato direttamente |
| Workername | principal.hostname | Valore copiato direttamente |
| RemoteHost | principal.ip | Valore copiato direttamente |
| Porta | principal.nat_port | Convertito in numero intero |
| ID | principal.user.product_object_id | Valore copiato direttamente |
| RemoteUser | principal.user.userid | Il valore viene copiato direttamente se non è vuoto o "_" |
| logging_ctx | security_result.detection_fields | Coppia chiave-valore unita da logging_ctx |
| percorso | target.file.full_path | Valore copiato direttamente |
| dbname | target.resource.name | Valore copiato direttamente |
| metadata.product_name | Impostato su "Tableau" | |
| metadata.vendor_name | Impostato su "TABLEAU" | |
temp_user |
event.idm.read_only_udm.principal.user.userid |
Mappato dal log delle modifiche |
user_name |
event.idm.read_only_udm.principal.user.userid |
Mappato dal log delle modifiche |
temp_domain |
event.idm.read_only_udm.principal.administrative_domain |
Mappato dal log delle modifiche |
temp_role |
event.idm.read_only_udm.principal.user.attribute.roles |
Mappato dal log delle modifiche |
source_info |
event.idm.read_only_udm.additional.fields |
Mappato dal log delle modifiche |
user_application |
event.idm.read_only_udm.principal.application |
Mappato dal log delle modifiche |
temp_http_uri |
event.idm.read_only_udm.target.url |
Mappato dal log delle modifiche |
temp_api_call |
event.idm.read_only_udm.target.url |
Mappato dal log delle modifiche |
temp_site_id |
event.idm.read_only_udm.target.resource.name |
Mappato dal log delle modifiche |
java_method |
event.idm.read_only_udm.target.resource.name |
Mappato dal log delle modifiche |
java_class |
event.idm.read_only_udm.target.resource.type |
Mappato dal log delle modifiche |
temp_http_method |
event.idm.read_only_udm.network.http.method |
Mappato dal log delle modifiche |
temp_http_status |
event.idm.read_only_udm.network.http.response_code |
Mappato dal log delle modifiche |
"Computer" |
event.idm.read_only_udm.principal.hostname |
Mappato dal log delle modifiche |
"TimeGenerated" |
event.idm.read_only_udm.security_result.first_discovered_time |
Mappato dal log delle modifiche |
"_TimeReceived" |
event.idm.read_only_udm.security_result.last_discovered_time |
Mappato dal log delle modifiche |
"_IsBillable" |
event.idm.read_only_udm.additional.fields |
Mappato dal log delle modifiche |
"_BilledSize" |
event.idm.read_only_udm.additional.fields |
Mappato dal log delle modifiche |
"_Internal_WorkspaceResourceId" |
event.idm.read_only_udm.additional.fields |
Mappato dal log delle modifiche |
"_ItemId" |
event.idm.read_only_udm.additional.fields |
Mappato dal log delle modifiche |
"TenantId" |
event.idm.read_only_udm.additional.fields |
Mappato dal log delle modifiche |
"_SubscriptionId" |
event.idm.read_only_udm.additional.fields |
Mappato dal log delle modifiche |
"_ResourceId" |
event.idm.read_only_udm.principal.resource.id |
Mappato dal log delle modifiche |
"FilePath" |
event.idm.read_only_udm.additional.fields |
Mappato dal log delle modifiche |
"Type" |
event.idm.read_only_udm.additional.fields |
Mappato dal log delle modifiche |
"temp_message" |
event.idm.read_only_udm.metadata.description |
Mappato dal log delle modifiche |
"temp_logger_name" |
event.idm.read_only_udm.principal.application |
Mappato dal log delle modifiche |
"temp_pid" |
event.idm.read_only_udm.principal.process.pid |
Mappato dal log delle modifiche |
"temp_thread_name" |
event.idm.read_only_udm.principal.process.file.full_path |
Mappato dal log delle modifiche |
"temp_log_level" |
event.idm.read_only_udm.security_result.severity |
Mappato dal log delle modifiche |
appname |
event.idm.read_only_udm.metadata.product_event_type |
Mappato dal log delle modifiche |
id2 |
event.idm.read_only_udm.metadata.product_log_id |
Mappato dal log delle modifiche |
pid |
event.idm.read_only_udm.observer.process.pid |
Mappato dal log delle modifiche |
timestamp |
event.idm.read_only_udm.metadata.event_timestamp |
Mappato dal log delle modifiche |
user |
event.idm.read_only_udm.principal.user.userid |
Mappato dal log delle modifiche |
id1 |
event.idm.read_only_udm.network.session_id |
Mappato dal log delle modifiche |
logger |
event.idm.read_only_udm.observer.process.command_line |
Mappato dal log delle modifiche |
loglevel |
event.idm.read_only_udm.security_result.severity |
Mappato dal log delle modifiche |
user_id |
event.idm.read_only_udm.target.user.userid |
Mappato dal log delle modifiche |
site_id |
event.idm.read_only_udm.target.resource.id |
Mappato dal log delle modifiche |
message |
event.idm.read_only_udm.metadata.description |
Mappato dal log delle modifiche |
script_type |
event.idm.read_only_udm.target.resource.name |
Mappato dal log delle modifiche |
id3 |
event.idm.read_only_udm.additional.fields |
Mappato dal log delle modifiche |
thread |
event.idm.read_only_udm.additional.fields |
Mappato dal log delle modifiche |
function_name |
event.idm.read_only_udm.security_result.summary |
Mappato dal log delle modifiche |
Log delle modifiche
Visualizza il log delle modifiche per questo parser
Hai bisogno di ulteriore assistenza? Ricevi risposte dai membri della community e dai professionisti di Google SecOps.