Raccogliere i log di Symantec Endpoint Protection
Questo documento spiega come importare i log di Symantec Endpoint Protection in
Google Security Operations utilizzando Bindplane. Il parser elabora i log in formato SYSLOG o
KV, estraendo prima i timestamp da vari formati all'interno dei dati di log.
Successivamente, utilizza un file di configurazione separato (sep_pt2.include
) per eseguire
l'ulteriore analisi e strutturazione degli eventi di log, garantendo l'elaborazione
solo se l'estrazione iniziale del timestamp ha esito positivo.
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 alla piattaforma Symantec Endpoint Protection
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: 'CES' 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 in Symantec Endpoint Protection
- Accedi all'interfaccia utente web di Symantec Endpoint Protection Manager.
- Fai clic sull'icona Amministrazione.
- Individua la sezione Visualizza server e fai clic su Server.
- Fai clic su Sito locale > Configura logging esterno.
- Seleziona la casella di controllo Abilita trasmissione dei log a un server Syslog.
- Fornisci i seguenti dettagli di configurazione:
- Server Syslog: inserisci l'indirizzo IP di Bindplane.
- Porta di destinazione UDP: inserisci il numero di porta Bindplane (ad esempio,
514
per UDP). - Log Facility: inserisci Local6.
- Seleziona la casella di controllo Log di controllo.
- Seleziona la casella di controllo Log di sicurezza.
- Seleziona la casella di controllo Rischi.
- Fai clic su OK.
Tabella di mappatura UDM
Campo log | Mappatura UDM | Logic |
---|---|---|
Azione | security_result.action | Il valore viene estratto dal campo Action nel log non elaborato e mappato a un'azione UDM. |
Tipo di azione | security_result.action_details | Il valore viene estratto dal campo Action Type nel log non elaborato. |
Amministratore | ||
Motivo dell'applicazione consentita | security_result.action_details | Il valore viene estratto dal campo Allowed application reason nel log non elaborato. |
Applicazione | principal.process.command_line | Il valore viene estratto dal campo Application nel log non elaborato. |
Hash dell'applicazione | target.file.sha256 | Il valore viene estratto dal campo Application hash nel log non elaborato. |
Nome applicazione | target.application | Il valore viene estratto dal campo Application name nel log non elaborato. |
Tipo di applicazione | target.resource.attribute.labels.value | Il valore viene estratto dal campo Application type nel log non elaborato. La chiave è codificata in modo permanente su Application Type . |
Versione dell'applicazione | target.application.version | Il valore viene estratto dal campo Application version nel log non elaborato. |
Inizia | ||
Ora di inizio | extensions.vulns.vulnerabilities.scan_start_time | Il valore viene estratto dal campo Begin Time nel log non elaborato. |
Inizio: | extensions.vulns.vulnerabilities.scan_start_time | Il valore viene estratto dal campo Begin: nel log non elaborato. |
Categoria | principal.resource.attribute.labels.value | Il valore viene estratto dal campo Category nel log non elaborato. La chiave è codificata in modo permanente su Category . |
Categoria impostata | security_result.category | Il valore viene estratto dal campo Category set nel log non elaborato e mappato a una categoria UDM. |
Tipo di categoria | security_result.category_details | Il valore viene estratto dal campo Category type nel log non elaborato. |
ID firma CIDS | ||
Stringa di firma CIDS | security_result.summary | Il valore viene estratto dal campo CIDS Signature string nel log non elaborato. |
CIDS Signature SubID | ||
Norme relative ai clienti | ||
Comando | ||
Computer | target.hostname | Il valore viene estratto dal campo Computer nel log non elaborato. |
Nome computer | principal.hostname | Il valore viene estratto dal campo Computer name nel log non elaborato. |
Confidenza | security_result.confidence_details | Il valore viene estratto dal campo Confidence nel log non elaborato. |
dati | ||
Descrizione | security_result.action_details | Il valore viene estratto dal campo Description nel log non elaborato. |
Descrizione: | security_result.action_details | Il valore viene estratto dal campo Description: nel log non elaborato. |
Punteggio di rilevamento | ||
Detection Submissions No | ||
Tipo di rilevamento | security_result.summary | Il valore viene estratto dal campo Detection type nel log non elaborato. |
ID dispositivo | target.asset.hostname | Il valore viene estratto dal campo Device ID nel log non elaborato. |
Disposizione | security_result.action | Il valore viene estratto dal campo Disposition nel log non elaborato e mappato a un'azione UDM. |
Dominio | principal.administrative_domain | Il valore viene estratto dal campo Domain nel log non elaborato. |
Nome di dominio | principal.administrative_domain | Il valore viene estratto dal campo Domain Name nel log non elaborato. |
Nome del dominio: | principal.administrative_domain | Il valore viene estratto dal campo Domain Name: nel log non elaborato. |
Scaricati da | principal.process.file.full_path | Il valore viene estratto dal campo Downloaded by nel log non elaborato. |
Sito di download | ||
Durata (secondi) | extensions.vulns.vulnerabilities.scan_end_time | Il valore viene estratto dal campo Duration (seconds) nel log non elaborato e aggiunto all'ora di inizio della scansione. |
Fine | ||
Ora di fine | extensions.vulns.vulnerabilities.scan_end_time | Il valore viene estratto dal campo End Time nel log non elaborato. |
Ora di fine: | extensions.vulns.vulnerabilities.scan_end_time | Il valore viene estratto dal campo End Time: nel log non elaborato. |
Fine: | extensions.vulns.vulnerabilities.scan_end_time | Il valore viene estratto dal campo End: nel log non elaborato. |
Descrizione evento | metadata.description | Il valore viene estratto dal campo Event Description nel log non elaborato. |
Descrizione evento: | metadata.description | Il valore viene estratto dal campo Event Description: nel log non elaborato. |
Ora di inserimento dell'evento | ||
Ora evento | metadata.event_timestamp | Il valore viene estratto dal campo Event time nel log non elaborato. |
Data/ora evento: | metadata.event_timestamp | Il valore viene estratto dal campo Event time: nel log non elaborato. |
Tipo di evento | metadata.product_event_type | Il valore viene estratto dal campo Event Type nel log non elaborato. |
Tipo di evento: | metadata.product_event_type | Il valore viene estratto dal campo Event Type: nel log non elaborato. |
Percorso file | target.file.full_path | Il valore viene estratto dal campo File path nel log non elaborato. |
Percorso file: | target.file.full_path | Il valore viene estratto dal campo File path: nel log non elaborato. |
Dimensione del file (byte) | target.file.size | Il valore viene estratto dal campo File size (bytes) nel log non elaborato. |
Prima visualizzazione | security_result.action_details | Il valore viene estratto dal campo First Seen nel log non elaborato. |
Prima visualizzazione: | security_result.action_details | Il valore viene estratto dal campo First Seen: nel log non elaborato. |
Gruppo | principal.group.group_display_name | Il valore viene estratto dal campo Group nel log non elaborato. |
Nome gruppo | principal.group.group_display_name | Il valore viene estratto dal campo Group Name nel log non elaborato. |
Nome gruppo: | principal.group.group_display_name | Il valore viene estratto dal campo Group Name: nel log non elaborato. |
Tipo di hash | target.resource.attribute.labels.value | Il valore viene estratto dal campo Hash type nel log non elaborato. La chiave è codificata in modo permanente su Hash Type . |
Livello di protezione elevato | ||
ID intrusione | ||
URL payload di intrusione | ||
URL di intrusione | ||
Indirizzo IP | principal.ip | Il valore viene estratto dal campo IP Address nel log non elaborato. |
Indirizzo IP: | principal.ip | Il valore viene estratto dal campo IP Address: nel log non elaborato. |
Data/ora ultimo aggiornamento | ||
Host locale | principal.ip | Il valore viene estratto dal campo Local Host nel log non elaborato. |
IP host locale | principal.ip | Il valore viene estratto dal campo Local Host IP nel log non elaborato. |
MAC host locale | principal.mac | Il valore viene estratto dal campo Local Host MAC nel log non elaborato. |
Porta locale | principal.port | Il valore viene estratto dal campo Local Port nel log non elaborato. |
Località | ||
MD-5 | ||
Occorrenze | security_result.about.resource.attribute.labels.value | Il valore viene estratto dal campo Occurrences nel log non elaborato. La chiave è codificata in modo permanente su Occurrences . |
Motivo dell'applicazione consentita | security_result.action_details | Il valore viene estratto dal campo Permitted application reason nel log non elaborato. |
Prevalenza | security_result.description | Il valore viene estratto dal campo Prevalence nel log non elaborato. |
Percorso remoto | target.file.full_path | Il valore viene estratto dal campo Remote file path nel log non elaborato. |
IP host remoto | target.ip | Il valore viene estratto dal campo Remote Host IP nel log non elaborato. |
MAC host remoto | target.mac | Il valore viene estratto dal campo Remote Host MAC nel log non elaborato. |
Nome host remoto | target.hostname | Il valore viene estratto dal campo Remote Host Name nel log non elaborato. |
Porta remota | target.port | Il valore viene estratto dal campo Remote Port nel log non elaborato. |
Azione richiesta | security_result.action | Il valore viene estratto dal campo Requested action nel log non elaborato e mappato a un'azione UDM. |
Livello di rischio | security_result.severity | Il valore viene estratto dal campo Risk Level nel log non elaborato e mappato a una gravità UDM. |
Nome del rischio | security_result.threat_name | Il valore viene estratto dal campo Risk name nel log non elaborato. |
Tipo di rischio | security_result.detection_fields.value | Il valore viene estratto dal campo Risk type nel log non elaborato. La chiave è codificata in modo permanente su Risk Type . |
Regola | principal.resource.name | Il valore viene estratto dal campo Rule nel log non elaborato. |
Regola: | principal.resource.name | Il valore viene estratto dal campo Rule: nel log non elaborato. |
ID scansione | extensions.vulns.vulnerabilities.name | Il valore viene estratto dal campo Scan ID nel log non elaborato. |
ID scansione: | extensions.vulns.vulnerabilities.name | Il valore viene estratto dal campo Scan ID: nel log non elaborato. |
Tipo di scansione | ||
Azione secondaria | target.resource.attribute.labels.value | Il valore viene estratto dal campo Secondary action nel log non elaborato. La chiave è codificata in modo permanente su Secondary action . |
Rischio per la sicurezza rilevato | metadata.description | Il valore viene estratto dal campo Security risk found nel log non elaborato. |
Server | intermediary.hostname | Il valore viene estratto dal campo Server nel log non elaborato. |
Nome server | intermediary.hostname | Il valore viene estratto dal campo Server Name nel log non elaborato. |
Nome server: | intermediary.hostname | Il valore viene estratto dal campo Server Name: nel log non elaborato. |
SHA-256 | principal.process.file.sha256 | Il valore viene estratto dal campo SHA-256 nel log non elaborato. |
Sito | additional.fields.value.string_value | Il valore viene estratto dal campo Site nel log non elaborato. La chiave è codificata in modo permanente su Site Name . |
Nome del sito | additional.fields.value.string_value | Il valore viene estratto dal campo Site Name nel log non elaborato. La chiave è codificata in modo permanente su Site Name . |
Sito: | additional.fields.value.string_value | Il valore viene estratto dal campo Site: nel log non elaborato. La chiave è codificata in modo permanente su Site Name . |
Origine | metadata.product_event_type | Il valore viene estratto dal campo Source nel log non elaborato e aggiunto alla stringa hardcoded Security risk found - . |
Computer di origine | ||
Computer di origine: | ||
IP di origine | ||
IP di origine: | ||
Fonte: | metadata.product_event_type | Il valore viene estratto dal campo Source: nel log non elaborato e aggiunto alla stringa hardcoded Security risk found - . |
ts | metadata.event_timestamp | Il valore viene estratto dal campo ts nel log non elaborato. |
Stato del monitoraggio URL | ||
Utente | principal.user.userid | Il valore viene estratto dal campo User nel log non elaborato. |
Nome utente | principal.user.userid | Il valore viene estratto dal campo User Name nel log non elaborato. |
Nome utente: | principal.user.userid | Il valore viene estratto dal campo User Name: nel log non elaborato. |
Dominio web | ||
metadata.description | Se il log non elaborato contiene la stringa The client has downloaded , la descrizione viene impostata su The client has downloaded {target file name} . Se il log non elaborato contiene la stringa The management server received , la descrizione viene impostata su The management server received the client log successfully . In caso contrario, la descrizione viene impostata sul valore del campo Event Description nel log non elaborato. |
|
metadata.event_type | Il tipo di evento è determinato dalla logica del parser in base al contenuto del log non elaborato. | |
metadata.log_type | Il tipo di log è codificato in modo permanente su SEP . |
|
metadata.product_name | Il nome del prodotto è codificato in modo permanente su SEP . |
|
metadata.vendor_name | Il nome del fornitore è hardcoded su Symantec . |
Hai bisogno di ulteriore assistenza? Ricevi risposte dai membri della community e dai professionisti di Google SecOps.