Raccogliere i log di Pharos
Questo documento spiega come importare i log di Pharos in Google Security Operations utilizzando Bindplane.
Pharos è una piattaforma di gestione della stampa on-premise per il monitoraggio, il controllo e l'audit delle attività di stampa negli ambienti aziendali. Pharos Blueprint Enterprise archivia i dati dei processi di stampa, l'attività utente e gli eventi dei dispositivi in un database SQL Server.
Prima di iniziare
Assicurati di soddisfare i seguenti prerequisiti:
- Un'istanza Google SecOps
- Windows Server 2016 o versioni successive
- Connettività di rete tra l'agente Bindplane e il server Pharos Blueprint
- Se l'agente viene eseguito dietro un proxy, assicurati che le porte del firewall siano aperte in base ai requisiti dell'agente Bindplane
- Accesso amministrativo al server Pharos Blueprint
- Accesso al database SQL Server Pharos o alla console di generazione report dell'amministratore di Blueprint
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 seguendo queste istruzioni.
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.
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 i log e inviarli a Google SecOps
Individua il file di configurazione
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: - 'C:\Pharos\Exports\*.csv' start_at: beginning poll_interval: 5s exporters: chronicle/pharos: compression: gzip creds_file_path: 'C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json' customer_id: '<customer_id>' endpoint: malachiteingestion-pa.googleapis.com log_type: PHAROS raw_log_field: body ingestion_labels: env: production service: pipelines: logs/pharos_to_chronicle: receivers: - filelog exporters: - chronicle/pharos
Parametri di configurazione
Sostituisci i seguenti segnaposto:
Configurazione del destinatario:
include: Percorsi dei file di esportazione di Pharos:- Windows:
C:\Pharos\Exports\*.csv - Modifica il percorso in base alla posizione in cui esporti i report sull'attività di stampa di Pharos
- Windows:
start_at: impostalo subeginningper leggere i log esistenti o suendper leggere solo le nuove vocipoll_interval: La frequenza con cui controllare la presenza di nuovi dati di log (valore predefinito:5s)
Configurazione dell'esportatore:
pharos: Nome descrittivo per l'esportatorecreds_file_path: Percorso completo del file di autenticazione dell'acquisizione:- Windows:
C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
- Windows:
<customer_id>: l'ID cliente del passaggio precedenteendpoint: URL dell'endpoint regionale:- Stati Uniti:
malachiteingestion-pa.googleapis.com - Europa:
europe-malachiteingestion-pa.googleapis.com - Asia:
asia-southeast1-malachiteingestion-pa.googleapis.com - Per l'elenco completo, consulta Endpoint regionali.
- Stati Uniti:
PHAROS: Tipo di log esattamente come appare in Chronicleingestion_labels: Etichette facoltative in formato YAML (ad esempio,env: production)
Configurazione della pipeline:
pharos_to_chronicle: Nome descrittivo della pipeline
Salva il file di configurazione
- Dopo la modifica, salva il file:
- Windows: fai clic su File > Salva.
Riavvia l'agente Bindplane per applicare le modifiche
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"
Esportare i log delle attività di stampa Pharos
Pharos Blueprint Enterprise archivia i dati dei processi di stampa in un database SQL Server. Devi esportare i dati in file CSV che l'agente Bindplane può leggere.
Esportare i dati sull'attività di stampa dal database SQL di Pharos
- Sul server Pharos Blueprint, connettiti al database SQL Pharos utilizzando SQL Server Management Studio o uno strumento a riga di comando.
Esporta i record delle attività di stampa utilizzando una query SQL:
sqlcmd -S <sql_server> -d Pharos -Q "SELECT * FROM PrintJobLog WHERE JobDate >= DATEADD(day, -1, GETDATE())" -o "C:\Pharos\Exports\pharos_print_jobs.csv" -s "," -WPianifica l'esecuzione di questo comando a intervalli regolari (ad esempio, ogni ora) utilizzando Utilità di pianificazione di Windows in modo che l'agente Bindplane prelevi continuamente nuovi file di esportazione.
Alternativa: esporta i report dalla console di amministrazione di Blueprint
- Apri la console Pharos Blueprint Administrator.
- Vai ad Approfondimenti > Report.
- Seleziona il tipo di report che ti interessa (ad esempio, Attività di stampa, Attività utente, Attività dispositivo).
- Configura l'intervallo di date e i filtri.
Esporta il report come file CSV nella directory di esportazione (ad esempio, `C:\Pharos\Exports`).
Tabella di mappatura UDM
| Campo log | Mappatura UDM | Logica |
|---|---|---|
| msg.Building, msg.DataSource, msg.FactSubType, msg.FactType, msg.JobId, msg.JobName, msg.JobTimeutc, msg.PostalCode, msg.VpnConnected, mtd.customer, mtd.slt.node, mtd.slt.pipeline, mtd.source.database, mtd.timestamp.producer_process | additional.fields | Unito a Building_label se msg.Building non è vuoto, datasource_label se msg.DataSource non è vuoto, factsubtype_label se msg.FactSubType non è vuoto, facttype_label se msg.FactType non è vuoto, jobid_label se msg.JobId non è vuoto, jobname_label se msg.JobName non è vuoto, jobtimeutc_label se msg.JobTimeutc non è vuoto, postalcode_label se msg.PostalCode non è in ["", "Unknown"], vpnconnected_label se msg.VpnConnected non è vuoto, customer_label se mtd.customer non è vuoto, node_label se mtd.slt.node non è vuoto, pipeline_label se mtd.slt.pipeline non è vuoto, database_label se mtd.source.database non è vuoto, producer_process_label se mtd.timestamp.producer_process non è vuoto |
| metadata.event_type | Impostato su "STATUS_UPDATE" se has_principal è true, altrimenti "GENERIC_EVENT" | |
| msg.Application | principal.application | Valore copiato direttamente se non è vuoto |
| msg.HostName | principal.asset.hostname | Valore copiato direttamente se non è vuoto |
| msg.IPAddress | principal.asset.ip | Valore copiato direttamente se non è in ["", "Sconosciuto"] |
| msg.City | principal.location.city | Valore copiato direttamente se non è in ["", "Sconosciuto"] |
| msg.Country | principal.location.country_or_region | Valore copiato direttamente se non è in ["", "Sconosciuto"] |
| msg.State | principal.location.state | Valore copiato direttamente se non è in ["", "Sconosciuto"] |
| msg.HostName | principal.hostname | Valore copiato direttamente se non è vuoto |
| msg.IPAddress | principal.ip | Valore copiato direttamente se non è in ["", "Sconosciuto"] |
| msg.UserDisplayName | principal.user.user_display_name | Valore copiato direttamente se non è vuoto |
| mtd.source.host | src.hostname | Valore copiato direttamente se non è vuoto |
| mtd.source.port | src.port | Valore copiato direttamente se non presente in ["", "n/a"] |
| mtd.source.type | src.resource.attribute.labels | Unito a sourcetype_label se non è vuoto |
| metadata.product_name | Impostato su "PHAROS" | |
| metadata.vendor_name | Impostato su "PHAROS" |
Hai bisogno di ulteriore assistenza? Ricevi risposte dai membri della community e dai professionisti di Google SecOps.