Raccogliere i log di Kaspersky AV
Questo documento spiega come importare i log di Kaspersky Antivirus in Google Security Operations utilizzando Bindplane. Il codice del parser tenta innanzitutto di analizzare il messaggio di log non elaborato come JSON. Se non riesce, utilizza le espressioni regolari (pattern grok
) per estrarre i campi dal messaggio in base ai formati di log AV Kaspersky comuni.
Prima di iniziare
Assicurati di soddisfare i seguenti prerequisiti:
- Istanza Google SecOps
- Host Windows 2016 o versioni successive o Linux con systemd
- Se l'esecuzione avviene tramite un proxy, le porte del firewall sono aperte
- Accesso privilegiato a Kaspersky Antivirus
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 la 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: KASPERSKY_AV 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
Configurare l'esportazione degli eventi in Kaspersky AV
- Accedi alla console Kaspersky Security Center.
- Seleziona il server di amministrazione di cui vuoi esportare gli eventi.
- Nello spazio di lavoro Administration Server (Server di amministrazione), fai clic sulla scheda Eventi.
- Fai clic sul link Configura notifiche ed esportazione eventi.
- Seleziona Configura l'esportazione nel sistema SIEM nell'elenco.
- Fornisci i seguenti dettagli di configurazione:
- Sistema SIEM: seleziona Arcsight (formato CEF).
- Indirizzo del server del sistema SIEM: inserisci l'indirizzo IP dell'agente Bindplane.
- Porta del server del sistema SIEM: inserisci il numero di porta dell'agente Bindplane (ad esempio,
514
per UDP). - Protocollo: seleziona UDP.
- Fai clic su OK.
Tabella di mappatura UDM
Campo log | Mappatura UDM | Logic |
---|---|---|
Applicazione | network.http.user_agent | Mappato direttamente dal campo Application nel log non elaborato. |
Percorso dell'applicazione | target.process.file.full_path | Utilizzato con il campo Name per creare il percorso completo se Application path è presente nel log non elaborato. |
Componente | target.resource.name | Mappato direttamente dal campo Component nel log non elaborato. |
Categoria di contenuti | security_result.category_details | Aggiunto al campo security_result.category_details se Content category è presente nel log non elaborato. |
Origine della categoria di contenuti | target.resource.type | Se il valore contiene databases , il campo UDM è impostato su DATABASE . |
Erreur | security_result.summary | Mappato direttamente dal campo Erreur nel log non elaborato se il campo summary è vuoto. |
et | metadata.product_event_type | Mappato direttamente dal campo et nel log non elaborato se il campo product_event_type è vuoto. |
et | security_result.category_details | Aggiunto al campo security_result.category_details . |
etdn | extensions.vulns.vulnerabilities.description | Mappato direttamente dal campo etdn nel log non elaborato. |
Hash SHA256 file | target.process.file.sha256 | Mappato direttamente dal campo File SHA256 hash nel log non elaborato. |
gn | security_result.about.labels | key è impostato su GN e value è impostato sul valore del campo gn . |
hdn | principal.hostname | Mappato direttamente dal campo hdn nel log non elaborato. |
hip | principal.ip | Mappato direttamente dal campo hip nel log non elaborato. |
host_name | principal.hostname | Mappato direttamente dal campo host_name nel log non elaborato. |
intermediary_host | intermediary.hostname | Mappato direttamente dal campo intermediary_host nel log non elaborato. |
intermediary_hostname | intermediary.hostname | Mappato direttamente dal campo intermediary_hostname nel log non elaborato. |
kv_data1 | Questo campo viene analizzato e i relativi valori vengono mappati ad altri campi UDM. | |
kv_data2 | Questo campo viene analizzato e i relativi valori vengono mappati ad altri campi UDM. | |
etichetta | network.http.user_agent | Se il valore è User-Agent , il campo UDM viene compilato con il valore del campo description . |
etichetta | principal.hostname | Se il valore è Host , il campo UDM viene compilato con il nome host estratto dal campo description . |
etichetta | security_result.description | Per gli altri valori, il campo UDM viene compilato con una stringa contenente i campi label e description . |
MD5 | target.process.file.md5 | Mappato direttamente dal campo MD5 nel log non elaborato dopo la conversione in minuscolo. |
Hash MD5 del file | target.process.file.md5 | Mappato direttamente dal campo MD5 file hash nel log non elaborato. |
messaggio | Questo campo viene analizzato e i relativi valori vengono mappati ad altri campi UDM. | |
metodo | network.http.method | Mappato direttamente dal campo method nel log non elaborato se corrisponde a un elenco di metodi HTTP. |
nome | target.file.full_path | Mappato direttamente dal campo name nel log non elaborato. |
Nom | target.process.file.full_path | Utilizzato con il campo application_path per costruire il percorso completo. |
p1 | target.process.file.sha256 | Mappato direttamente dal campo p1 nel log non elaborato dopo la conversione in minuscolo se il campo SHA256 è vuoto e il valore è una stringa esadecimale. |
p2 | target.process.file.full_path | Mappato direttamente dal campo p2 nel log non elaborato. |
p5 | security_result.rule_name | Mappato direttamente dal campo p5 nel log non elaborato. |
p7 | principal.user.user_display_name | Mappato direttamente dal campo p7 nel log non elaborato se i campi User e user_name sono vuoti. |
ID processo | principal.process.pid | Mappato direttamente dal campo Process ID nel log non elaborato. |
process_id | target.process.pid | Mappato direttamente dal campo process_id nel log non elaborato. |
protocollo | network.application_protocol | Se il valore contiene http (senza distinzione tra maiuscole e minuscole), il campo UDM è impostato su HTTP . |
Motivo | security_result.summary | Mappato direttamente dal campo Reason nel log non elaborato. |
Pagina web richiesta | target.url | Mappato direttamente dal campo Requested web page nel log non elaborato. |
Risultato | Se il valore è Allowed , il campo sr_action è impostato su ALLOW . |
|
rtid | security_result.about.labels | key è impostato su rtid e value è impostato sul valore del campo rtid . |
Regola | security_result.description | Mappato direttamente dal campo Rule nel log non elaborato. |
SHA256 | target.process.file.sha256 | Mappato direttamente dal campo SHA256 nel log non elaborato dopo la conversione in minuscolo. |
sr_action | security_result.action | Unito al campo security_result.action . |
riepilogo | security_result.summary | Mappato direttamente dal campo summary nel log non elaborato. |
task_name | security_result.about.labels | key è impostato su TaskName e value è impostato sul valore del campo task_name . |
threat_action_taken | Se il valore è blocked , il campo security_action è impostato su BLOCK . Se il valore è allowed , il campo security_action è impostato su ALLOW . |
|
timestamp | metadata.event_timestamp | Utilizzato per popolare il timestamp dell'evento. |
Tipo | security_result.threat_name | Mappato direttamente dal campo Type nel log non elaborato. |
URL | network.http.referral_url | Mappato direttamente dal campo url nel log non elaborato. |
Utente | principal.user.user_display_name | Il nome utente viene estratto da questo campo e mappato al campo UDM. |
Utente | principal.administrative_domain | Il dominio viene estratto da questo campo e mappato al campo UDM. |
user_name | principal.user.user_display_name | Mappato direttamente dal campo user_name nel log non elaborato se il campo User è vuoto. |
metadata.event_type | Imposta su SCAN_VULN_NETWORK se sono presenti Application path e Name , su STATUS_UNCATEGORIZED se sono presenti hdn o host_name oppure su GENERIC_EVENT in caso contrario. |
|
metadata.vendor_name | Sempre impostato su KASPERSKY . |
|
metadata.product_name | Sempre impostato su KASPERSKY_AV . |
|
metadata.log_type | Sempre impostato su KASPERSKY_AV . |
Hai bisogno di ulteriore assistenza? Ricevi risposte dai membri della community e dai professionisti di Google SecOps.