Raccogliere i log del bilanciatore del carico di rete A10
Questo documento spiega come esportare i log del bilanciatore del carico di rete A10 in Google Security Operations utilizzando un agente Bindplane. Il parser utilizza innanzitutto i pattern grok
per estrarre i campi pertinenti. Poi, utilizza istruzioni condizionali (if
) per mappare i campi estratti al modello dei dati unificato (UDM) in base alla loro presenza e al loro contenuto, classificando infine il tipo di evento.
Prima di iniziare
- Assicurati di avere un'istanza Google SecOps.
- Assicurati di utilizzare Windows 2016 o versioni successive oppure un host Linux con
systemd
. - Se l'esecuzione avviene tramite un proxy, assicurati che le porte del firewall siano aperte.
- Assicurati di disporre dell'accesso con privilegi al bilanciatore del carico A10.
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 questa 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: A10_LOAD_BALANCER 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 il server Syslog nel bilanciatore del carico A10
- Stabilisci una connessione SSH al bilanciatore del carico A10 utilizzando un client SSH.
Inserisci la modalità di configurazione eseguendo il seguente comando:
config
Configura il server syslog remoto utilizzando il seguente comando:
logging host <bindplane-server-ip> <port-number>
- Sostituisci
<bindplane-server-ip>
con l'indirizzo IP di Bindplane e<port-number>
con quello configurato in Bindplane, ad esempio514
.
- Sostituisci
Imposta il livello di gravità utilizzando il seguente comando:
logging level information
- In questo modo, i messaggi informativi (come avvisi ed errori) verranno inviati all'agente Bindplane.
Assicurati che il logging syslog sia attivato eseguendo:
logging enable
Salva la configurazione per assicurarti che rimanga invariata dopo un riavvio:
write memory
Esempio di configurazione completa della CLI:
config logging host 192.168.1.100 514 logging level info logging enable write memory
Tabella di mappatura UDM
Campo log | Mappatura UDM | Logic |
---|---|---|
dns | additional.fields.dns.value.string_value | Il valore viene estratto dal campo dns dal pattern grok. |
dns_server | additional.fields.dns_server.value.string_value | Il valore viene estratto dal campo dns_server dal pattern grok. |
gslb | additional.fields.gslb.value.string_value | Il valore viene estratto dal campo gslb dal pattern grok. |
host_name | principal.hostname principal.asset.hostname |
Il valore viene estratto dal campo host_name dal pattern grok. |
httpmethod | network.http.method | Il valore viene estratto dal campo httpmethod dal pattern grok. |
partion_id | additional.fields.partion_id.value.string_value | Il valore viene estratto dal campo partion_id dal pattern grok. |
prin_ip | principal.ip principal.asset.ip |
Il valore viene estratto dal campo prin_ip dal pattern grok. |
prin_mac | principal.mac | Il valore viene estratto dal campo prin_mac dal pattern grok, con i punti rimossi e i due punti inseriti ogni due caratteri. |
prin_port | principal.port | Il valore viene estratto dal campo prin_port dal pattern grok e convertito in un numero intero. |
proto | network.ip_protocol | Il valore viene estratto dal campo proto dal pattern grok. Se il campo message contiene UDP , il valore è impostato su UDP . |
sessionid | network.session_id | Il valore viene estratto dal campo sessionid dal pattern grok. |
status_code | network.http.response_code | Il valore viene estratto dal campo status_code dal pattern grok e convertito in un numero intero. |
tar_ip | target.ip target.asset.ip |
Il valore viene estratto dal campo tar_ip dal pattern grok. |
tar_mac | target.mac | Il valore viene estratto dal campo tar_mac dal pattern grok, con i punti rimossi e i due punti inseriti ogni due caratteri. |
tar_port | target.port | Il valore viene estratto dal campo tar_port dal pattern grok e convertito in un numero intero. |
tempo | metadata.event_timestamp.seconds | Il valore viene analizzato dal campo time estratto dal pattern grok, utilizzando più formati di data possibili. |
url | target.url | Il valore viene estratto dal campo url dal pattern grok. |
utente | principal.user.userid | Il valore viene estratto dal campo user dal pattern grok. |
N/D | metadata.event_type | Determinato dalla logica del parser in base alla presenza di informazioni su entità e target: - NETWORK_CONNECTION : se sono presenti sia le informazioni sull'entità sia quelle sul target.- STATUS_UPDATE : se sono presenti solo le informazioni sul responsabile.- GENERIC_EVENT : altrimenti. |
N/D | metadata.log_type | Codificato in modo permanente su A10_LOAD_BALANCER . |
N/D | network.application_protocol | Imposta su HTTP se il campo proto è HTTP . |
Hai bisogno di ulteriore assistenza? Ricevi risposte dai membri della community e dai professionisti di Google SecOps.