Raccogliere i log LTM di F5 BIG-IP

Supportato in:

Questo documento descrive come raccogliere i log di F5 BIG-IP Local Traffic Manager (LTM) utilizzando un forwarder Google Security Operations.

Per ulteriori informazioni, consulta Importazione dei dati in Google Security Operations.

Un'etichetta di importazione identifica il parser che normalizza i dati di log non elaborati in formato UDM strutturato. Le informazioni contenute in questo documento si applicano al parser con l'etichetta di importazione F5_BIGIP_LTM.

Configura F5 BIG-IP LTM

  1. Accedi a SSH utilizzando le credenziali root.
  2. Accedi a Traffic Management Shell (tmsh) con il seguente comando:

    tmsh

  3. Invia i messaggi di log filtrati ai server syslog remoti con il seguente comando:

    modify /sys syslog remote-servers none

  4. Rimuovi l'istruzione remote-servers e aggiungi un'istruzione syslog include che definisce una regola di filtro e il server remoto.

  5. Per definire il filtro syslog richiesto che fa riferimento al server remoto, utilizza il seguente comando:

    edit /sys syslog all-properties

  6. Sostituisci il comando include none con il seguente filtro e aggiungi l'indirizzo IP e il numero di porta.

    include "
    
    filter f_remote_loghost {
    
    level(debug..emerg);
    
    };
    
    filter f_ssl_acc {
    
    not match(\"ssl_acc\");
    
    };
    
    filter f_ssl_req {
    
    not match(\"ssl_req\");
    
    };
    
    destination d_remote_loghost {
    
    udp(IP_ADDRESS PORT);
    
    };
    
    log {
    
    source(s_syslog_pipe);
    
    filter(f_remote_loghost);
    
    filter(f_ssl_acc);
    
    filter(f_ssl_req);
    
    destination(d_remote_loghost);
    
    };
    
    "
    

    Sostituisci IP_ADDRESS con l'indirizzo IP del forwarder di Google Security Operations e port con il numero di porta elevato.

  7. Per uscire dall'editor di testo, premi Esc e poi digita wq!.

  8. Salva la configurazione con il seguente comando:

    save /sys config

Configura il forwarder Google Security Operations e syslog per l'importazione dei log F5 BIG-IP LTM

  1. Vai a Impostazioni SIEM > Forwarder.
  2. Fai clic su Aggiungi nuovo inoltro.
  3. Nel campo Nome forwarder, inserisci un nome univoco per il forwarder.
  4. Fai clic su Invia. Il forwarder viene aggiunto e viene visualizzata la finestra Aggiungi configurazione del raccoglitore.
  5. Nel campo Nome del raccoglitore, digita un nome.
  6. Seleziona F5 BIGIP LTM come Tipo di log.
  7. Seleziona Syslog come Tipo di raccoglitore.
  8. Configura i seguenti parametri di input obbligatori:
    • Protocollo: specifica il protocollo.
    • Indirizzo: specifica l'indirizzo IP del forwarder di Google Security Operations.
    • Porta: specifica la porta.
  9. Fai clic su Invia.

Per saperne di più sui forwarder di Google Security Operations, consulta la documentazione sui forwarder di Google Security Operations. Per informazioni sui requisiti per ciascun tipo di forwarder, consulta Configurazione del forwarder per tipo.

Se riscontri problemi durante la creazione degli inoltri, contatta l'assistenza Google Security Operations.

Riferimento alla mappatura dei campi

Questo parser normalizza i log di F5 BIG-IP Local Traffic Manager (LTM), gestendo sia i formati chiave-valore che syslog. Estrae campi come indirizzi IP, nomi utente, azioni e descrizioni, li mappa all'UDM e classifica gli eventi in base ai contenuti dei log e ai campi estratti, tra cui connessioni di rete, accessi/disconnessioni degli utenti ed eventi generici.

Tabella di mappatura UDM

Campo log Mappatura UDM Logic
Access_Profile event.idm.read_only_udm.additional.fields[].key:"Access_Profile", event.idm.read_only_udm.additional.fields[].value.string_value Mappato direttamente dalla chiave Access_Profile nelle coppie chiave-valore analizzate.
Client_IP event.idm.read_only_udm.principal.ip[], event.idm.read_only_udm.principal.asset.ip[] Mappato direttamente dalla chiave Client_IP nelle coppie chiave-valore analizzate. Utilizzato anche per compilare l'IP dell'asset principale. Imposta has_principal su true.
Country event.idm.read_only_udm.principal.location.country_or_region Mappato direttamente dalla chiave Country nelle coppie chiave-valore analizzate.
Listener event.idm.read_only_udm.additional.fields[].key:"Listener", event.idm.read_only_udm.additional.fields[].value.string_value Mappato direttamente dalla chiave Listener nelle coppie chiave-valore analizzate.
Session_ID event.idm.read_only_udm.network.session_id Mappato direttamente dalla chiave Session_ID nelle coppie chiave-valore analizzate.
State event.idm.read_only_udm.principal.location.state Mappato direttamente dalla chiave State nelle coppie chiave-valore analizzate.
Virtual_IP event.idm.read_only_udm.target.ip[], event.idm.read_only_udm.target.asset.ip[] Mappato direttamente dalla chiave Virtual_IP nelle coppie chiave-valore analizzate. Utilizzato anche per compilare l'IP dell'asset di destinazione. Imposta has_target su true.
about event.idm.read_only_udm.about Compilato da vari campi come snat, vs_name, path, query, node, pool_member, vs, client, blade e device se sono presenti nel log non elaborato e analizzati correttamente.
action_data event.idm.read_only_udm.target.process.command_line Mappato direttamente per i log di elaborazione di scriptd.
attack_type event.idm.read_only_udm.security_result.category_details[] Mappato direttamente.
blade event.idm.read_only_udm.about.resource.attribute.labels[].key:"blade", event.idm.read_only_udm.about.resource.attribute.labels[].value Mappato direttamente dalla chiave blade nelle coppie chiave-valore analizzate.
bytes_in event.idm.read_only_udm.network.received_bytes Mappato direttamente, convertito in numero intero senza segno.
bytes_out event.idm.read_only_udm.network.sent_bytes Mappato direttamente, convertito in numero intero senza segno.
captcha_result event.idm.read_only_udm.additional.fields[].key:"captcha_result", event.idm.read_only_udm.additional.fields[].value.string_value Mappato direttamente.
client event.idm.read_only_udm.about.resource.attribute.labels[].key:"client", event.idm.read_only_udm.about.resource.attribute.labels[].value Mappato direttamente dalla chiave client nelle coppie chiave-valore analizzate.
client_ip event.idm.read_only_udm.principal.ip[], event.idm.read_only_udm.principal.asset.ip[] Mappato direttamente. Utilizzato anche per compilare l'IP dell'asset principale. Imposta has_principal su true.
client_port event.idm.read_only_udm.principal.port Mappato direttamente, convertito in numero intero.
collection_time event.timestamp Il timestamp della voce di log viene utilizzato come timestamp dell'evento.
command_line event.idm.read_only_udm.target.process.command_line Mappati direttamente per i log di processo CROND e alcuni log logger.
data message Il messaggio di log non elaborato. Queste informazioni vengono analizzate e utilizzate per compilare vari campi UDM.
dgl_count event.idm.read_only_udm.principal.resource.attribute.labels[].key:"DataGroup_Value", event.idm.read_only_udm.principal.resource.attribute.labels[].value Mappato direttamente.
dgl_value event.idm.read_only_udm.principal.resource.attribute.labels[].key:"DataGroup_List", event.idm.read_only_udm.principal.resource.attribute.labels[].value Mappato direttamente.
description event.idm.read_only_udm.metadata.description, event.idm.read_only_udm.security_result.description Mappato direttamente per alcuni tipi di log o utilizzato come parte della descrizione del risultato di sicurezza.
device event.idm.read_only_udm.principal.hostname, event.idm.read_only_udm.principal.asset.hostname, event.idm.read_only_udm.about.resource.attribute.labels[].key:"device", event.idm.read_only_udm.about.resource.attribute.labels[].value Mappato direttamente. Utilizzato anche per compilare il nome host dell'asset principale. Imposta has_principal su true.
dest_ip event.idm.read_only_udm.target.ip, event.idm.read_only_udm.target.asset.ip Mappato direttamente. Utilizzato anche per compilare l'IP dell'asset di destinazione. Imposta has_principal su true.
dest_port event.idm.read_only_udm.target.port Mappato direttamente.
dvc event.idm.read_only_udm.principal.hostname, event.idm.read_only_udm.principal.asset.hostname, event.idm.read_only_udm.intermediary.hostname Analizzato per estrarre il nome host o l'IP. Utilizzato per compilare il nome host principale o intermedio.
errdefs_msgno event.idm.read_only_udm.additional.fields[].key:"errdefs_msgno", event.idm.read_only_udm.additional.fields[].value.string_value Mappato direttamente dalla chiave errdefs_msgno nelle coppie chiave-valore analizzate.
error_reason event.idm.read_only_udm.principal.resource.attribute.labels[].key:"error_reason", event.idm.read_only_udm.principal.resource.attribute.labels[].value Mappato direttamente.
false_positive event.idm.read_only_udm.additional.fields[].key:"false_positive", event.idm.read_only_udm.additional.fields[].value.string_value Mappato direttamente.
function_id event.idm.read_only_udm.principal.resource.attribute.labels[].key:"function_id", event.idm.read_only_udm.principal.resource.attribute.labels[].value Mappato direttamente.
geoContinent event.idm.read_only_udm.principal.location.continent Non mappato nell'esempio fornito, ma verrebbe mappato al continente se disponibile.
geoCountry event.idm.read_only_udm.principal.location.country_or_region Mappato direttamente.
geoState event.idm.read_only_udm.principal.location.state Mappato direttamente.
header.Referer event.idm.read_only_udm.network.http.referral_url Mappato direttamente.
header.User-Agent event.idm.read_only_udm.network.http.user_agent, event.idm.read_only_udm.network.http.parsed_user_agent Mappato direttamente. Convertito anche in user agent analizzato.
header.X-Forwarded-For event.idm.read_only_udm.principal.ip[], event.idm.read_only_udm.principal.asset.ip[] Analizzato per estrarre gli IP e unirli all'IP principale e all'IP dell'asset principale.
host event.idm.read_only_udm.target.hostname, event.idm.read_only_udm.target.asset.hostname Mappato direttamente. Utilizzato anche per compilare il nome host dell'asset di destinazione. Imposta has_target su true.
http_host event.idm.read_only_udm.target.hostname, event.idm.read_only_udm.target.asset.hostname Mappato direttamente. Utilizzato anche per compilare il nome host dell'asset di destinazione. Imposta has_target su true.
http_method event.idm.read_only_udm.network.http.method Mappato direttamente. Imposta event_type su NETWORK_HTTP se presente.
ip_client event.idm.read_only_udm.principal.ip[], event.idm.read_only_udm.principal.asset.ip[] Mappato direttamente. Utilizzato anche per compilare l'IP dell'asset principale. Imposta has_principal su true.
kv_msg Vari campi Analizzati come coppie chiave-valore e utilizzati per compilare vari campi UDM.
Level event.idm.read_only_udm.security_result.severity Mappato alla gravità se il campo severity non è presente. Convertiti in valori di gravità UDM (ad es. "Info" -> "INFORMATIONAL").
Listener event.idm.read_only_udm.additional.fields[].key:"Listener", event.idm.read_only_udm.additional.fields[].value.string_value Mappato direttamente.
log_message event.idm.read_only_udm.principal.resource.attribute.labels[].value, event.idm.read_only_udm.security_result.description Ulteriormente analizzato per estrarre request_uri o description.
log_type event.idm.read_only_udm.metadata.log_type Mappato direttamente dal campo log_type del log non elaborato.
loglevel event.idm.read_only_udm.security_result.severity Mappato alla gravità. Convertiti in valori di gravità UDM (ad es. "warning" -> "MEDIUM", "err" -> "HIGH"). Utilizzato anche per la logica di avvisi/eventi significativi.
manage_ip_addr event.idm.read_only_udm.principal.ip[], event.idm.read_only_udm.principal.asset.ip[] Mappato direttamente. Utilizzato anche per compilare l'IP dell'asset principale. Imposta has_principal su true.
method event.idm.read_only_udm.network.http.method Mappato direttamente. Imposta event_type su NETWORK_HTTP.
method_req event.idm.read_only_udm.network.http.method Mappato direttamente.
msg1 event.idm.read_only_udm.security_result.description Utilizzato come descrizione del risultato di sicurezza se non viene analizzato ulteriormente.
node event.idm.read_only_udm.about.resource.attribute.labels[].key:"node", event.idm.read_only_udm.about.resource.attribute.labels[].value Mappato direttamente dalla chiave node nelle coppie chiave-valore analizzate.
partition_name event.idm.read_only_udm.additional.fields[].key:"partition_name", event.idm.read_only_udm.additional.fields[].value.string_value Mappato direttamente.
path event.idm.read_only_udm.target.url, event.idm.read_only_udm.about.resource.attribute.labels[].key:"path", event.idm.read_only_udm.about.resource.attribute.labels[].value Mappato direttamente.
policy_name event.idm.read_only_udm.security_result.detection_fields[].key:"policy_name", event.idm.read_only_udm.security_result.detection_fields[].value Mappato direttamente.
pool_member event.idm.read_only_udm.about.resource.attribute.labels[].key:"pool_member", event.idm.read_only_udm.about.resource.attribute.labels[].value Mappato direttamente dalla chiave pool_member nelle coppie chiave-valore analizzate.
principalHost event.idm.read_only_udm.principal.hostname, event.idm.read_only_udm.principal.asset.hostname Mappato direttamente. Utilizzato anche per compilare il nome host dell'asset principale. Imposta has_principal su true.
principalIp event.idm.read_only_udm.principal.ip[], event.idm.read_only_udm.principal.asset.ip[], event.idm.read_only_udm.observer.ip Mappato direttamente. Utilizzato anche per compilare l'IP dell'asset principale e l'IP dell'osservatore. Imposta has_principal su true.
principalPort event.idm.read_only_udm.principal.port Mappato direttamente, convertito in numero intero.
process event.idm.read_only_udm.target.application Mappato direttamente.
product_event_type event.idm.read_only_udm.metadata.product_event_type Mappato direttamente.
proto event.idm.read_only_udm.network.ip_protocol Mappato al protocollo IP dopo la conversione del numero di protocollo in nome del protocollo utilizzando una ricerca.
query event.idm.read_only_udm.about.resource.attribute.labels[].key:"query", event.idm.read_only_udm.about.resource.attribute.labels[].value Mappato direttamente dalla chiave query nelle coppie chiave-valore analizzate.
query_string event.idm.read_only_udm.additional.fields[].key:"query_string", event.idm.read_only_udm.additional.fields[].value.string_value Mappato direttamente.
reason event.idm.read_only_udm.security_result.description Mappato direttamente per i log di elaborazione apmd con livello di log di avviso o errore.
reason_code event.idm.read_only_udm.principal.resource.attribute.labels[].key:"reason_code", event.idm.read_only_udm.principal.resource.attribute.labels[].value Mappato direttamente.
req_status event.idm.read_only_udm.security_result.detection_fields[].key:"req_status", event.idm.read_only_udm.security_result.detection_fields[].value Mappato direttamente.
request event.idm.read_only_udm.principal.resource.attribute.labels[].key:"request_type", event.idm.read_only_udm.principal.resource.attribute.labels[].value, event.idm.read_only_udm.network.application_protocol Utilizzato per determinare il protocollo dell'applicazione (HTTP) e mappato come etichetta.
request_status event.idm.read_only_udm.additional.fields[].key:"request_status", event.idm.read_only_udm.additional.fields[].value.string_value Mappato direttamente.
request_uri event.idm.read_only_udm.target.url Mappato direttamente.
resp_code event.idm.read_only_udm.network.http.response_code Mappato direttamente, convertito in numero intero.
response_code event.idm.read_only_udm.network.http.response_code Mappato direttamente, convertito in numero intero.
rule_name event.idm.read_only_udm.security_result.rule_name Mappato direttamente.
sec_action event.idm.read_only_udm.security_result.action[] Mappato all'azione. "Continua" viene convertito in "CONSENTI". Gli altri valori vengono convertiti in "BLOCK".
security_result event.idm.read_only_udm.security_result Unito all'oggetto security_result.
session_id event.idm.read_only_udm.network.session_id Mappato direttamente.
severity event.idm.read_only_udm.security_result.severity Mappato alla gravità. Convertiti in valori di gravità UDM (ad es. "Error" -> "ERROR", "Informational" -> "INFORMATIONAL").
sig_ids event.idm.read_only_udm.additional.fields[].key:"sig_ids", event.idm.read_only_udm.additional.fields[].value.string_value Mappato direttamente.
sig_names event.idm.read_only_udm.additional.fields[].key:"sig_names", event.idm.read_only_udm.additional.fields[].value.string_value Mappato direttamente.
sni_host event.idm.read_only_udm.network.tls.client.server_name Mappato direttamente.
snat event.idm.read_only_udm.about.resource.attribute.labels[].key:"snat", event.idm.read_only_udm.about.resource.attribute.labels[].value Mappato direttamente dalla chiave snat nelle coppie chiave-valore analizzate.
snat_ip event.idm.read_only_udm.principal.nat_ip[] Mappato direttamente.
snat_port event.idm.read_only_udm.principal.nat_port Mappato direttamente, convertito in numero intero.
src_ip event.idm.read_only_udm.principal.ip[], event.idm.read_only_udm.principal.asset.ip[] Mappato direttamente. Utilizzato anche per compilare l'IP dell'asset principale.
src_port event.idm.read_only_udm.principal.port Mappato direttamente.
ssl_cipher event.idm.read_only_udm.network.tls.cipher Mappato direttamente.
ssl_function event.idm.read_only_udm.principal.resource.attribute.labels[].key:"ssl_function", event.idm.read_only_udm.principal.resource.attribute.labels[].value Mappato direttamente.
ssl_version event.idm.read_only_udm.network.tls.version_protocol Mappato direttamente.
staged_sig_ids event.idm.read_only_udm.additional.fields[].key:"staged_sig_ids", event.idm.read_only_udm.additional.fields[].value.string_value Mappato direttamente.
staged_sig_names event.idm.read_only_udm.additional.fields[].key:"staged_sig_names", event.idm.read_only_udm.additional.fields[].value.string_value Mappato direttamente.
staged_sig_set_names event.idm.read_only_udm.additional.fields[].key:"staged_sig_set_names", event.idm.read_only_udm.additional.fields[].value.string_value Mappato direttamente.
staged_threat_campaign_names event.idm.read_only_udm.additional.fields[].key:"staged_threat_campaign_names", event.idm.read_only_udm.additional.fields[].value.string_value Mappato direttamente.
status event.idm.read_only_udm.security_result.summary Mappato direttamente per i log di elaborazione di scriptd.
summary event.idm.read_only_udm.security_result.summary Mappato direttamente per alcuni tipi di log.
support_id event.idm.read_only_udm.additional.fields[].key:"Support_Id", event.idm.read_only_udm.additional.fields[].value.string_value Mappato direttamente.
systems event.idm.read_only_udm.principal.asset.attribute.labels[].key, event.idm.read_only_udm.principal.asset.attribute.labels[].value Analizzati per estrarre le informazioni di sistema e mapparle come etichette della risorsa principale.
targetFile event.idm.read_only_udm.target.file.full_path Mappato direttamente per i log di elaborazione di scriptd.
targetIp event.idm.read_only_udm.target.ip, event.idm.read_only_udm.target.asset.ip Mappato direttamente. Utilizzato anche per compilare l'IP dell'asset di destinazione. Imposta has_target su true.
targetPort event.idm.read_only_udm.target.port Mappato direttamente, convertito in numero intero.
threat_campaign_names event.idm.read_only_udm.additional.fields[].key:"threat_campaign_names", event.idm.read_only_udm.additional.fields[].value.string_value Mappato direttamente.
timestamp event.timestamp Mappato direttamente dopo l'analisi e il rebase.
tls_version event.idm.read_only_udm.network.tls.version Mappato direttamente.
tlsproto event.idm.read_only_udm.network.tls.version_protocol Mappato direttamente. Se il valore è HTTP/1.1, viene mappato "HTTP".
unit_host event.idm.read_only_udm.principal.hostname, event.idm.read_only_udm.principal.asset.hostname Mappato direttamente. Utilizzato anche per compilare il nome host dell'asset principale. Imposta has_principal su true.
uri event.idm.read_only_udm.target.url Mappato direttamente.
uri_path event.idm.read_only_udm.target.url Mappato direttamente, concatenato con uri_query se presente.
url event.idm.read_only_udm.principal.url Mappato direttamente.
url_string event.idm.read_only_udm.network.http.referral_url Mappato direttamente.
user_agent event.idm.read_only_udm.network.http.user_agent Mappato direttamente.
userId event.idm.read_only_udm.principal.user.userid, event.idm.read_only_udm.target.user.userid Mappato direttamente. Utilizzato anche per compilare l'ID utente di destinazione. Imposta has_principal_user su true.
vendor_name event.idm.read_only_udm.metadata.vendor_name Codificato su "F5".
violations event.idm.read_only_udm.security_result.detection_fields[].key:"violations", event.idm.read_only_udm.security_result.detection_fields[].value Mappato direttamente.
vs event.idm.read_only_udm.about.resource.attribute.labels[].key:"vs", event.idm.read_only_udm.about.resource.attribute.labels[].value Mappato direttamente dalla chiave vs nelle coppie chiave-valore analizzate.
vs_name event.idm.read_only_udm.about.resource.attribute.labels[].key:"vs_name", event.idm.read_only_udm.about.resource.attribute.labels[].value Mappato direttamente dalla chiave vs_name nelle coppie chiave-valore analizzate.
N/D event.idm.read_only_udm.metadata.event_type Determinato dalla logica del parser in base alla presenza di determinati campi. Il valore predefinito è GENERIC_EVENT. Può essere NETWORK_CONNECTION, USER_LOGIN, USER_LOGOUT, USER_UNCATEGORIZED, STATUS_UPDATE o NETWORK_HTTP.
N/D event.idm.read_only_udm.metadata.product_name Codificato in modo permanente su "BIG-IP Local Traffic Manager (LTM)".
N/D event.idm.read_only_udm.metadata.vendor_name Codificato su "F5".
N/D event.idm.read_only_udm.metadata.event_timestamp Copiato dal livello superiore event.timestamp.
N/D event.idm.read_only_udm.security_result.severity Determinato dalla logica del parser in base ai campi severity o Level, se presenti. Il valore predefinito è UNKNOWN_SEVERITY. Può essere INFORMATIONAL, LOW, MEDIUM, HIGH o CRITICAL.
N/D event.idm.read_only_udm.security_result.summary Imposta "Errore di autenticazione" per log apmd specifici.
N/D event.idm.read_only_udm.extensions.auth.type Imposta "VPN" per log apmd e sshd specifici. In caso contrario, imposta AUTHTYPE_UNSPECIFIED per gli eventi USER_LOGIN e USER_LOGOUT.
N/D event.idm.read_only_udm.network.ip_protocol Se proto non è presente, il valore predefinito è "TCP". In caso contrario, viene determinato dal campo proto.

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