Raccogliere i log di Symantec VIP Enterprise Gateway
Questo documento spiega come importare i log di Symantec VIP Enterprise Gateway in Google Security Operations utilizzando Bindplane. Il codice del parser tenta innanzitutto di elaborare il messaggio di log di input come oggetto JSON. Se l'analisi non va a buon fine, viene utilizzato un formato syslog e vengono utilizzate espressioni regolari (pattern grok) per estrarre i campi pertinenti, come timestamp, indirizzi IP, nomi utente e descrizioni degli eventi. Infine, mappa le informazioni estratte ai campi Unified Data Model (UDM) per una rappresentazione standardizzata degli eventi di sicurezza.
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 con privilegi a Symantec VIP Enterprise Gateway
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: 'SYMANTEC_VIP' 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 Syslog in Symantec VIP Enterprise Gateway
- Accedi alla UI web di Symantec VIP Gateway.
- Vai a Log > Configurazione Syslog.
- Se stai configurando Syslog per la prima volta, ti viene chiesto di configurare le impostazioni di Syslog. Seleziona Sì.
- Se hai già configurato Syslog, fai clic su Modifica in fondo alla pagina.
- Fornisci i seguenti dettagli di configurazione:
- Syslog Facility: seleziona LOG_LOCAL0.
- Host syslog: inserisci l'indirizzo IP dell'agente Bindplane.
- Porta Syslog: inserisci il numero di porta dell'agente Bindplane (ad esempio,
514
per UDP).
- Fai clic su Salva.
- Vai a Impostazioni > Impostazioni della console.
- Fornisci i seguenti dettagli di configurazione:
- Livello di logging: seleziona Informazioni.
- Enable Syslog (Attiva Syslog): seleziona Yes (Sì).
- Fai clic su Invia.
- Vai a Impostazioni > Impostazioni controllo integrità.
- Seleziona Sì per attivare il servizio di controllo di integrità.
- Fornisci i seguenti dettagli di configurazione:
- Livello di logging: seleziona Informazioni.
- Enable Syslog (Attiva Syslog): seleziona Yes (Sì).
- Fai clic su Invia.
- Vai a User Store > Sincronizzazione directory LDAP.
- Modifica i seguenti dettagli della configurazione:
- Livello di log: seleziona Informazioni.
- Enable Syslog (Attiva Syslog): seleziona Yes (Sì).
- Fai clic su Invia.
Tabella di mappatura UDM
Campo log | Mappatura UDM | Logic |
---|---|---|
applicazione | read_only_udm.principal.application | Valore estratto dal campo application dal filtro JSON. |
comando | read_only_udm.target.process.command_line | Valore estratto dal campo command dal pattern grok. |
credentialType | Questo campo non è mappato direttamente a UDM. Viene utilizzato per derivare il valore di read_only_udm.extensions.auth.mechanism. | |
dati | Questo campo non è mappato direttamente a UDM. Viene analizzato per estrarre altri campi. | |
data2 | Questo campo non è mappato direttamente a UDM. Viene analizzato per estrarre altri campi. | |
dataora | read_only_udm.metadata.event_timestamp.seconds read_only_udm.metadata.event_timestamp.nanos |
Secondi e nanosecondi dall'epoca estratti dal campo datetime . |
decr | read_only_udm.metadata.description | Valore estratto dal campo desc dal filtro JSON. |
description | read_only_udm.security_result.description | Valore estratto dal campo description dal filtro JSON. |
filename | read_only_udm.target.process.file.full_path | Valore estratto dal campo filename dal pattern grok. |
nome host | read_only_udm.principal.hostname | Valore estratto dal campo hostname dal filtro JSON. |
host_name | read_only_udm.intermediary.hostname | Valore estratto dal campo host_name dal filtro JSON. |
log_level | Questo campo non è mappato direttamente a UDM. Viene utilizzato per derivare il valore di read_only_udm.security_result.severity. | |
log_type | read_only_udm.metadata.product_event_type | Valore estratto dal campo log_type dal filtro JSON. |
msg | Questo campo non è mappato direttamente a UDM. Viene analizzato per estrarre altri campi. | |
operazione | read_only_udm.security_result.summary | Valore estratto dal campo operation dal pattern grok. |
processid | read_only_udm.target.process.pid | Valore estratto dal campo processid dal pattern grok. |
prodotto | read_only_udm.metadata.product_name | Valore estratto dal campo product dal filtro JSON. |
motivo | read_only_udm.metadata.description | Valore estratto dal campo reason dal pattern grok. |
request_id | read_only_udm.target.resource.id | Valore estratto dal campo request_id dal pattern grok. |
src_ip | read_only_udm.principal.ip | Valore estratto dal campo src_ip dal pattern grok. |
stato | read_only_udm.metadata.description | Valore estratto dal campo status dal pattern grok. |
riepilogo | read_only_udm.security_result.summary | Valore estratto dal campo summary dal filtro JSON. |
timestamp.nanos | read_only_udm.metadata.event_timestamp.nanos | Nanosecondi dal timestamp del log originale. |
timestamp.seconds | read_only_udm.metadata.event_timestamp.seconds | Secondi dal timestamp del log originale. |
tempo | Questo campo non è mappato direttamente a UDM. Viene utilizzato per derivare i valori di read_only_udm.metadata.event_timestamp.seconds e read_only_udm.metadata.event_timestamp.nanos. | |
utente | read_only_udm.target.user.userid | Valore estratto dal campo user dal filtro JSON o dal pattern grok. |
vendor | read_only_udm.metadata.vendor_name | Valore estratto dal campo vendor dal filtro JSON. |
read_only_udm.extensions.auth.mechanism | Determinato dal campo credentialType . Se credentialType è SMS_OTP o STANDARD_OTP , viene utilizzato OTP . Se credentialType corrisponde all'espressione regolare PASSWORD , viene utilizzato USERNAME_PASSWORD . |
|
read_only_udm.extensions.auth.type | Se il campo reason corrisponde all'espressione regolare LDAP , viene utilizzato SSO . In caso contrario, viene utilizzato AUTHTYPE_UNSPECIFIED . |
|
read_only_udm.metadata.event_type | Determinato dalla presenza di determinati campi. Se user o processid non è vuoto, viene utilizzato USER_LOGIN . Se user è vuoto e src_ip non è vuoto o 0.0.0.0 , viene utilizzato STATUS_UPDATE . In caso contrario, viene utilizzato GENERIC_EVENT . |
|
read_only_udm.metadata.log_type | Codificato in modo permanente su SYMANTEC_VIP . |
|
read_only_udm.security_result.action | Determinato dal campo status . Se status è Authentication Success , GRANTED , Authentication Completed , After Services Authenticate call o CHALLENGED , viene utilizzato ALLOW . Se status è DENIED , Acces-Reject , Unknown Error , Service Unavailable o FAILED , viene utilizzato BLOCK . Se status è PUSH request sent for user o Trying to fetch attribute , viene utilizzato QUARANTINE . |
|
read_only_udm.security_result.severity | Determinato dal campo log_level . Se log_level è DEBUG , INFO o AUDIT , viene utilizzato INFORMATIONAL . Se log_level è ERROR , viene utilizzato ERROR . Se log_level è WARNING , viene utilizzato MEDIUM . |
Hai bisogno di ulteriore assistenza? Ricevi risposte dai membri della community e dai professionisti di Google SecOps.