Raccogliere i log di Symantec DLP
Questo documento spiega come raccogliere i log di Symantec DLP utilizzando Bindplane. Il codice del parser tenta innanzitutto di analizzare i dati dei log di Symantec DLP in arrivo come XML. Se l'analisi XML non va a buon fine, viene assunto un formato SYSLOG + KV (CEF) e viene utilizzata una combinazione di filtri grok
e kv
per estrarre le coppie chiave/valore e mapparle al modello di dati unificato (UDM).
Prima di iniziare
- Assicurati di avere un'istanza Google Security Operations.
- Assicurati di utilizzare Windows 2016 o versioni successive o un host Linux con
systemd
. - Se il servizio è eseguito dietro un proxy, assicurati che le porte del firewall siano aperte.
- Assicurati di disporre dell'accesso con privilegi a Symantec DLP.
Ottenere il file di autenticazione di importazione di Google SecOps
- Accedi alla console Google SecOps.
- Vai a Impostazioni SIEM > Agenti di raccolta.
- Scarica il file di autenticazione dell'importazione. Salva il file in modo sicuro sul sistema in cui verrà installato Bindplane.
Ottenere 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 di installazione aggiuntive
- Per altre 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
,vi
o Blocco note).
- Individua il file
Modifica il file
config.yaml
come segue:receivers: tcplog: # Replace the port and IP address as required listen_address: "0.0.0.0:54525" 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: SYSLOG namespace: symantec_dlp raw_log_field: body service: pipelines: logs/source0__chronicle_w_labels-0: receivers: - tcplog exporters: - chronicle/chronicle_w_labels
Sostituisci la porta e l'indirizzo IP come richiesto nella tua infrastruttura.
Sostituisci
<customer_id>
con l'ID cliente effettivo.Aggiorna
/path/to/ingestion-authentication-file.json
con il percorso in cui è stato salvato il file di autenticazione nella sezione Ottenere 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 il seguente 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 Symantec DLP
- Accedi alla console di amministrazione del server Symantec.
- Seleziona Gestisci > Norme > Regole di risposta.
- Seleziona Configura regola di risposta e inserisci un nome per la regola.
Fornisci i seguenti dettagli:
- Azioni: seleziona Log su un server syslog.
- Host: inserisci l'indirizzo IP
Bindplane
. - Porta: inserisci il numero di porta
Bindplane
. Messaggio: inserisci il seguente messaggio:
|symcdlpsys|APPLICATION_NAME|$APPLICATION_NAME$|APPLICATION_USER|$APPLICATION_USER$|ATTACHMENT_FILENAME|$ATTACHMENT_FILENAME$|BLOCKED|$BLOCKED$|DATAOWNER_NAME|$DATAOWNER_NAME$|DATAOWNER_EMAIL|$DATAOWNER_EMAIL$|DESTINATION_IP|$DESTINATION_IP$|ENDPOINT_DEVICE_ID|$ENDPOINT_DEVICE_ID$|ENDPOINT_LOCATION|$ENDPOINT_LOCATION$|ENDPOINT_MACHINE|$ENDPOINT_MACHINE$|ENDPOINT_USERNAME|$ENDPOINT_USERNAME$|PATH|$PATH$|FILE_NAME|$FILE_NAME$|PARENT_PATH|$PARENT_PATH$|INCIDENT_ID|$INCIDENT_ID$|INCIDENT_SNAPSHOT|$INCIDENT_SNAPSHOT$|MACHINE_IP|$MACHINE_IP$|MATCH_COUNT|$MATCH_COUNT$|OCCURRED_ON|$OCCURRED_ON$|POLICY|$POLICY$|RULES|$RULES$|PROTOCOL|$PROTOCOL$|QUARANTINE_PARENT_PATH|$QUARANTINE_PARENT_PATH$|RECIPIENTS|$RECIPIENTS$|REPORTED_ON|$REPORTED_ON$|SCAN|$SCAN$|SENDER|$SENDER$|MONITOR_NAME|$MONITOR_NAME$|SEVERITY|$SEVERITY$|STATUS|$STATUS$|SUBJECT|$SUBJECT$|TARGET|$TARGET$|URL|$URL$|USER_JUSTIFICATION|$USER_JUSTIFICATION$|
Debug: seleziona Livello 4.
Fai clic su Applica.
Tabella di mappatura UDM
Campo log | Mappatura UDM | Logica |
---|---|---|
agire | security_result.action | Se act è Passed , imposta ALLOW . Se act è Modified , imposta ALLOW_WITH_MODIFICATION . Se act è Blocked , imposta BLOCK . In caso contrario, imposta UNKNOWN_ACTION . |
application_name | target.application | Mappatura diretta. |
asset_ip | principal.ip, principal.asset.ip | Mappatura diretta. |
asset_name | principal.hostname, principal.asset.hostname | Mappatura diretta. |
attachment_name | security_result.about.file.full_path | Mappatura diretta. |
bloccato | security_result.action_details | Mappatura diretta. |
calling_station_id | principal.mac, principal.asset.mac | Se calling_station_id è un indirizzo MAC, mappalo direttamente dopo aver sostituito - con : e aver convertito in minuscolo. |
called_station_id | target.mac, target.asset.mac | Se called_station_id è un indirizzo MAC, estrai la parte dell'indirizzo MAC prima di : e mappala direttamente dopo aver sostituito - con : e aver convertito in minuscolo. |
category1 | security_result.detection_fields | Crea un'etichetta con chiave category1 e valore da category1 . |
category2 | security_result.detection_fields | Crea un'etichetta con chiave category2 e valore da category2 . |
category3 | security_result.detection_fields | Crea un'etichetta con chiave category3 e valore da category3 . |
client_friendly_name | target.user.userid | Mappatura diretta. |
dataowner_mail | principal.user.email_addresses | Mappato direttamente se si tratta di un indirizzo email valido. |
description | metadata.description | Mappatura diretta. |
dest_location | target.location.country_or_region | Mappato direttamente se non è RED . |
deviceId | target.asset_id | Mappato come ID:%{deviceId} . |
device_version | metadata.product_version | Mappatura diretta. |
dhost | network.http.referral_url | Mappatura diretta. |
dlp_type | security_result.detection_fields | Crea un'etichetta con chiave dlp_type e valore da dlp_type . |
DLP_EP_Incident_ID | security_result.threat_id, security_result.detection_fields | Mappato direttamente a threat_id . Crea anche un'etichetta con chiave Incident ID e valore da DLP_EP_Incident_ID . |
dominio | principal.administrative_domain | Mappatura diretta. |
dst | target.ip, target.asset.ip | Mappato direttamente se si tratta di un indirizzo IP valido. |
endpoint_machine | target.ip, target.asset.ip | Mappato direttamente se si tratta di un indirizzo IP valido. |
endpoint_user_department | target.user.department | Mappatura diretta. |
endpoint_user_email | target.user.email_addresses | Mappatura diretta. |
endpoint_user_manager | target.user.managers | Crea un oggetto gestore con user_display_name da endpoint_user_manager . |
endpoint_user_name | target.user.user_display_name | Mappatura diretta. |
endpoint_user_title | target.user.title | Mappatura diretta. |
event_description | metadata.description | Mappatura diretta. |
event_id | metadata.product_log_id | Mappatura diretta. |
event_source | target.application | Mappatura diretta. |
event_timestamp | metadata.event_timestamp | Mappatura diretta. |
nome_file | security_result.about.file.full_path | Mappatura diretta. |
nomefile | target.file.full_path, src.file.full_path | Mappato direttamente a target.file.full_path . Se has_principal è true, esegui la mappatura anche a src.file.full_path e imposta event_type su FILE_COPY . |
host | src.hostname, principal.hostname, principal.asset.hostname | Se cef_data contiene CEF , esegui la mappatura a tutti e tre i campi. In caso contrario, mappa a principal.hostname e principal.asset.hostname . |
incident_id | security_result.threat_id, security_result.detection_fields | Mappato direttamente a threat_id . Crea anche un'etichetta con chiave Incident ID e valore da incident_id . |
località | principal.resource.attribute.labels | Crea un'etichetta con la chiave Location e il valore di location . |
match_count | security_result.detection_fields | Crea un'etichetta con la chiave Match Count e il valore di match_count . |
monitor_name | additional.fields | Crea un'etichetta con la chiave Monitor Name e il valore di monitor_name . |
nas_id | target.hostname, target.asset.hostname | Mappatura diretta. |
occurred_on | principal.labels, additional.fields | Crea un'etichetta con chiave Occurred On e valore da occurred_on sia per principal.labels che per additional.fields . |
policy_name | sec_result.detection_fields | Crea un'etichetta con chiave policy_name e valore da policy_name . |
policy_rule | security_result.rule_name | Mappatura diretta. |
policy_severity | security_result.severity | Mappato a severity dopo la conversione in maiuscolo. Se policy_severity è INFO , mappalo come INFORMATIONAL . Se policy_severity non è HIGH , MEDIUM , LOW o INFORMATIONAL , imposta severity su UNKNOWN_SEVERITY . |
policy_violated | security_result.summary | Mappatura diretta. |
Protocollo | network.application_protocol, target.application, sec_result.description | Se Protocol non è FTP o Endpoint , mappalo a network.application_protocol dopo averlo analizzato utilizzando il file parse_app_protocol.include . Se Protocol è FTP , mappalo a target.application . Se Protocol è Endpoint , imposta sec_result.description su Protocol=%{Protocol} . |
destinatario | target.user.email_addresses, about.user.email_addresses | Per ogni indirizzo email in recipient , mappalo sia a target.user.email_addresses che a about.user.email_addresses . |
Destinatari | network.http.referral_url, target.resource.attribute.labels | Mappato direttamente a network.http.referral_url . Crea anche un'etichetta con chiave recipients e valore da recipients . |
reported_on | additional.fields | Crea un'etichetta con la chiave Reported On e il valore di reported_on . |
rules | security_result.detection_fields | Crea un'etichetta con la chiave Rules e il valore di rules . |
mittente | network.email.from, target.resource.attribute.labels | Se sender è un indirizzo email valido, mappalo a network.email.from . Crea anche un'etichetta con chiave sender e valore da sender . |
server | target.application | Mappatura diretta. |
Gravità | security_result.severity | Consulta policy_severity per la logica di mappatura. |
src | principal.ip, principal.asset.ip | Mappato direttamente se si tratta di un indirizzo IP valido. |
stato | principal.labels, additional.fields | Crea un'etichetta con chiave Status e valore da status sia per principal.labels che per additional.fields . |
subject | target.resource.attribute.labels, network.email.subject | Crea un'etichetta con chiave subject e valore da subject . Inoltre, mappa subject a network.email.subject . |
target_type | target.resource.attribute.labels | Crea un'etichetta con la chiave Target Type e il valore di target_type . |
timestamp | metadata.event_timestamp | Mappati direttamente dopo l'analisi utilizzando il filtro date . |
url | target.url | Mappatura diretta. |
utente | target.user.userid | Mappatura diretta. |
user_id | principal.user.userid | Mappatura diretta. |
nome utente | principal.user.userid | Mappatura diretta. |
N/D | metadata.product_name | Imposta su SYMANTEC_DLP . |
N/D | metadata.vendor_name | Imposta su SYMANTEC . |
N/D | metadata.event_type | Se event_type non è vuoto, mappalo direttamente. In caso contrario, se host non è vuoto e has_principal è true, imposta SCAN_NETWORK . In caso contrario, imposta GENERIC_EVENT . |
N/D | metadata.product_event_type | Se policy_violated contiene -NM- o data contiene DLP NM , imposta Network Monitor . Se policy_violated contiene -EP- o data contiene DLP EP , imposta Endpoint . |
N/D | metadata.log_type | Imposta su SYMANTEC_DLP . |
Modifiche
2025-02-04
Miglioramento:
- È stato aggiunto il supporto per i log SYSLOG.
2025-01-08
Miglioramento:
ATTACHMENT_FILENAME
è stato mappato aprincipal.file.full_path
.- Quando
DATAOWNER_NAME
è presente, mappaDATAOWNER_NAME
aprincipal.user.userid
. - Quando
DATAOWNER_NAME
non è presente,ENDPOINT_USERNAME
è mappato aprincipal.user.userid
.
2024-12-27
Miglioramento:
- È stato aggiunto il supporto per l'analisi del nuovo formato dei log.
2024-12-04
Miglioramento:
- È stato aggiunto il supporto per l'analisi del nuovo formato dei log.
2024-11-11
Miglioramento:
- È stato aggiunto il supporto per l'analisi del nuovo formato dei log.
2024-09-05
Miglioramento:
- È stato aggiunto il supporto per l'analisi del nuovo formato dei log.
2024-06-17
Miglioramento:
- È stato aggiunto il supporto per l'analisi del nuovo formato del campo
recipients
.
2024-06-14
Miglioramento:
- È stato aggiunto il supporto per i log CEF.
2024-05-16
Miglioramento:
dlp_type
è stato mappato asecurity_result.detection_fields
.
2024-04-26
Correzione di bug:
recipients
è stato mappato atarget.user.email_addresses
.
2024-03-10
Miglioramento:
- Sono stati aggiunti nuovi pattern Grok per analizzare i log dei nuovi formati SYSLOG.
server
è stato mappato atarget.application
.url
è stato mappato atarget.url
.dataowner_mail
è stato mappato aprincipal.user.email_addresses
.reported_on
emonitor_name
sono stati mappati aadditional.fields
.sender
è stato mappato anetwork.email.from
.subject
è stato mappato anetwork.email.subject
.
2024-02-20
Miglioramento:
blocked
è stato mappato asecurity_result.action_details
esecurity_result.action
.
2024-01-12
Miglioramento:
incident_id
eDLP_EP_Incident_ID
sono stati mappati asecurity_result.detection_fields
.- È stato aggiunto un pattern Grok per analizzare i log dei nuovi formati SYSLOG.
location
è stato mappato aprincipal.resource.attribute.labels
.target_type
è stato mappato atarget.resource.attribute.labels
.
2023-12-06
Miglioramento:
- È stato aggiunto un pattern Grok per analizzare i log di nuovi formati.
application
è stato mappato aprincipal.application
.application_name
è stato mappato atarget.application
.policy_name
è stato mappato asecurity_result.detection_fields
.
2023-09-02
Miglioramento:
- È stato aggiunto il supporto per l'analisi dei log con errori e sono stati mappati i campi di conseguenza.
2023-08-17
Miglioramento:
Occurred on
è stato mappato aprincipal.labels
.- Quando
act
èModified
, impostasecurity_result.action
suALLOW_WITH_MODIFICATION
. status
è stato mappato aprincipal.labels
.
Hai bisogno di ulteriore assistenza? Ricevi risposte dai membri della community e dai professionisti di Google SecOps.