Raccogliere i log F5 AFM

Versione parser: 23.0

Supportato in:

Questo documento spiega come importare i log di F5 Advanced Firewall Management (AFM) in Google Security Operations utilizzando l'agente Bindplane.

F5 BIG-IP AFM è un modulo firewall di rete che genera messaggi syslog per le azioni delle regole firewall (accetta, elimina, rifiuta), gli eventi di intelligence IP e gli errori TCP. Il parser estrae i campi dai log in formato CSV o syslog e li mappa al modello Unified Data Model (UDM).

Prima di iniziare

Assicurati di soddisfare i seguenti prerequisiti:

  • Un'istanza Google SecOps
  • Windows Server 2016 o versioni successive o host Linux con systemd
  • Connettività di rete tra l'agente Bindplane e l'appliance F5 BIG-IP
  • Se l'agente viene eseguito dietro un proxy, assicurati che le porte del firewall siano aperte in base ai requisiti dell'agente Bindplane
  • Accesso privilegiato a F5 BIG-IP e F5 Advanced Firewall Management

Recuperare il file di autenticazione dell'importazione di Google SecOps

  1. Accedi alla console Google SecOps.
  2. Vai a Impostazioni SIEM > Agenti di raccolta.
  3. Scarica il file di autenticazione dell'acquisizione.
  4. Salva il file in modo sicuro sul sistema in cui verrà installato l'agente 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 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
    
  3. Attendi il completamento dell'installazione.

  4. Verifica l'installazione eseguendo:

    sc query observiq-otel-collector
    

    Il servizio dovrebbe essere visualizzato come IN ESECUZIONE.

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
    
  3. Attendi il completamento dell'installazione.

  4. Verifica l'installazione eseguendo:

    sudo systemctl status observiq-otel-collector
    

    Il servizio dovrebbe essere visualizzato come attivo (in esecuzione).

Risorse aggiuntive per l'installazione

Per ulteriori opzioni di installazione e risoluzione dei problemi, consulta la guida all'installazione dell'agente Bindplane.

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

Individua il file di configurazione

  • Linux:

    sudo nano /etc/bindplane-agent/config.yaml
    
  • Windows:

    notepad "C:\Program Files\observIQ OpenTelemetry Collector\config.yaml"
    

Modifica il file di configurazione

  • Sostituisci l'intero contenuto di config.yaml con la seguente configurazione:

    receivers:
        tcplog:
            listen_address: "0.0.0.0:5145"
    
    exporters:
        chronicle/f5_afm:
            compression: gzip
            creds_file_path: '/etc/bindplane-agent/ingestion-auth.json'
            customer_id: '<customer_id>'
            endpoint: malachiteingestion-pa.googleapis.com
            log_type: F5_AFM
            raw_log_field: body
    
    service:
        pipelines:
            logs/f5_afm_to_chronicle:
                receivers:
                    - tcplog
                exporters:
                    - chronicle/f5_afm
    

Parametri di configurazione

Sostituisci i seguenti segnaposto:

  • Configurazione del destinatario:

    • listen_address: Indirizzo IP e porta da ascoltare:
      • 0.0.0.0 per ascoltare su tutte le interfacce (consigliato)
      • La porta 5145 viene utilizzata per la registrazione ad alta velocità F5 AFM (regola in base alla configurazione F5)
  • Configurazione dell'esportatore:

    • creds_file_path: Percorso completo del file di autenticazione dell'acquisizione:
      • Linux: /etc/bindplane-agent/ingestion-auth.json
      • Windows: C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
    • customer_id: ID cliente copiato dalla console Google SecOps
    • endpoint: URL dell'endpoint regionale:
      • Stati Uniti: malachiteingestion-pa.googleapis.com
      • Europa: europe-malachiteingestion-pa.googleapis.com
      • Asia: asia-southeast1-malachiteingestion-pa.googleapis.com
      • Per l'elenco completo, consulta Endpoint regionali.

Salva il file di configurazione

  • Dopo la modifica, salva il file:
    • Linux: premi Ctrl+O, poi Enter e infine Ctrl+X.
    • Windows: fai clic su File > Salva.

