Raccogliere i log del bilanciatore del carico di rete A10

Supportato in:

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

  1. Accedi alla console Google SecOps.
  2. Vai a Impostazioni SIEM > Agenti di raccolta.
  3. 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

  1. Accedi alla console Google SecOps.
  2. Vai a Impostazioni SIEM > Profilo.
  3. Copia e salva l'ID cliente dalla sezione Dettagli dell'organizzazione.

Installa l'agente Bindplane

Installazione di Windows

  1. Apri il prompt dei comandi o PowerShell come amministratore.
  2. Esegui questo comando:

    msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
    

Installazione di Linux

  1. Apri un terminale con privilegi di root o sudo.
  2. 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

Configura l'agente Bindplane per importare Syslog e inviarli a Google SecOps

  1. Accedi al file di configurazione:

    1. Individua il file config.yaml. In genere, si trova nella directory /etc/bindplane-agent/ su Linux o nella directory di installazione su Windows.
    2. Apri il file utilizzando un editor di testo (ad esempio nano, vi o Blocco note).
  2. 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
    
  3. Sostituisci la porta e l'indirizzo IP in base alle esigenze della tua infrastruttura.

  4. Sostituisci <customer_id> con l'ID cliente effettivo.

  5. 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

  1. Stabilisci una connessione SSH al bilanciatore del carico A10 utilizzando un client SSH.
  2. Inserisci la modalità di configurazione eseguendo il seguente comando:

    config
    
  3. 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 esempio 514.
  4. 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.
  5. Assicurati che il logging syslog sia attivato eseguendo:

    logging enable
    
  6. 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.