Raccogliere i log di Sophos Endpoint
Questo documento spiega come raccogliere i log di Sophos Endpoint (in precedenza Sophos AV/Intercept X) utilizzando l'agente Bindplane. Il parser trasforma i log JSON in un modello unificato dei dati (UDM). Estrae i campi dalle strutture JSON nidificate, li mappa ai campi UDM ed esegue la classificazione degli eventi in base al campo tipo, arricchendo i dati con dettagli e azioni specifici per i diversi tipi di eventi Sophos AV.
Prima di iniziare
Assicurati di soddisfare i seguenti prerequisiti:
- Un'istanza Google SecOps
- Windows 2016 o versioni successive oppure un host Linux con
systemd - Un'altra macchina Windows o Linux in grado di eseguire Python ininterrottamente
- 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 alla console di amministrazione di Sophos Central
Recuperare il file di autenticazione dell'acquisizione 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.
Installare l'agente Bindplane
Installa l'agente Bindplane sul sistema operativo Windows o Linux seguendo le istruzioni riportate di seguito.
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 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 inviarlo 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,vio Blocco note).
- Individua il file
Modifica il file
config.yamlcome 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_file_path: '/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 log_type: 'SOPHOS_AV' raw_log_field: body ingestion_labels: service: pipelines: logs/source0__chronicle_w_labels-0: receivers: - udplog exporters: - chronicle/chronicle_w_labelsSostituisci 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.jsoncon il percorso del file in cui è stato salvato il file di autenticazione nel passaggio 1.
Riavvia l'agente Bindplane per applicare le modifiche
Per riavviare l'agente Bindplane in Linux, esegui questo comando:
sudo systemctl restart bindplane-agentPer riavviare l'agente Bindplane in Windows, puoi utilizzare la console Servizi o inserire il seguente comando:
net stop BindPlaneAgent && net start BindPlaneAgent
Configurare l'accesso all'API Sophos Central
- Accedi a Sophos Central Admin.
- Seleziona Impostazioni globali > Gestione token API.
- Fai clic su Aggiungi token per creare un nuovo token.
- Inserisci un nome per il token e fai clic su Salva. Viene visualizzato il Riepilogo token API per il token fornito.
- Nella sezione Riepilogo token API, fai clic su Copia per copiare l'URL di accesso API e le intestazioni.
Installa Python sulla macchina aggiuntiva
- Apri il browser web e vai al sito web di Python.
- Fai clic su Scarica Python per il tuo sistema operativo (Windows o Mac).
Installa Python.
- Su Windows:
- Esegui il programma di installazione.
- Seleziona la casella Aggiungi Python a PATH.
- Fai clic su Installa ora.
Sul Mac:
- Python potrebbe essere già installato. In caso contrario, puoi installare l'ultima versione utilizzando il terminale.
- Apri Terminale e digita questo comando:
python --version
- Su Windows:
Scarica lo script di integrazione di Sophos
- Vai alla pagina GitHub per il repository GitHub di integrazione SIEM di Sophos Central.
- Fai clic sul pulsante verde Codice> Scarica ZIP.
- Estrai il file ZIP.
Configurare la configurazione dello script
- Trova e apri il file
config.inicon un editor di testo. - Modifica il file di configurazione:
- Token API: inserisci la chiave API copiata in precedenza da Sophos Central.
- Dettagli del server syslog: inserisci i dettagli del server syslog.
- Host: inserisci l'indirizzo IP di Bindplane.
- Porta: inserisci il numero di porta di Bindplane.
- Protocollo: inserisci UDP (puoi utilizzare anche TCP o TLS a seconda della configurazione).
- Salva il file.
Esegui lo script
Vai alla cartella degli script.
Su Windows:
- Premi il tasto Windows e digita
cmd. - Fai clic su Prompt dei comandi.
- Vai alla cartella degli script:
cd C:UsersYourNameDownloadsSophos-Central-SIEM-Integration- Premi il tasto Windows e digita
In macOS:
- Vai ad Applicazioni > Utilità.
- Apri Terminale.
- Vai alla cartella degli script:
cd /Users/YourName/Downloads/Sophos-Central-SIEM-Integration
Esegui lo script:
Digita il seguente comando per avviare lo script:
python siem.py
Automatizza l'esecuzione continua dello script su Windows (utilizzando l'Utilità di pianificazione):
- Apri Utilità di pianificazione digitando Utilità di pianificazione nel menu Start.
- Fai clic su Crea attività.
- Nella scheda Generale:
- Assegna un nome all'attività, ad esempio
Sophos AV Log Export.
- Assegna un nome all'attività, ad esempio
- Nella scheda Trigger:
- Fai clic su Nuovo e imposta l'attività in modo che venga eseguita Ogni giorno o All'avvio (a seconda delle tue preferenze).
- Nella scheda Azioni:
- Fai clic su Nuovo e seleziona Avvia un programma.
- Cerca l'eseguibile
python.exe(di solito si trova inC:PythonXXpython.exe). - Nel campo Aggiungi argomenti, digita il percorso dello script, ad esempio
C:UsersYourNameDownloadsSophos-Central-SIEM-Integrationsiem.py.
- Fai clic su Ok per salvare l'attività.
Automatizza l'esecuzione continua dello script su Mac (utilizzando Cron Jobs):
- Apri Terminale.
- Digita
crontab -ee premiEnter. Aggiungi una nuova riga alla fine del file:
* * * * * /usr/bin/python /Users/YourName/Downloads/Sophos-Central-SIEM-Integration/siem.pySalva ed esci dall'editor.
Tabella di mappatura UDM
| Campo log | Mappatura UDM | Logica |
|---|---|---|
s_ip |
intermediary.ip |
Unita |
description |
metadata.description |
Mappato direttamente |
name |
metadata.description |
Mappato direttamente |
security_result.description |
metadata.description |
Rinominate/mappate |
end |
metadata.event_timestamp |
Analizzato come RFC 3339 |
ts |
metadata.event_timestamp |
Analizzato come RFC 3339 |
action |
metadata.event_type |
Mappato: unknown → NETWORK_CONNECTION, allowed → SCAN_PROCESS, blocked → `SCAN_PROC... |
e_type |
metadata.event_type |
Valori mappati (11 in totale, ad es. NonCompliant → SCAN_HOST, SavDisabled → `SETTING_MODIFIC... |
type |
metadata.event_type |
Valori mappati (13 in totale, ad es. Event::Endpoint::NonCompliant → SCAN_HOST, `Event::Endpoin... |
e_type |
metadata.product_event_type |
Mappato direttamente |
type |
metadata.product_event_type |
Mappato direttamente |
action |
network.direction |
Mappato: warned → OUTBOUND, unknown → OUTBOUND |
e_type |
network.direction |
Mappato: WindowsFirewall::Blocked → OUTBOUND |
type |
network.direction |
Mappato: Event::Endpoint::WindowsFirewall::Blocked → OUTBOUND |
action |
network.ip_protocol |
Mappato: warned → TCP, unknown → TCP |
appSha256 |
principal.file.sha256 |
Mappato direttamente |
dhost |
principal.hostname |
Mappato direttamente |
host |
principal.hostname |
Mappato direttamente |
source_info.ip |
principal.ip |
Unita |
src_ip |
principal.ip |
Unita |
id |
principal.resource.id |
Mappato direttamente |
suser |
principal.user.user_display_name |
Mappato direttamente |
suser |
principal.user.userid |
Mappato direttamente |
user |
principal.user.userid |
Mappato direttamente |
user_id |
principal.user.userid |
Mappato direttamente |
endpoint_id_label |
security_result.about.labels |
Unita |
endpoint_type_label |
security_result.about.labels |
Unita |
action |
security_result.action |
Valori mappati (5 in totale, ad es. allow → sec_action, unknown → sec_action, allowed → `... |
sec_action |
security_result.action |
Unita |
group |
security_result.category_details |
Unita |
sub_cat |
security_result.category_details |
Unita |
desc |
security_result.description |
Mappato direttamente |
e_type |
security_result.description |
Mappato: (UpdateRebootRequired/ServiceNotRunning/NonCompliant/OutOfDate) → `security_result... |
type |
security_result.description |
Mappato: Event::Endpoint::(UpdateRebootRequired/ServiceNotRunning/NonCompliant/OutOfDate) →... |
rule |
security_result.rule_name |
Mappato direttamente |
rules |
security_result.rule_name |
Mappato direttamente |
severity |
security_result.severity |
Valori mappati (6 in totale, ad es. low → LOW, low → MEDIUM, low → HIGH) |
security_result.description |
security_result.summary |
Rinominate/mappate |
application |
target.application |
Mappato direttamente |
endpoint_id |
target.asset_id |
Mappato direttamente |
f_path |
target.file.full_path |
Mappato direttamente |
f_size |
target.file.size |
Rinominate/mappate |
dhost |
target.hostname |
Mappato direttamente |
host |
target.hostname |
Mappato direttamente |
application |
target.process.file.full_path |
Mappato direttamente |
customer_id |
target.resource.id |
Mappato direttamente |
e_type |
target.resource.name |
Mappato: SavDisabled → Real time protection, OutOfDate → Device Registration, `Regist... |
p_device |
target.resource.name |
Mappato direttamente |
scan_name |
target.resource.name |
Mappato direttamente |
type |
target.resource.name |
Mappato: Event::Endpoint::SavDisabled → Real time protection, `Event::Endpoint::OutOfDate... |
action |
target.resource.type |
Mappato: blocked → Device, restricted to read-only → Device |
e_type |
target.resource.type |
Valori mappati (5 in totale, ad es. SavDisabled → SETTING, OutOfDate → SETTING, "Registrato... |
type |
target.resource.type |
Valori mappati (5 in totale, ad es. Event::Endpoint::SavDisabled → SETTING, `Event::Endpoint::O... |
url |
target.url |
Mappato direttamente |
duid |
target.user.userid |
Mappato direttamente |
suser |
target.user.userid |
Mappato direttamente |
user |
target.user.userid |
Mappato direttamente |
| N/D | metadata.event_type |
Costante: GENERIC_EVENT |
| N/D | metadata.product_name |
Costante: Sophos Anti-Virus |
| N/D | metadata.vendor_name |
Costante: Sophos |
| N/D | network.direction |
Costante: OUTBOUND |
| N/D | network.ip_protocol |
Costante: TCP |
| N/D | security_result.description |
Costante: security_result.summary |
| N/D | security_result.severity |
Costante: LOW |
| N/D | target.resource.name |
Costante: Real time protection |
| N/D | target.resource.type |
Costante: SETTING |
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.