Riavvia l'agente Bindplane per applicare le modifiche

  • Per riavviare l'agente Bindplane in Linux, esegui questo comando:

    sudo systemctl restart observiq-otel-collector
    
    1. Verifica che il servizio sia in esecuzione:

      sudo systemctl status observiq-otel-collector
      
    2. Controlla i log per individuare eventuali errori:

      sudo journalctl -u observiq-otel-collector -f
      
  • Per riavviare l'agente Bindplane in Windows, scegli una delle seguenti opzioni:

    • Prompt dei comandi o PowerShell come amministratore:

      net stop observiq-otel-collector && net start observiq-otel-collector
      
    • Console dei servizi:

      1. Premi Win+R, digita services.msc e premi Invio.
      2. Individua observIQ OpenTelemetry Collector.
      3. Fai clic con il tasto destro del mouse e seleziona Riavvia.
      4. Verifica che il servizio sia in esecuzione:

        sc query observiq-otel-collector
        
      5. Controlla i log per individuare eventuali errori:

        type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
        

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 > Risorsa > 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 Disponibili, 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 dei log 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 log che hai creato nel passaggio Configura il pool di logging in F5 AFM e fai clic su << per aggiungere elementi all'elenco Selezionati.

Configura 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 log (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 Attivato.
    • 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 Local Traffic > Virtual Servers.
  2. Seleziona il server virtuale da modificare.
  3. Vai alla scheda Sicurezza > Policy.
  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 Logica
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 della colonna 25 è Drop, Reject o Block, allora BLOCK, altrimenti se il valore della colonna 25 è 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 del log è SYSLOG, altrimenti valore di column3
bigip_ip intermediary.ip Valore della colonna 2 se il formato del log è SYSLOG, altrimenti valore della colonna 1
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 della colonna 7 se il formato del log è SYSLOG, altrimenti valore della colonna 13
dest_geo additional.fields.dest_geo.string_value Valore di column14
dest_ip target.asset.ip, target.ip Valore della colonna 8 se il formato log è SYSLOG, altrimenti valore della colonna 6 se è presente src_ip, altrimenti valore della colonna 6
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 del 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 log è CSV senza src_ip
di diffusione target.application Valore del campo del processo dal pattern grok
protocol_number_src network.ip_protocol Valore della colonna 12 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 di column8
src_ip principal.asset.ip, principal.ip Valore di column6 se il formato log è SYSLOG, altrimenti valore di column9 se il formato log è CSV senza src_ip, altrimenti valore di column5
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
partition event.idm.read_only_udm.additional.fields Mappato dal log delle modifiche
level event.idm.read_only_udm.additional.fields Mappato dal log delle modifiche
tty event.idm.read_only_udm.additional.fields Mappato dal log delle modifiche
attempts event.idm.read_only_udm.additional.fields Mappato dal log delle modifiche
start event.idm.read_only_udm.additional.fields Mappato dal log delle modifiche
end event.idm.read_only_udm.additional.fields Mappato dal log delle modifiche
prin_ip event.idm.read_only_udm.principal.ip e event.idm.read_only_udm.principal.asset.ip Mappato dal log delle modifiche
internal_tag event.idm.read_only_udm.additional.fields Mappato dal log delle modifiche
src_zone event.idm.read_only_udm.additional.fields Mappato dal log delle modifiche
dest_zone event.idm.read_only_udm.additional.fields Mappato dal log delle modifiche
translated_dest_ip event.idm.read_only_udm.additional.fields Mappato dal log delle modifiche
translated_dest_port event.idm.read_only_udm.additional.fields Mappato dal log delle modifiche
translated_source_ip event.idm.read_only_udm.additional.fields Mappato dal log delle modifiche
translated_source_port event.idm.read_only_udm.additional.fields Mappato dal log delle modifiche
syslog_reporter_host event.idm.read_only_udm.additional.fields Mappato dal log delle modifiche
sa_translation_pool event.idm.read_only_udm.additional.fields Mappato dal log delle modifiche
sa_translation_type event.idm.read_only_udm.additional.fields Mappato dal log delle modifiche
translated_route_domain event.idm.read_only_udm.additional.fields Mappato dal log delle modifiche
send_to_vs event.idm.read_only_udm.additional.fields Mappato dal log delle modifiche
src_zone event.idm.read_only_udm.principal.resource.attribute.labels Mappato dal log delle modifiche
dest_zone event.idm.read_only_udm.target.resource.attribute.labels Mappato dal log delle modifiche
acl_policy_name event.idm.read_only_udm.additional.fields Mappato dal log delle modifiche
acl_policy_type event.idm.read_only_udm.additional.fields Mappato dal log delle modifiche
chronicle_log_type event.idm.read_only_udm.additional.fields Mappato dal log delle modifiche
chronicle_namespace event.idm.read_only_udm.additional.fields Mappato dal log delle modifiche
flow_id event.idm.read_only_udm.additional.fields Mappato dal log delle modifiche
vlan event.idm.read_only_udm.additional.fields Mappato dal log delle modifiche
route_domain event.idm.read_only_udm.additional.fields Mappato dal log delle modifiche
partition_name event.idm.read_only_udm.additional.fields Mappato dal log delle modifiche
source_ipint_categories event.idm.read_only_udm.principal.resource.attribute.labels Mappato dal log delle modifiche
src_geo event.idm.read_only_udm.principal.resource.attribute.labels Mappato dal log delle modifiche
source_fqdn event.idm.read_only_udm.principal.resource.attribute.labels Mappato dal log delle modifiche
dest_ipint_categories event.idm.read_only_udm.target.resource.attribute.labels Mappato dal log delle modifiche
dst_geo event.idm.read_only_udm.target.resource.attribute.labels Mappato dal log delle modifiche
dest_fqdn event.idm.read_only_udm.target.resource.attribute.labels Mappato dal log delle modifiche
acl_rule_name event.idm.read_only_udm.security_result.rule_name Mappato dal log delle modifiche
acl_rule_id event.idm.read_only_udm.security_result.rule_id Mappato dal log delle modifiche
action event.idm.read_only_udm.security_result.action Mappato dal log delle modifiche
bigip_mgmt_ip event.idm.read_only_udm.intermediary.ip Mappato dal log delle modifiche
context_name event.idm.read_only_udm.target.resource.name Mappato dal log delle modifiche
context_type event.idm.read_only_udm.target.resource.type Mappato dal log delle modifiche
date_time event.idm.read_only_udm.metadata.event_timestamp Mappato dal log delle modifiche
dest_ip event.idm.read_only_udm.target.ip e event.idm.read_only_udm.target.asset.ip Mappato dal log delle modifiche
net.peer.ip event.idm.read_only_udm.target.ip e event.idm.read_only_udm.target.asset.ip Mappato dal log delle modifiche
dest_port event.idm.read_only_udm.target.port Mappato dal log delle modifiche
net.peer.port event.idm.read_only_udm.target.port Mappato dal log delle modifiche
device_version event.idm.read_only_udm.metadata.product_version Mappato dal log delle modifiche
drop_reason event.idm.read_only_udm.security_result.summary Mappato dal log delle modifiche
hostname event.idm.read_only_udm.principal.hostname e event.idm.read_only_udm.principal.asset.hostname Mappato dal log delle modifiche
ip_protocol event.idm.read_only_udm.network.ip_protocol Mappato dal log delle modifiche
source_ip event.idm.read_only_udm.principal.ip e event.idm.read_only_udm.principal.asset.ip Mappato dal log delle modifiche
net.host.ip event.idm.read_only_udm.principal.ip e event.idm.read_only_udm.principal.asset.ip Mappato dal log delle modifiche
source_port event.idm.read_only_udm.principal.port Mappato dal log delle modifiche
net.host.port event.idm.read_only_udm.principal.port Mappato dal log delle modifiche
errdefs_msg_name event.idm.read_only_udm.metadata.product_event_type Mappato dal log delle modifiche
errdefs_msgno event.idm.read_only_udm.metadata.product_log_id Mappato dal log delle modifiche
source_user event.idm.read_only_udm.principal.user.userid Mappato dal log delle modifiche
source_user_group event.idm.read_only_udm.principal.user.group_identifiers Mappato dal log delle modifiche
severity event.idm.read_only_udm.security_result.severity_details Mappato dal log delle modifiche
dvchost event.idm.read_only_udm.intermediary.hostname e event.idm.read_only_udm.intermediary.asset.hostname Mappato dal log delle modifiche
dvc event.idm.read_only_udm.intermediary.ip e event.idm.read_only_udm.intermediary.asset.ip Mappato dal log delle modifiche
c6a2 event.idm.read_only_udm.principal.resource.attribute.labels Mappato dal log delle modifiche
F5SrcZone event.idm.read_only_udm.principal.resource.attribute.labels Mappato dal log delle modifiche
F5SrcFqdn event.idm.read_only_udm.principal.resource.attribute.labels Mappato dal log delle modifiche
F5SrcUser event.idm.read_only_udm.principal.user.attribute.labels Mappato dal log delle modifiche
c6a3 event.idm.read_only_udm.target.resource.attribute.labels Mappato dal log delle modifiche
F5DstZone event.idm.read_only_udm.target.resource.attribute.labels Mappato dal log delle modifiche
F5DstVlan event.idm.read_only_udm.target.resource.attribute.labels Mappato dal log delle modifiche
F5DstFqdn event.idm.read_only_udm.target.resource.attribute.labels Mappato dal log delle modifiche
F5SendToVs event.idm.read_only_udm.additional.fields Mappato dal log delle modifiche
F5SrcIpiCategories event.idm.read_only_udm.additional.fields Mappato dal log delle modifiche
F5DstIpiCategories event.idm.read_only_udm.additional.fields Mappato dal log delle modifiche
module event.idm.read_only_udm.additional.fields Mappato dal log delle modifiche
tid event.idm.read_only_udm.additional.fields Mappato dal log delle modifiche
cpu event.idm.read_only_udm.additional.fields Mappato dal log delle modifiche
cmd_line event.idm.read_only_udm.target.process.command_line Mappato dal log delle modifiche
msg_data event.idm.read_only_udm.security_result.summary Mappato dal log delle modifiche
pid event.idm.read_only_udm.principal.process.pid Mappato dal log delle modifiche
user event.idm.read_only_udm.principal.user.userid Mappato dal log delle modifiche
folder_path event.idm.read_only_udm.principal.file.full_path Mappato dal log delle modifiche
status event.idm.read_only_udm.additional.fields Mappato dal log delle modifiche
cmd_data event.idm.read_only_udm.additional.fields Mappato dal log delle modifiche
target_ip event.idm.read_only_udm.target.ip e event.idm.read_only_udm.target.asset.ip Mappato dal log delle modifiche
desc metadata.description Mappato dal log delle modifiche
prin_port principal.port Mappato dal log delle modifiche
target_port target.port Mappato dal log delle modifiche
ts2 metadata.event_timestamp Mappato dal log delle modifiche
tls_ver network.tls.version Mappato dal log delle modifiche
cipher network.tls.cipher Mappato dal log delle modifiche
prod_event_type metadata.product_event_type Mappato dal log delle modifiche
path target.url Mappato dal log delle modifiche
response_size network.sent_bytes Mappato dal log delle modifiche
received_size network.received_bytes Mappato dal log delle modifiche
usr principal.user.userid Mappato dal log delle modifiche
schema_version target.resource.attribute.labels Mappato dal log delle modifiche
severity_info security_result.severity_details Mappato dal log delle modifiche
target_pid target.process.pid Mappato dal log delle modifiche
additional1 additional.fields Mappato dal log delle modifiche
dvc intermediary.hostname Mappato dal log delle modifiche
metadata.event_type USER_UNCATEGORIZED Mappato dal log delle modifiche
prin_ip principal.ip Mappato dal log delle modifiche
F5FlowID additional.fields Mappato dal log delle modifiche
F5TranslatedVlan additional.fields Mappato dal log delle modifiche
F5SrcTranslationType additional.fields Mappato dal log delle modifiche
F5SrcTranslationPool additional.fields Mappato dal log delle modifiche
F5SrcGeo additional.fields Mappato dal log delle modifiche
F5DstGeo additional.fields Mappato dal log delle modifiche
F5RouteDomain additional.fields Mappato dal log delle modifiche
Column12 security_result.detection_fields Mappato dal log delle modifiche
Column14 security_result.action Mappato dal log delle modifiche

Log delle modifiche

Visualizza il log delle modifiche per questo parser

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