Raccogliere i log F5 BIG-IP LTM

Supportato in:

Questo documento spiega come importare i log F5 BIG-IP LTM in Google Security Operations utilizzando Bindplane.

Prima di iniziare

Assicurati di soddisfare i seguenti prerequisiti:

  • Un'istanza Google SecOps
  • Un host Windows 2016 o versioni successive o Linux con systemd
  • Se l'agente viene eseguito dietro un proxy, assicurati che le porte del firewall siano aperte in base ai requisiti dell'agente Bindplane.
  • Accesso amministrativo al dispositivo F5 BIG-IP LTM (TMSH o UI web)

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

Installa l'agente Bindplane sul sistema operativo Windows o Linux seguendo le istruzioni riportate di seguito.

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 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 inviarlo 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:
        # UDP syslog listener (RFC5424 over UDP)
        udplog:
          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_file_path: "/opt/observiq-otel-collector/ingestion-auth.json"
          # Replace with your actual customer ID from Step 2
          customer_id: "<YOUR_CUSTOMER_ID>"
          # Select the appropriate regional endpoint based on where your Google SecOps instance is provisioned
          # For regional endpoints, see: [https://cloud.google.com/chronicle/docs/reference/ingestion-api#regional_endpoints](https://cloud.google.com/chronicle/docs/reference/ingestion-api#regional_endpoints)
          endpoint: "<YOUR_REGIONAL_ENDPOINT>"
          # Set the log_type to ensure the correct parser is applied
          log_type: "F5_BIGIP_LTM"
          raw_log_field: body
          # You can optionally add other custom ingestion labels here if needed
          ingestion_labels:
    
      service:
        pipelines:
          logs/f5ltm:
            receivers: [udplog]
            exporters: [chronicle/chronicle_w_labels]
    
    • listen_address è impostato su 0.0.0.0:514 per accettare syslog da qualsiasi origine. Modifica se devi limitare a interfacce specifiche.
    • La porta UDP 514 è la porta syslog standard. Se la porta 514 richiede privilegi di root, puoi utilizzare una porta superiore a 1024 (ad esempio 5514) e modificare la configurazione F5 di conseguenza.
    • Per TCP anziché UDP, crea un ricevitore tcplog e imposta il protocollo F5 Remote High-Speed Log su tcp.
  3. Salva il file ed esci dall'editor.

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 l'inoltro di syslog F5 BIG-IP LTM

Opzione A: utilizzo di TMSH (interfaccia a riga di comando)

  1. Crea un pool per la destinazione syslog

    1. Connettiti al dispositivo F5 BIG-IP LTM tramite SSH.
    2. Esegui questi comandi:

      tmsh create ltm pool f5_syslog_pool members add { <BINDPLANE_IP>:514 } monitor gateway_icmp
      
      • Sostituisci <BINDPLANE_IP> con l'indirizzo IP dell'host dell'agente Bindplane.
  2. Crea destinazione log

    tmsh create sys log-config destination remote-high-speed-log f5_hsl_dest protocol udp pool-name f5_syslog_pool
    
    tmsh create sys log-config destination remote-syslog f5_remote_syslog_dest format rfc5424 remote-high-speed-log f5_hsl_dest
    
  3. Crea un publisher di log

    tmsh create sys log-config publisher f5_log_publisher destinations add { f5_remote_syslog_dest }
    
  4. Crea profilo di logging delle richieste

    tmsh create ltm profile request-log f5_ltm_request_log \
      request-log-pool f5_syslog_pool request-log-protocol mds-udp \
      request-log-template 'event_source="request_logging",hostname="$BIGIP_HOSTNAME",client_ip="$CLIENT_IP",server_ip="$SERVER_IP",http_method="$HTTP_METHOD",http_uri="$HTTP_URI",http_host="${host}",virtual_name="$VIRTUAL_NAME",event_timestamp="$DATE_HTTP"' \
      request-logging enabled \
      response-log-pool f5_syslog_pool response-log-protocol mds-udp \
      response-log-template 'event_source="response_logging",hostname="$BIGIP_HOSTNAME",client_ip="$CLIENT_IP",server_ip="$SERVER_IP",http_method="$HTTP_METHOD",http_uri="$HTTP_URI",http_host="${host}",virtual_name="$VIRTUAL_NAME",http_statcode="$HTTP_STATCODE",event_timestamp="$DATE_HTTP"' \
      response-logging enabled
    
  5. Applica il profilo di logging al server virtuale

    tmsh modify ltm virtual <VIRTUAL_SERVER_NAME> profiles add { f5_ltm_request_log }
    
    • Sostituisci <VIRTUAL_SERVER_NAME> con il nome del server virtuale.
  6. Salva configurazione

    tmsh save sys config
    

