Raccogliere i log F5 AFM

Supportato in:

Questo documento spiega come importare i log di F5 Advanced Firewall Management in Google Security Operations utilizzando Bindplane. Il parser trasforma i log in formato SYSLOG e CSV o CSV in un modello Unified Data Model (UDM). Tenta innanzitutto di analizzare il messaggio di log utilizzando pattern grok specifici per il formato SYSLOG e, se non riesce, lo elabora come file CSV, estraendo e mappando i campi nella struttura UDM.

Prima di iniziare

Assicurati di soddisfare i seguenti prerequisiti:

  • Istanza Google SecOps
  • Windows 2016 o versioni successive oppure un host Linux con systemd
  • Se l'esecuzione avviene tramite un proxy, le porte del firewall sono aperte
  • Accesso con privilegi a F5 BIG-IP e F5 Advanced Firewall Management

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

Per ulteriori opzioni di installazione, consulta la guida all'installazione.

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

  1. 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).
  2. Modifica il file config.yaml come segue:

    receivers:
        tcplog:
            # Replace the port and IP address as required
            listen_address: "0.0.0.0:5145"
    
    exporters:
        chronicle/chronicle_w_labels:
            compression: gzip
            # Adjust the path to the credentials file you downloaded in Step 1
            creds_file_path: '/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: 'F5_AFM'
                raw_log_field: body
    
    service:
        pipelines:
            logs/source0__chronicle_w_labels-0:
                receivers:
                    - tcplog
                exporters:
                    - chronicle/chronicle_w_labels
    

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
    

Abilitare F5 BIG-IP Advanced Firewall Manager

  1. Accedi alla console di gestione dell'appliance BIG-IP.
  2. Vai a Sistema > Licenza.
  3. Verifica che Advanced Firewall Manager sia con licenza e abilitato.
  4. Per attivare Advanced Firewall Manager, vai a Sistema > Risorse > Provisioning.
  5. Seleziona la casella di controllo dalla colonna Provisioning e seleziona Nominale dall'elenco.
  6. Fai clic su Invia.

Configura il pool di logging in F5 AFM

  1. Vai a Traffico locale > Pool.
  2. Fai clic su Crea.
  3. Fornisci i seguenti dettagli di configurazione:
    • Nome: inserisci un nome per il pool di logging (ad esempio logging_pool).
    • Monitoraggio dell'integrità: nell'elenco Disponibile, seleziona TCP e fai clic su <<.
  4. Nella scheda Risorsa, seleziona il pool di logging creato in precedenza dall'elenco Nome nodo.
  5. Nel campo Indirizzo, inserisci l'indirizzo IP dell'agente Bindplane.
  6. Nel campo Porta di servizio, inserisci 5145 o un'altra porta come definita nell'agente Bindplane.
  7. Fai clic su Aggiungi.
  8. Fai clic su Fine.

Configura la destinazione dei log formattati in F5 AFM

  1. Vai a Sistema > Log > Configurazione > Destinazioni log.
  2. Fai clic su Crea.
  3. Fornisci i seguenti dettagli di configurazione:
    • Nome: inserisci un nome per la destinazione del formato di logging (ad esempio, Logging_Format_Destination).
    • Descrizione: inserisci una descrizione.
    • Tipo: seleziona Syslog remoto.
    • Formato Syslog: seleziona Syslog.
    • Destinazione log ad alta velocità: seleziona la destinazione di logging ad alta velocità (ad esempio, Logging_HSL_Destination).
  4. Fai clic su Fine.

Configura Log Publisher in F5 AFM

  1. Vai a Sistema > Log > Configurazione > Editor di log.
  2. Fai clic su Crea.
  3. Fornisci i seguenti dettagli di configurazione:
    • Nome: inserisci un nome per l'editore (ad esempio, Log_Publisher).
    • Descrizione: inserisci una descrizione.
    • Destinazioni: seleziona il nome della destinazione dei log che hai creato nel passaggio Configura il pool di logging in F5 AFM e fai clic su << per aggiungere elementi all'elenco Selezionati.

Configurare il profilo di logging in F5 AFM

  1. Vai a Sicurezza > Log eventi > Profilo di logging.
  2. Fai clic su Crea.
  3. Fornisci i seguenti dettagli di configurazione:
    • Nome: inserisci un nome per il profilo di logging (ad esempio, Logging_Profile).
    • Firewall di rete: seleziona la casella di controllo Attivato.
    • Publisher: seleziona il publisher di log che hai configurato in precedenza (ad esempio, Log_Publisher).
    • Corrispondenze regole log: seleziona le caselle di controllo Accetta, Elimina e Rifiuta.
    • Registra errori IP: seleziona la casella di controllo Attivata.
    • Registra errori TCP: seleziona la casella di controllo Attivato.
    • Registra eventi TCP: seleziona la casella di controllo Attivato.
    • Formato di archiviazione: seleziona Elenco campi.
    • Delimitatore: inserisci , (virgola) come delimitatore per gli eventi.
    • Opzioni di archiviazione: seleziona tutte le opzioni nell'elenco Elementi disponibili e fai clic su <<.
    • Nella scheda IP Intelligence, seleziona il publisher di log che hai configurato (ad esempio, Log_Publisher).
  4. Fai clic su Fine.