Opzione B: utilizzo dell'interfaccia utente web F5 (utilità di configurazione)

  1. Crea un pool per la destinazione syslog

    1. Accedi all'interfaccia web di F5 BIG-IP LTM.
    2. Vai a Local Traffic > Pool > Elenco pool.
    3. Fai clic su Crea.
    4. Fornisci i seguenti dettagli di configurazione:
      • Nome: inserisci f5_syslog_pool.
      • Monitor di integrità: seleziona gateway_icmp.
    5. Nella sezione Risorse, in Nuovi membri:
      • Indirizzo: inserisci l'indirizzo IP dell'agente Bindplane.
      • Porta di servizio: inserisci 514.
    6. Fai clic su Aggiungi.
    7. Fai clic su Fine.
  2. Crea una destinazione di log remota ad alta velocità

    1. Vai a Sistema > Log > Configurazione > Destinazioni log.
    2. Fai clic su Crea.
    3. Fornisci i seguenti dettagli di configurazione:
      • Nome: inserisci f5_hsl_dest.
      • Tipo: seleziona Log remoto ad alta velocità.
      • Protocollo: seleziona UDP.
      • Nome pool: seleziona f5_syslog_pool.
    4. Fai clic su Fine.
  3. Crea destinazione syslog remoto

    1. Vai a Sistema > Log > Configurazione > Destinazioni log.
    2. Fai clic su Crea.
    3. Fornisci i seguenti dettagli di configurazione:
      • Nome: inserisci f5_remote_syslog_dest.
      • Tipo: seleziona Syslog remoto.
      • Formato Syslog: seleziona RFC5424.
      • Log remoto ad alta velocità: seleziona f5_hsl_dest.
    4. Fai clic su Fine.
  4. Crea un publisher di log

    1. Vai a Sistema > Log > Configurazione > Editor di log.
    2. Fai clic su Crea.
    3. Fornisci i seguenti dettagli di configurazione:
      • Nome: inserisci f5_log_publisher.
      • Destinazioni: sposta f5_remote_syslog_dest da Disponibile a Selezionato.
    4. Fai clic su Fine.
  5. Crea profilo di logging delle richieste

    1. Vai a Traffico locale > Profili > Altro > Registrazione delle richieste.
    2. Fai clic su Crea.
    3. Fornisci i seguenti dettagli di configurazione:
      • Nome: inserisci f5_ltm_request_log.
      • Profilo genitore: seleziona request-log.
    4. Nella sezione Impostazioni richiesta:

      • Registrazione delle richieste: seleziona Attivata.
      • Request Log Protocol (Protocollo log delle richieste): seleziona mds-udp.
      • Pool di log delle richieste: seleziona f5_syslog_pool.
      • Request Log Template (Modello di log delle richieste): inserisci quanto segue:

        event_source="request_logging",hostname="$BIGIP_HOSTNAME",client_ip="$CLIENT_IP",server_ip="$SERVER_IP",http_method="$HTTP_METHOD",http_uri="$HTTP_URI",http_host="${host}",virtual_name="$VIRTUAL_NAME",event_timestamp="$DATE_HTTP"
        
    5. Nella sezione Impostazioni delle risposte:

      • Registrazione delle risposte: seleziona Attivata.
      • Protocollo log delle risposte: seleziona mds-udp.
      • Pool di log delle risposte: seleziona f5_syslog_pool.
      • Modello di log delle risposte: inserisci quanto segue:

        event_source="response_logging",hostname="$BIGIP_HOSTNAME",client_ip="$CLIENT_IP",server_ip="$SERVER_IP",http_method="$HTTP_METHOD",http_uri="$HTTP_URI",http_host="${host}",virtual_name="$VIRTUAL_NAME",http_statcode="$HTTP_STATCODE",event_timestamp="$DATE_HTTP"
        
  6. Fai clic su Fine.

Applica il profilo di logging delle richieste al server virtuale

  1. Vai a Local Traffic > Virtual Servers > Virtual Server List.
  2. Fai clic sul nome del server virtuale.
  3. Vai alla scheda Risorse.
  4. In iRule e profili, fai clic su Gestisci accanto a Profili.
  5. In Disponibili, individua f5_ltm_request_log e spostalo in Selezionati.
  6. Fai clic su Fine.
  7. Fai clic su Aggiorna.

Tabella di mappatura UDM

Campo log Mappatura UDM Logic
hostname principal.hostname Nome host syslog (dispositivo che ha emesso il log)
client_ip principal.ip Indirizzo IP di origine del client
client_port principal.port Porta di origine (se inclusa nel modello)
server_ip target.ip IP di destinazione (membro del pool)
server_port target.port Porta di destinazione (membro del pool)
http_method network.http.method Metodo di richiesta HTTP
http_uri network.http.url URI della richiesta HTTP (incluso il percorso/query, se presente)
http_host network.http.host Intestazione host HTTP
http_statcode network.http.response_code Codice di stato risposta HTTP
user_agent network.http.user_agent Intestazione user agent
virtual_name target.application Nome del server virtuale F5
event_timestamp metadata.event_timestamp Ora dell'evento dal dispositivo
event_source metadata.product_event_type Tag tipo di evento (request_logging, response_logging)

Hai bisogno di ulteriore assistenza? Ricevi risposte dai membri della community e dai professionisti di Google SecOps.