Configura l'associazione del profilo del server virtuale in F5 AFM

  1. Vai a Traffico locale > Server virtuali.
  2. Seleziona il server virtuale da modificare.
  3. Vai alla scheda Sicurezza > Criteri.
  4. Dall'elenco Log Profile (Profilo log), seleziona Enabled (Attivato).
  5. Nel campo Profilo, seleziona Logging_Profile e fai clic su <<.
  6. Fai clic su Aggiorna.

Tabella di mappatura UDM

Campo log Mappatura UDM Logic
acl_policy_name security_result.detection_fields.acl_policy_name Valore della colonna 22 se il formato del log è SYSLOG, altrimenti valore della colonna 13
acl_policy_type security_result.detection_fields.acl_policy_type Valore della colonna 21 se il formato del log è SYSLOG, altrimenti valore della colonna 18
acl_rule_name security_result.rule_name Valore della colonna 23 se il formato del log è SYSLOG, altrimenti valore della colonna 11
acl_rule_uuid security_result.rule_id Valore del campo acl_rule_uuid dal pattern grok
azione security_result.action Se il valore di column25 è Drop, Reject o Block, allora BLOCK, altrimenti se il valore di column25 è Accept, Accept decisively, Established o Allow, allora ALLOW
attackID security_result.detection_fields.attackID Valore della colonna 12 se il formato log è CSV senza src_ip
bigip_hostname intermediary.hostname Valore di column2 se il formato log è SYSLOG, altrimenti valore di column3
bigip_ip intermediary.ip Valore di column2 se il formato del log è SYSLOG, altrimenti valore di column1
context_name additional.fields.context_name.string_value Valore di column4 se il formato del log è SYSLOG, altrimenti valore di column10 se è presente src_ip, altrimenti valore di column5
context_type additional.fields.context_type.string_value Valore di column3 se il formato del log è SYSLOG, altrimenti valore di column4 se è presente src_ip, altrimenti valore di column4
dest_fqdn additional.fields.dest_fqdn.string_value Valore di column7 se il formato del log è SYSLOG, altrimenti valore di column13
dest_geo additional.fields.dest_geo.string_value Valore della colonna 14
dest_ip target.asset.ip, target.ip Valore di column8 se il formato del log è SYSLOG, altrimenti valore di column6 se è presente src_ip, altrimenti valore di column6
dest_port target.port Valore della colonna 10 se il formato del log è SYSLOG, altrimenti valore della colonna 8 se è presente src_ip, altrimenti valore della colonna 8
drop_reason security_result.summary Valore della colonna 26 se il formato log è SYSLOG, altrimenti valore della colonna 19
eventId additional.fields.eventId.string_value Valore acquisito nel pattern Grok
flow_id additional.fields.flow_id.string_value Valore della colonna 29 se il formato del log è SYSLOG, altrimenti valore della colonna 17
loglevel security_result.severity Se il valore del campo loglevel del pattern grok è warning,debug o notice, allora MEDIUM, altrimenti se il valore è info o informational, allora INFORMATIONAL, altrimenti se il valore è err o error, allora HIGH, altrimenti se il valore è alert, crit o emer, allora CRITICAL
packetsReceived network.received_packets Valore della colonna 15 se il formato del log è CSV senza src_ip
di diffusione target.application Valore del campo del processo dal pattern grok
protocol_number_src network.ip_protocol Valore di column12 se il formato del log è SYSLOG, altrimenti valore estratto dalla variabile ip_protocol_out
route_domain additional.fields.route_domain.string_value Valore della colonna 13 se il formato del log è SYSLOG, altrimenti valore della colonna 9
source_fqdn additional.fields.source_fqdn.string_value Valore di column5 se il formato del log è SYSLOG, altrimenti valore di column7
src_geo additional.fields.src_geo.string_value Valore della colonna 8
src_ip principal.asset.ip, principal.ip Valore della colonna 6 se il formato log è SYSLOG, altrimenti valore della colonna 9 se il formato log è CSV senza src_ip, altrimenti valore della colonna 5
src_port principal.port Valore di column9 se il formato log è SYSLOG, altrimenti valore di column7 se il formato log è CSV senza src_ip, altrimenti valore di column7
ts metadata.event_timestamp Valore del campo ts dal pattern grok
vlan additional.fields.vlan.string_value Valore della colonna 11 se il formato del log è SYSLOG, altrimenti valore della colonna 21
metadata.event_type Se esistono src_ip e dest_ip, NETWORK_CONNECTION, altrimenti se esiste solo src_ip, STATUS_UPDATE, altrimenti GENERIC_EVENT
metadata.log_type F5_AFM
metadata.product_name Gestione avanzata del firewall
metadata.vendor_name F5

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